@tradecanvas/chart 1.38.0 → 1.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/README.md +1 -1
  2. package/dist/Chart.d.ts +9 -0
  3. package/dist/Chart.d.ts.map +1 -1
  4. package/dist/{LayoutSession-CQuy66RZ.cjs → LayoutSession-BHZffgum.cjs} +2 -2
  5. package/dist/LayoutSession-BHZffgum.cjs.map +1 -0
  6. package/dist/{LayoutSession-DFL2W819.js → LayoutSession-BSdsPzJC.js} +13 -2
  7. package/dist/LayoutSession-BSdsPzJC.js.map +1 -0
  8. package/dist/i18n-CCRq5sa5.cjs +2 -0
  9. package/dist/i18n-CCRq5sa5.cjs.map +1 -0
  10. package/dist/{i18n-EHdUj7jZ.js → i18n-CDm0u-1X.js} +47 -9
  11. package/dist/i18n-CDm0u-1X.js.map +1 -0
  12. package/dist/index.cjs +1 -1
  13. package/dist/index.js +1 -1
  14. package/dist/widget/ChartWidget.d.ts +58 -6
  15. package/dist/widget/ChartWidget.d.ts.map +1 -1
  16. package/dist/widget/ChartWidgetGrid.d.ts.map +1 -1
  17. package/dist/widget/WidgetAlertsPanel.d.ts +4 -0
  18. package/dist/widget/WidgetAlertsPanel.d.ts.map +1 -1
  19. package/dist/widget/WidgetDataWindow.d.ts +4 -0
  20. package/dist/widget/WidgetDataWindow.d.ts.map +1 -1
  21. package/dist/widget/WidgetDock.d.ts +113 -0
  22. package/dist/widget/WidgetDock.d.ts.map +1 -0
  23. package/dist/widget/WidgetGoToDate.d.ts +72 -20
  24. package/dist/widget/WidgetGoToDate.d.ts.map +1 -1
  25. package/dist/widget/WidgetHotkeySheet.d.ts.map +1 -1
  26. package/dist/widget/WidgetObjectTree.d.ts +4 -0
  27. package/dist/widget/WidgetObjectTree.d.ts.map +1 -1
  28. package/dist/widget/WidgetStyles.d.ts.map +1 -1
  29. package/dist/widget/WidgetSymbolInfo.d.ts +4 -0
  30. package/dist/widget/WidgetSymbolInfo.d.ts.map +1 -1
  31. package/dist/widget/WidgetSymbolSearch.d.ts +104 -20
  32. package/dist/widget/WidgetSymbolSearch.d.ts.map +1 -1
  33. package/dist/widget/WidgetToolbar.d.ts +2 -0
  34. package/dist/widget/WidgetToolbar.d.ts.map +1 -1
  35. package/dist/widget/WidgetWatchlist.d.ts +8 -0
  36. package/dist/widget/WidgetWatchlist.d.ts.map +1 -1
  37. package/dist/widget/calendarPopup.d.ts +2 -28
  38. package/dist/widget/calendarPopup.d.ts.map +1 -1
  39. package/dist/widget/formControls.d.ts +1 -1
  40. package/dist/widget/formControls.d.ts.map +1 -1
  41. package/dist/widget/index.cjs +708 -126
  42. package/dist/widget/index.cjs.map +1 -1
  43. package/dist/widget/index.d.ts +1 -1
  44. package/dist/widget/index.d.ts.map +1 -1
  45. package/dist/widget/index.js +2379 -1637
  46. package/dist/widget/index.js.map +1 -1
  47. package/dist/widget/keyTarget.d.ts +2 -2
  48. package/dist/widget/keyTarget.d.ts.map +1 -1
  49. package/dist/widget/locales/ar.d.ts.map +1 -1
  50. package/dist/widget/locales/cs.d.ts.map +1 -1
  51. package/dist/widget/locales/da.d.ts.map +1 -1
  52. package/dist/widget/locales/de.d.ts.map +1 -1
  53. package/dist/widget/locales/el.d.ts.map +1 -1
  54. package/dist/widget/locales/en.d.ts +23 -4
  55. package/dist/widget/locales/en.d.ts.map +1 -1
  56. package/dist/widget/locales/es.d.ts.map +1 -1
  57. package/dist/widget/locales/et.d.ts.map +1 -1
  58. package/dist/widget/locales/fa.d.ts.map +1 -1
  59. package/dist/widget/locales/fr.d.ts.map +1 -1
  60. package/dist/widget/locales/he.d.ts.map +1 -1
  61. package/dist/widget/locales/hu.d.ts.map +1 -1
  62. package/dist/widget/locales/id.d.ts.map +1 -1
  63. package/dist/widget/locales/index.cjs +1 -1
  64. package/dist/widget/locales/index.cjs.map +1 -1
  65. package/dist/widget/locales/index.js +645 -113
  66. package/dist/widget/locales/index.js.map +1 -1
  67. package/dist/widget/locales/it.d.ts.map +1 -1
  68. package/dist/widget/locales/ja.d.ts.map +1 -1
  69. package/dist/widget/locales/ko.d.ts.map +1 -1
  70. package/dist/widget/locales/ms.d.ts.map +1 -1
  71. package/dist/widget/locales/nb.d.ts.map +1 -1
  72. package/dist/widget/locales/nl.d.ts.map +1 -1
  73. package/dist/widget/locales/pl.d.ts.map +1 -1
  74. package/dist/widget/locales/pt.d.ts.map +1 -1
  75. package/dist/widget/locales/ro.d.ts.map +1 -1
  76. package/dist/widget/locales/ru.d.ts.map +1 -1
  77. package/dist/widget/locales/sk.d.ts.map +1 -1
  78. package/dist/widget/locales/sv.d.ts.map +1 -1
  79. package/dist/widget/locales/th.d.ts.map +1 -1
  80. package/dist/widget/locales/tr.d.ts.map +1 -1
  81. package/dist/widget/locales/vi.d.ts.map +1 -1
  82. package/dist/widget/locales/zh.d.ts.map +1 -1
  83. package/dist/widget/locales/zhHant.d.ts.map +1 -1
  84. package/dist/widget/monthView.d.ts +56 -0
  85. package/dist/widget/monthView.d.ts.map +1 -0
  86. package/dist/widget/types.d.ts +2 -0
  87. package/dist/widget/types.d.ts.map +1 -1
  88. package/dist/widget/widgetCompare.d.ts +34 -0
  89. package/dist/widget/widgetCompare.d.ts.map +1 -0
  90. package/dist/widget/widgetFeatures.d.ts +1 -1
  91. package/dist/widget/widgetFeatures.d.ts.map +1 -1
  92. package/package.json +3 -3
  93. package/dist/LayoutSession-CQuy66RZ.cjs.map +0 -1
  94. package/dist/LayoutSession-DFL2W819.js.map +0 -1
  95. package/dist/i18n-3mW6rmUi.cjs +0 -2
  96. package/dist/i18n-3mW6rmUi.cjs.map +0 -1
  97. package/dist/i18n-EHdUj7jZ.js.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./LayoutSession-CQuy66RZ.cjs`);let t=require(`@tradecanvas/commons`),n=require(`@tradecanvas/core`);function r(e){let{id:t,params:n={},position:r=null}=typeof e==`string`?{id:e}:e;return JSON.stringify([t,Object.keys(n).sort().map(e=>[e,n[e]]),r])}function i(e,t,n){let i=new Map,a=t.map(e=>{let t=r(e),n=i.get(t)??0;return i.set(t,n+1),{spec:e,key:`${t}#${n}`}}),o=new Set(a.map(e=>e.key));for(let[t,r]of[...n])o.has(t)||(e.removeIndicator(r),n.delete(t));for(let{spec:t,key:r}of a){if(n.has(r))continue;let i=typeof t==`string`?e.addIndicator(t):t.position===void 0?e.addIndicator(t.id,t.params??{}):e.addIndicator(t.id,t.params??{},t.position);i&&n.set(r,i)}}function a(e){let{viewport:t,data:r}=e,i=(0,n.priceToYMapper)(t),a=r.length-1,o=Math.max(0,Math.floor(t.visibleRange.from)),s=Math.min(a,Math.ceil(t.visibleRange.to)),c=e=>r.length>0?(0,n.timestampToBarIndex)(e,r):e;return{timeToX:e=>(0,n.barIndexToX)(c(e),t),xToTime:e=>{let i=(0,n.xToBarIndex)(e,t);return r.length>0?(0,n.barIndexToTime)(i,r):i},indexToX:e=>(0,n.barIndexToX)(e,t),xToIndex:e=>(0,n.xToBarIndex)(e,t),priceToY:i,yToPrice:e=>(0,n.yToPrice)(e,t),barWidth:t.barWidth,visible:s<o?{from:0,to:-1}:{from:o,to:s}}}var o={"1x1":{cols:1,rows:1},"1x2":{cols:2,rows:1},"2x1":{cols:1,rows:2},"2x2":{cols:2,rows:2},"1x3":{cols:3,rows:1},"3x1":{cols:1,rows:3},"2x3":{cols:3,rows:2},"3x2":{cols:2,rows:3}},s=class{root;cells=[];layout;options;destroyed=!1;syncing=!1;constructor(e,t={}){this.options=t,this.layout=t.layout??`2x2`,this.root=document.createElement(`div`),this.root.style.cssText=`display:grid;width:100%;height:100%;overflow:hidden;`,e.appendChild(this.root),this.applyLayout(),this.createCells()}applyLayout(){let{cols:e,rows:t}=o[this.layout],n=this.options.gap??1;this.root.style.gridTemplateColumns=`repeat(${e}, 1fr)`,this.root.style.gridTemplateRows=`repeat(${t}, 1fr)`,this.root.style.gap=`${n}px`}createCells(){let{cols:e,rows:t}=o[this.layout],n=e*t;for(let e=0;e<n;e++)this.cells.push(this.createCell(e))}createCell(t){let n=this.options.cells?.[t]??{},r=document.createElement(`div`);r.style.cssText=`position:relative;overflow:hidden;min-width:0;min-height:0;`,this.root.appendChild(r);let i=new e.c(r,{chartType:`candlestick`,autoScale:!0,features:{crosshair:!0,keyboard:!0,volume:!0,legend:!0,priceAxis:!0,timeAxis:!0,grid:!0},...this.options.chartOptions,...n.chartOptions,theme:this.options.theme}),a={container:r,chart:i,symbol:n.symbol??`Chart ${t+1}`,timeframe:n.timeframe??`5m`};return this.options.syncCrosshair!==!1&&(i.on(`crosshairMove`,e=>{let t=e.payload.bar?.time;if(t!==void 0)for(let e of this.cells)e.chart!==i&&e.chart.setCrosshairTime(t)}),i.on(`crosshairLeave`,()=>{for(let e of this.cells)e.chart!==i&&e.chart.setCrosshairTime(null)})),this.options.syncTimeAxis!==!1&&i.on(`visibleRangeChange`,e=>{if(this.syncing)return;this.syncing=!0;let{from:t,to:n}=e.payload,r=i.getData();if(r.length>0&&t>=0&&n<r.length){let e=r[t]?.time,a=r[n]?.time;if(e&&a)for(let t of this.cells)t.chart!==i&&t.chart.setVisibleRange(e,a)}this.syncing=!1}),a}setLayout(e){if(e===this.layout)return;let t=this.cells.length,{cols:n,rows:r}=o[e],i=n*r;if(i<t)for(let e=t-1;e>=i;e--){let t=this.cells[e];t.chart.destroy(),t.container.remove(),this.cells.pop()}this.layout=e,this.applyLayout();for(let e=t;e<i;e++)this.cells.push(this.createCell(e))}getChart(e){return this.cells[e]?.chart??null}getCharts(){return this.cells.map(e=>e.chart)}getCellCount(){return this.cells.length}setData(e,t){this.cells[e]?.chart.setData(t)}setAllData(e){for(let t of this.cells)t.chart.setData(e)}async connectCell(e,t){let n=this.cells[e];n&&(n.symbol=t.symbol,n.timeframe=t.timeframe,await n.chart.connect(t))}async connectAll(e,t,n,r=500){let i=[];for(let a=0;a<this.cells.length&&a<t.length;a++)i.push(this.connectCell(a,{adapter:typeof e==`function`?e(t[a],a):e,symbol:t[a],timeframe:n,historyLimit:r}));await Promise.all(i)}setTheme(e){for(let t of this.cells)t.chart.setTheme(e)}destroy(){if(!this.destroyed){this.destroyed=!0;for(let e of this.cells)e.chart.destroy(),e.container.remove();this.cells=[],this.root.remove()}}},c=class extends n.BaseFinanceChart{options;constructor(e,t){super(e,t.theme),this.options=t,this.requestRender()}renderChart(e,t,r,i){(0,n.renderSparkline)(e,t,r,this.options,i)}update(e){this.options={...this.options,data:e},this.requestRender()}setOptions(e){this.options={...this.options,...e},this.requestRender()}},l=class extends n.BaseFinanceChart{options;crosshair=null;constructor(e,t){super(e,t.theme),this.options=t,t.crosshair!==!1&&(this.crosshair=new n.FinanceCrosshair(this.canvas,()=>this.requestRender())),this.requestRender()}renderChart(e,t,r,i){let a=this.crosshair?.getPosition()??null;(0,n.renderDepthChart)(e,t,r,this.options,i,a)}update(e){this.options={...this.options,data:e},this.requestRender()}setOptions(e){this.options={...this.options,...e},this.requestRender()}destroy(){this.crosshair?.destroy(),super.destroy()}},u=class extends n.BaseFinanceChart{options;crosshair=null;constructor(e,t){super(e,t.theme),this.options=t,t.crosshair!==!1&&(this.crosshair=new n.FinanceCrosshair(this.canvas,()=>this.requestRender())),this.requestRender()}renderChart(e,t,r,i){let a=this.crosshair?.getPosition()??null;(0,n.renderEquityCurve)(e,t,r,this.options,i,a)}update(e,t){this.options={...this.options,data:e},t!==void 0&&(this.options={...this.options,benchmark:t}),this.requestRender()}setOptions(e){this.options={...this.options,...e},this.requestRender()}destroy(){this.crosshair?.destroy(),super.destroy()}},d=class extends n.BaseFinanceChart{options;crosshair=null;cachedRects=[];cachedGroups=[];currentData=[];lastLayoutWidth=0;lastLayoutHeight=0;handleClick=null;constructor(e,t){super(e,t.theme),this.options=t,this.currentData=t.data??[],t.crosshair!==!1&&(this.crosshair=new n.FinanceCrosshair(this.canvas,()=>this.requestRender())),t.onCellClick&&(this.handleClick=e=>{let t=this.canvas.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;this.onCanvasClick(n,r)},this.canvas.addEventListener(`click`,this.handleClick)),this.applyLabel(),this.recomputeLayout(),this.requestRender()}applyLabel(){let e=new Set(this.currentData.map(e=>e.group).filter(Boolean)).size,t=this.options.grouped&&e>0?`Market map of ${this.currentData.length} cells in ${e} groups`:`Heatmap of ${this.currentData.length} cells`;this.setLabel(this.options.ariaLabel??t)}recomputeLayout(){let e={x:0,y:0,width:this.width,height:this.height},t=this.options.cellPadding??2;if(this.lastLayoutWidth=this.width,this.lastLayoutHeight=this.height,this.cachedGroups=[],this.options.grouped){let{groups:r,cells:i}=(0,n.layoutGroupedTreemap)(this.currentData.map(e=>({id:e.id,weight:e.weight??(Math.abs(e.value)||1),group:e.group,value:e.value})),e,t,n.GROUP_HEADER);this.cachedRects=i,this.cachedGroups=r}else if(this.options.weighted){let r=this.currentData.map(e=>({id:e.id,weight:e.weight??(Math.abs(e.value)||1)}));this.cachedRects=(0,n.layoutSquarifiedTreemap)(r,e,t)}else this.cachedRects=(0,n.layoutUniformGrid)(this.currentData.map(e=>({id:e.id})),e,t)}onCanvasClick(e,t){if(this.options.onCellClick)for(let n of this.cachedRects){let r=n.rect;if(e>=r.x&&e<=r.x+r.width&&t>=r.y&&t<=r.y+r.height){let e=this.currentData.find(e=>e.id===n.id);e&&this.options.onCellClick(e);return}}}renderChart(e,t,r,i){(t!==this.lastLayoutWidth||r!==this.lastLayoutHeight)&&this.recomputeLayout();let a=this.crosshair?.getPosition()??null;(0,n.renderHeatmap)(e,t,r,this.currentData,this.cachedRects,this.options,i,a,this.cachedGroups)}update(e){this.currentData=e,this.options={...this.options,data:e},this.applyLabel(),this.recomputeLayout(),this.requestRender()}setOptions(e){this.options={...this.options,...e},e.data&&(this.currentData=e.data),this.applyLabel(),this.recomputeLayout(),this.requestRender()}destroy(){this.crosshair?.destroy(),this.handleClick&&this.canvas.removeEventListener(`click`,this.handleClick),super.destroy()}},f=class extends n.BaseFinanceChart{options;crosshair=null;constructor(e,t){super(e,t.theme),this.options=t,t.crosshair!==!1&&(this.crosshair=new n.FinanceCrosshair(this.canvas,()=>this.requestRender())),this.requestRender()}renderChart(e,t,r,i){let a=this.crosshair?.getPosition()??null;(0,n.renderWaterfall)(e,t,r,this.options,i,a)}update(e){this.options={...this.options,data:e},this.requestRender()}setOptions(e){this.options={...this.options,...e},this.requestRender()}destroy(){this.crosshair?.destroy(),super.destroy()}},p=500;function m(e){let t=1-e;return 1-t*t*t}var h=class extends n.BaseFinanceChart{options;currentValue;targetValue;animationStart=null;animationFrom=0;animationFrameId=null;constructor(e,t){super(e,t.theme),this.options=t,this.currentValue=t.value,this.targetValue=t.value,this.requestRender()}renderChart(e,t,r,i){(0,n.renderGauge)(e,t,r,this.options,i,this.currentValue)}setValue(e){if(this.options.animate===!1){this.cancelAnimation(),this.currentValue=e,this.targetValue=e,this.options={...this.options,value:e},this.requestRender();return}this.targetValue=e,this.animationFrom=this.currentValue,this.animationStart=performance.now(),this.options={...this.options,value:e},this.startAnimationLoop()}setOptions(e){let t={...this.options,...e};if(e.value!==void 0&&e.value!==this.targetValue){this.options=t,this.setValue(e.value);return}this.options=t,this.requestRender()}startAnimationLoop(){if(this.animationFrameId!==null)return;let e=()=>{if(this.animationFrameId=null,this.animationStart===null)return;let t=this.options.animationDuration??p,n=performance.now()-this.animationStart,r=Math.min(1,n/Math.max(1,t)),i=m(r);this.currentValue=this.animationFrom+(this.targetValue-this.animationFrom)*i,this.requestRender(),r<1?this.animationFrameId=requestAnimationFrame(e):(this.currentValue=this.targetValue,this.animationStart=null)};this.animationFrameId=requestAnimationFrame(e)}cancelAnimation(){this.animationFrameId!==null&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null),this.animationStart=null}destroy(){this.cancelAnimation(),super.destroy()}},g=class extends n.BaseFinanceChart{options;layout=null;layoutFor=null;crosshair;onClick=e=>{let t=this.canvas.getBoundingClientRect();this.layout&&this.clickAt(this.layout,e.clientX-t.left,e.clientY-t.top)};onMove=e=>{if(!this.layout||!this.clickable())return;let t=this.canvas.getBoundingClientRect();this.canvas.style.cursor=this.hits(this.layout,e.clientX-t.left,e.clientY-t.top)?`pointer`:``};constructor(e,t){super(e,t.theme),this.options=t,this.crosshair=new n.FinanceCrosshair(this.canvas,()=>this.requestRender()),this.canvas.addEventListener(`click`,this.onClick),this.canvas.addEventListener(`pointermove`,this.onMove),this.applyLabel(),this.requestRender()}renderChart(e,t,r,i){let a=this.options.crosshair===!1?null:this.crosshair.getPosition(),o=this.layoutFor;(!this.layout||!o||o.options!==this.options||o.width!==t||o.height!==r||o.theme!==i)&&(this.layout=this.compute(t,r,i,(0,n.canvasMeasure)(e,i)),this.layoutFor={options:this.options,width:t,height:r,theme:i}),this.draw(e,t,r,i,a,this.layout)}setOptions(e){this.options={...this.options,...e},`theme`in e&&this.setTheme(e.theme??`dark`),this.applyLabel(),this.requestRender()}applyLabel(){this.setLabel(this.options.ariaLabel??this.describe())}destroy(){this.crosshair.destroy(),this.canvas.removeEventListener(`click`,this.onClick),this.canvas.removeEventListener(`pointermove`,this.onMove),super.destroy()}},_=class extends g{compute(e,t,r,i){return(0,n.computeBarLayout)(this.options,e,t,r,i)}draw(e,t,r,i,a,o){(0,n.renderBarChart)(e,t,r,this.options,i,a,o)}describe(){return`Bar chart of ${this.options.series.map(e=>e.name).join(`, `)}, ${this.options.categories.length} categories`}clickable(){return this.options.onBarClick!==void 0}hits(e,t,r){return(0,n.hitBar)(e,t,r)!==null}clickAt(e,t,r){let i=(0,n.hitBar)(e,t,r);i&&this.options.onBarClick?.({category:i.category,series:i.series,value:i.value,index:i.index})}update(e,t){this.setOptions({categories:e,series:t})}},v=class extends g{compute(e,t,r,i){return(0,n.computeDonutLayout)(this.options,e,t,r,i)}draw(e,t,r,i,a,o){(0,n.renderDonut)(e,t,r,this.options,i,a,o)}describe(){let e=this.options.data.filter(e=>Number.isFinite(e.value)&&e.value>0).map(e=>e.label).join(`, `);return`${(this.options.innerRadius??.6)>0?`Donut`:`Pie`} chart of ${e}`}clickable(){return this.options.onSliceClick!==void 0}hits(e,t,r){return(0,n.hitSlice)(e,t,r)!==null}clickAt(e,t,r){let i=(0,n.hitSlice)(e,t,r);i&&this.options.onSliceClick?.(i.slice)}update(e){this.setOptions({data:e})}},y=class extends g{compute(e,t,r,i){return(0,n.computeScatterLayout)(this.options,e,t,r,i)}draw(e,t,r,i,a,o){(0,n.renderScatter)(e,t,r,this.options,i,a,o)}describe(){let e=this.options.series.reduce((e,t)=>e+t.points.length,0);return`Scatter chart${this.options.xLabel&&this.options.yLabel?` of ${this.options.yLabel} against ${this.options.xLabel}`:``}, ${e} points`}clickable(){return this.options.onPointClick!==void 0}hits(e,t,r){return(0,n.nearestPoint)(e,t,r)!==null}clickAt(e,t,r){let i=(0,n.nearestPoint)(e,t,r);i&&this.options.onPointClick?.(i.point,i.series)}update(e){this.setOptions({series:e})}},b=class extends g{compute(e,t,r,i){return(0,n.computeHistogramLayout)(this.options,e,t,r,i)}draw(e,t,r,i,a,o){(0,n.renderHistogram)(e,t,r,this.options,i,a,o)}describe(){return`Histogram of ${this.options.values.length} values`}clickable(){return!1}hits(){return!1}clickAt(){}update(e){this.setOptions({values:e})}},x=class extends g{compute(e,t,r,i){return(0,n.computeCalendarLayout)(this.options,e,t,r,i)}draw(e,t,r,i,a,o){(0,n.renderCalendar)(e,t,r,this.options,i,a,o)}describe(){let e=this.options.data.map(e=>e.date).filter(e=>/^\d{4}-\d{2}-\d{2}$/.test(e)).sort(),t=this.options.from??e[0],n=this.options.to??e[e.length-1];return t&&n?`Calendar of daily values from ${t} to ${n}`:`Calendar of daily values`}clickable(){return this.options.onDayClick!==void 0}hits(e,t,r){return(0,n.hitDay)(e,t,r)?.day!==void 0}clickAt(e,t,r){let i=(0,n.hitDay)(e,t,r)?.day;i&&this.options.onDayClick?.(i)}update(e){this.setOptions({data:e})}},S=12,C=class extends g{compute(e,t,r,i){return(0,n.computeMatrixLayout)(this.options,e,t,r,i)}draw(e,t,r,i,a,o){(0,n.renderMatrix)(e,t,r,this.options,i,a,o)}describe(){let{rows:e,columns:t}=this.options;return t?e.length+t.length<=S?`Matrix of ${e.join(`, `)} by ${t.join(`, `)}`:`Matrix of ${e.length} rows by ${t.length} columns`:e.length<=S?`Matrix of ${e.join(`, `)}`:`Matrix of ${e.length} rows`}clickable(){return this.options.onCellClick!==void 0}hits(e,t,r){return(0,n.hitMatrixCell)(e,t,r)!==null}clickAt(e,t,r){let i=(0,n.hitMatrixCell)(e,t,r);i&&this.options.onCellClick?.(i.cell)}update(e){this.setOptions({values:e})}},w=class extends g{compute(e,t,r,i){return(0,n.computeCounterClockLayout)(this.options,e,t,r,i)}draw(e,t,r,i,a,o){(0,n.renderCounterClock)(e,t,r,this.options,i,a,o)}describe(){return`Counter-clock chart of price against volume, ${this.options.period??25}-bar averages`}clickable(){return this.options.onPointClick!==void 0}hits(e,t,r){return(0,n.nearestCounterClockPoint)(e,t,r)!==null}clickAt(e,t,r){let i=(0,n.nearestCounterClockPoint)(e,t,r);i&&this.options.onPointClick?.(i.point)}getPhase(){return(0,n.counterClockPhase)((0,n.counterClockPoints)(this.options.data,this.options.period??25,(0,n.shownCount)(this.options)))}update(e){this.setOptions({data:e})}},T=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function E(e){return e.map(e=>({time:e.time,value:e.equity}))}function D(e){let t=-1/0;return e.map(e=>{e.equity>t&&(t=e.equity);let n=t>0?(e.equity/t-1)*100:0;return{time:e.time,value:n}})}function O(e){if(e.length===0)return[];let n=[];for(let r of e){let e=(0,t.timeframeBucketStart)(r.time,`1M`),i=n[n.length-1];i&&i.key===e?i.close=r.equity:n.push({key:e,close:r.equity})}let r=e[0].equity,i=[];for(let e of n){let t=r===0?1:r,n=(e.close/t-1)*100;r=e.close;let a=new Date(e.key),o=a.getUTCFullYear(),s=a.getUTCMonth();i.push({id:`${o}-${String(s+1).padStart(2,`0`)}`,label:T[s],group:String(o),value:n})}return i}function k(e){return`${e>0?`+`:``}${e.toFixed(2)}%`}function A(e){return e>0?`positive`:e<0?`negative`:`neutral`}function j(e){return[{label:`Total Return`,value:k(e.totalReturnPct),tone:A(e.totalReturnPct)},{label:`CAGR`,value:k(e.cagr*100),tone:A(e.cagr)},{label:`Sharpe`,value:e.sharpe.toFixed(2),tone:A(e.sharpe)},{label:`Sortino`,value:e.sortino.toFixed(2),tone:A(e.sortino)},{label:`Max Drawdown`,value:k(e.maxDrawdownPct),tone:`negative`},{label:`Win Rate`,value:`${(e.winRate*100).toFixed(1)}%`,tone:`neutral`},{label:`Profit Factor`,value:Number.isFinite(e.profitFactor)?e.profitFactor.toFixed(2):`∞`,tone:A(e.profitFactor-1)},{label:`Trades`,value:String(e.trades),tone:`neutral`}]}function M(e){return!e||e===`dark`?t.DARK_THEME:e===`light`?t.LIGHT_THEME:e}var N=class{options;theme;root;equityChart=null;drawdownChart=null;heatmap=null;constructor(e,t){this.options=t,this.theme=M(t.theme),this.root=document.createElement(`div`),this.build(),e.appendChild(this.root)}build(){let e=this.theme,{result:t,title:n,subtitle:r}=this.options,i=this.panelBackground(),a=e.grid;if(this.root.style.cssText=[`display:flex`,`flex-direction:column`,`gap:14px`,`width:100%`,`box-sizing:border-box`,`padding:16px`,`background:${e.background}`,`color:${e.text}`,`font-family:${e.font.family}`].join(`;`),n||r){let t=document.createElement(`div`);if(n){let r=document.createElement(`div`);r.textContent=n,r.style.cssText=`font-size:${e.font.sizeLarge}px;font-weight:600;letter-spacing:-0.01em;`,t.appendChild(r)}if(r){let n=document.createElement(`div`);n.textContent=r,n.style.cssText=`font-size:${e.font.sizeSmall}px;color:${e.textSecondary};margin-top:2px;`,t.appendChild(n)}this.root.appendChild(t)}this.root.appendChild(this.buildStatsStrip(j(t.metrics),i,a));let o=document.createElement(`div`);o.style.cssText=[`display:grid`,`grid-template-columns:repeat(auto-fit, minmax(280px, 1fr))`,`grid-auto-rows:220px`,`gap:14px`].join(`;`),this.root.appendChild(o);let s=this.buildPanel(`Equity Curve`,i,a);s.wrap.style.gridColumn=`1 / -1`,o.appendChild(s.wrap),this.equityChart=new u(s.body,{data:E(t.equityCurve),theme:e,lineColor:e.candleUp,fillArea:!0,crosshair:!0});let c=this.buildPanel(`Drawdown`,i,a);o.appendChild(c.wrap),this.drawdownChart=new u(c.body,{data:D(t.equityCurve),theme:e,lineColor:e.candleDown,fillArea:!0,crosshair:!0,valueFormat:e=>`${e.toFixed(1)}%`});let l=O(t.equityCurve),f=this.buildPanel(`Monthly Returns`,i,a);o.appendChild(f.wrap),this.heatmap=new d(f.body,{data:l,theme:e,showValues:!0,valueFormat:e=>`${e>=0?`+`:``}${e.toFixed(1)}`,colorScale:{negative:e.candleDown,zero:i,positive:e.candleUp}})}buildStatsStrip(e,t,n){let r=document.createElement(`div`);r.style.cssText=[`display:grid`,`grid-template-columns:repeat(auto-fit, minmax(120px, 1fr))`,`gap:10px`].join(`;`);let i=this.theme;for(let a of e){let e=document.createElement(`div`);e.style.cssText=[`background:${t}`,`border:1px solid ${n}`,`border-radius:10px`,`padding:10px 12px`,`display:flex`,`flex-direction:column`,`gap:4px`].join(`;`);let o=document.createElement(`div`);o.textContent=a.label,o.style.cssText=`font-size:${i.font.sizeSmall}px;color:${i.textSecondary};text-transform:uppercase;letter-spacing:0.04em;`;let s=document.createElement(`div`);s.textContent=a.value;let c=a.tone===`positive`?i.candleUp:a.tone===`negative`?i.candleDown:i.text;s.style.cssText=`font-size:${i.font.sizeLarge}px;font-weight:600;color:${c};font-variant-numeric:tabular-nums;`,e.appendChild(o),e.appendChild(s),r.appendChild(e)}return r}buildPanel(e,t,n){let r=this.theme,i=document.createElement(`div`);i.style.cssText=[`background:${t}`,`border:1px solid ${n}`,`border-radius:10px`,`overflow:hidden`,`display:flex`,`flex-direction:column`].join(`;`);let a=document.createElement(`div`);a.textContent=e,a.style.cssText=[`font-size:${r.font.sizeSmall}px`,`font-weight:600`,`color:${r.textSecondary}`,`padding:8px 12px`,`border-bottom:1px solid ${n}`,`text-transform:uppercase`,`letter-spacing:0.04em`].join(`;`);let o=document.createElement(`div`);return o.style.cssText=`flex:1;min-height:0;position:relative;`,i.appendChild(a),i.appendChild(o),{wrap:i,body:o}}panelBackground(){return this.theme.name===`light`?`rgba(0,0,0,0.02)`:`rgba(255,255,255,0.03)`}update(e){this.options={...this.options,result:e},this.destroyCharts(),this.root.replaceChildren(),this.build()}setTheme(e){this.theme=M(e),this.options={...this.options,theme:e},this.destroyCharts(),this.root.replaceChildren(),this.build()}destroyCharts(){this.equityChart?.destroy(),this.drawdownChart?.destroy(),this.heatmap?.destroy(),this.equityChart=null,this.drawdownChart=null,this.heatmap=null}destroy(){this.destroyCharts(),this.root.remove()}};Object.defineProperty(exports,`AlertManager`,{enumerable:!0,get:function(){return n.AlertManager}}),Object.defineProperty(exports,`Animator`,{enumerable:!0,get:function(){return n.Animator}}),exports.BarChart=_,Object.defineProperty(exports,`BarCountdown`,{enumerable:!0,get:function(){return n.BarCountdown}}),Object.defineProperty(exports,`BinanceAdapter`,{enumerable:!0,get:function(){return n.BinanceAdapter}}),Object.defineProperty(exports,`BybitAdapter`,{enumerable:!0,get:function(){return n.BybitAdapter}}),Object.defineProperty(exports,`CANDLE_PATTERNS`,{enumerable:!0,get:function(){return n.CANDLE_PATTERNS}}),Object.defineProperty(exports,`CHART_STYLE_KEYS`,{enumerable:!0,get:function(){return t.CHART_STYLE_KEYS}}),exports.CalendarChart=x,exports.Chart=e.c,exports.ChartGrid=s,Object.defineProperty(exports,`ChartLegend`,{enumerable:!0,get:function(){return n.ChartLegend}}),Object.defineProperty(exports,`ChartStateManager`,{enumerable:!0,get:function(){return n.ChartStateManager}}),Object.defineProperty(exports,`CoinbaseAdapter`,{enumerable:!0,get:function(){return n.CoinbaseAdapter}}),Object.defineProperty(exports,`CompareRenderer`,{enumerable:!0,get:function(){return n.CompareRenderer}}),exports.CounterClockChart=w,Object.defineProperty(exports,`CrosshairTooltip`,{enumerable:!0,get:function(){return n.CrosshairTooltip}}),Object.defineProperty(exports,`CurrentPriceLine`,{enumerable:!0,get:function(){return n.CurrentPriceLine}}),Object.defineProperty(exports,`DARK_TERMINAL`,{enumerable:!0,get:function(){return t.DARK_TERMINAL}}),Object.defineProperty(exports,`DARK_THEME`,{enumerable:!0,get:function(){return t.DARK_THEME}}),Object.defineProperty(exports,`DEFAULT_DRAWING_STYLE`,{enumerable:!0,get:function(){return t.DEFAULT_DRAWING_STYLE}}),exports.DEFAULT_HISTORY_PAGE_SIZE=e.b,Object.defineProperty(exports,`DEFAULT_LEGEND_CONFIG`,{enumerable:!0,get:function(){return n.DEFAULT_LEGEND_CONFIG}}),Object.defineProperty(exports,`DEFAULT_MAX_WEBGL_CHARTS`,{enumerable:!0,get:function(){return n.DEFAULT_MAX_WEBGL_CHARTS}}),Object.defineProperty(exports,`DEFAULT_RECONNECT`,{enumerable:!0,get:function(){return t.DEFAULT_RECONNECT}}),Object.defineProperty(exports,`DEFAULT_SESSION_HOURS`,{enumerable:!0,get:function(){return n.DEFAULT_SESSION_HOURS}}),Object.defineProperty(exports,`DEFAULT_SIGNAL_STYLE`,{enumerable:!0,get:function(){return t.DEFAULT_SIGNAL_STYLE}}),Object.defineProperty(exports,`DEFAULT_STREAM_CONFIG`,{enumerable:!0,get:function(){return t.DEFAULT_STREAM_CONFIG}}),Object.defineProperty(exports,`DEFAULT_TIMEFRAME_FAVORITES`,{enumerable:!0,get:function(){return t.DEFAULT_TIMEFRAME_FAVORITES}}),Object.defineProperty(exports,`DEFAULT_TRADE_ZONE_STYLE`,{enumerable:!0,get:function(){return t.DEFAULT_TRADE_ZONE_STYLE}}),Object.defineProperty(exports,`DEFAULT_TRADING_CONFIG`,{enumerable:!0,get:function(){return t.DEFAULT_TRADING_CONFIG}}),Object.defineProperty(exports,`DataExporter`,{enumerable:!0,get:function(){return n.DataExporter}}),exports.DataManager=e.S,exports.DepthChart=l,exports.DonutChart=v,exports.DragDropImporter=e.o,Object.defineProperty(exports,`DrawingBase`,{enumerable:!0,get:function(){return n.DrawingBase}}),exports.EXCHANGE_TIMEZONE=e.l,Object.defineProperty(exports,`Easing`,{enumerable:!0,get:function(){return n.Easing}}),exports.EquityCurveChart=u,exports.GaugeChart=h,exports.HISTORY_RETRY_MS=e.x,Object.defineProperty(exports,`HNX_SESSIONS`,{enumerable:!0,get:function(){return t.HNX_SESSIONS}}),Object.defineProperty(exports,`HOSE_SESSIONS`,{enumerable:!0,get:function(){return t.HOSE_SESSIONS}}),exports.HeatmapChart=d,exports.HistogramChart=b,Object.defineProperty(exports,`INDICATOR_CATEGORIES`,{enumerable:!0,get:function(){return n.INDICATOR_CATEGORIES}}),Object.defineProperty(exports,`IndicatorBase`,{enumerable:!0,get:function(){return n.IndicatorBase}}),Object.defineProperty(exports,`IndicatorValueMap`,{enumerable:!0,get:function(){return n.IndicatorValueMap}}),Object.defineProperty(exports,`KeyboardHandler`,{enumerable:!0,get:function(){return n.KeyboardHandler}}),Object.defineProperty(exports,`KrakenAdapter`,{enumerable:!0,get:function(){return n.KrakenAdapter}}),Object.defineProperty(exports,`LIGHT_THEME`,{enumerable:!0,get:function(){return t.LIGHT_THEME}}),exports.LayoutManager=e.v,exports.LayoutSession=e.t,Object.defineProperty(exports,`MARKET_CRYPTO`,{enumerable:!0,get:function(){return t.MARKET_CRYPTO}}),Object.defineProperty(exports,`MARKET_HNX`,{enumerable:!0,get:function(){return t.MARKET_HNX}}),Object.defineProperty(exports,`MARKET_HOSE`,{enumerable:!0,get:function(){return t.MARKET_HOSE}}),Object.defineProperty(exports,`MARKET_HOSE_ETF`,{enumerable:!0,get:function(){return t.MARKET_HOSE_ETF}}),Object.defineProperty(exports,`MARKET_NYSE`,{enumerable:!0,get:function(){return t.MARKET_NYSE}}),Object.defineProperty(exports,`MARKET_UPCOM`,{enumerable:!0,get:function(){return t.MARKET_UPCOM}}),Object.defineProperty(exports,`MARKET_VN30F`,{enumerable:!0,get:function(){return t.MARKET_VN30F}}),Object.defineProperty(exports,`MAX_ALERT_BARS`,{enumerable:!0,get:function(){return n.MAX_ALERT_BARS}}),exports.MAX_LAYOUT_NAME=e.n,Object.defineProperty(exports,`MIN_ALERT_BARS`,{enumerable:!0,get:function(){return n.MIN_ALERT_BARS}}),Object.defineProperty(exports,`MS_TIME_THRESHOLD`,{enumerable:!0,get:function(){return t.MS_TIME_THRESHOLD}}),exports.MatrixChart=C,Object.defineProperty(exports,`MockAdapter`,{enumerable:!0,get:function(){return n.MockAdapter}}),exports.PLUGIN_API_VERSION=e.h,Object.defineProperty(exports,`PRICE_SOURCES`,{enumerable:!0,get:function(){return t.PRICE_SOURCES}}),Object.defineProperty(exports,`PaperExecutionAdapter`,{enumerable:!0,get:function(){return n.PaperExecutionAdapter}}),exports.PerformanceDashboard=N,exports.PluginManager=e.u,Object.defineProperty(exports,`PollingAdapter`,{enumerable:!0,get:function(){return n.PollingAdapter}}),Object.defineProperty(exports,`RANGE_PRESETS`,{enumerable:!0,get:function(){return n.RANGE_PRESETS}}),Object.defineProperty(exports,`ReplayManager`,{enumerable:!0,get:function(){return n.ReplayManager}}),Object.defineProperty(exports,`ResamplingAdapter`,{enumerable:!0,get:function(){return n.ResamplingAdapter}}),exports.ScatterChart=y,Object.defineProperty(exports,`Screenshot`,{enumerable:!0,get:function(){return n.Screenshot}}),Object.defineProperty(exports,`SessionBreaks`,{enumerable:!0,get:function(){return n.SessionBreaks}}),Object.defineProperty(exports,`SessionShading`,{enumerable:!0,get:function(){return n.SessionShading}}),Object.defineProperty(exports,`SignalMarkerManager`,{enumerable:!0,get:function(){return n.SignalMarkerManager}}),exports.SparklineChart=c,Object.defineProperty(exports,`StreamManager`,{enumerable:!0,get:function(){return n.StreamManager}}),Object.defineProperty(exports,`TC_PALETTE`,{enumerable:!0,get:function(){return t.TC_PALETTE}}),Object.defineProperty(exports,`TC_SERIES_COLORS`,{enumerable:!0,get:function(){return t.TC_SERIES_COLORS}}),Object.defineProperty(exports,`TIMEFRAMES_CRYPTO`,{enumerable:!0,get:function(){return t.TIMEFRAMES_CRYPTO}}),Object.defineProperty(exports,`TIMEFRAMES_FOREX`,{enumerable:!0,get:function(){return t.TIMEFRAMES_FOREX}}),Object.defineProperty(exports,`TIMEFRAMES_STOCK`,{enumerable:!0,get:function(){return t.TIMEFRAMES_STOCK}}),exports.ThemeManager=e.y,Object.defineProperty(exports,`TickAggregator`,{enumerable:!0,get:function(){return n.TickAggregator}}),Object.defineProperty(exports,`TickBarAdapter`,{enumerable:!0,get:function(){return n.TickBarAdapter}}),Object.defineProperty(exports,`TickBarBuilder`,{enumerable:!0,get:function(){return n.TickBarBuilder}}),Object.defineProperty(exports,`TradeZoneManager`,{enumerable:!0,get:function(){return n.TradeZoneManager}}),Object.defineProperty(exports,`UPCOM_SESSIONS`,{enumerable:!0,get:function(){return t.UPCOM_SESSIONS}}),Object.defineProperty(exports,`UndoRedoManager`,{enumerable:!0,get:function(){return n.UndoRedoManager}}),Object.defineProperty(exports,`VN30F_SESSIONS`,{enumerable:!0,get:function(){return t.VN30F_SESSIONS}}),Object.defineProperty(exports,`VN_COLORS`,{enumerable:!0,get:function(){return t.VN_COLORS}}),Object.defineProperty(exports,`VOLUME_ALPHA`,{enumerable:!0,get:function(){return t.VOLUME_ALPHA}}),Object.defineProperty(exports,`VolumeRenderer`,{enumerable:!0,get:function(){return n.VolumeRenderer}}),exports.WaterfallChart=f,Object.defineProperty(exports,`Watermark`,{enumerable:!0,get:function(){return n.Watermark}}),Object.defineProperty(exports,`WebSocketAdapter`,{enumerable:!0,get:function(){return n.WebSocketAdapter}}),Object.defineProperty(exports,`barIndexToX`,{enumerable:!0,get:function(){return n.barIndexToX}}),Object.defineProperty(exports,`barTimeUnit`,{enumerable:!0,get:function(){return t.barTimeUnit}}),Object.defineProperty(exports,`barsAreDaily`,{enumerable:!0,get:function(){return t.barsAreDaily}}),exports.cleanLayoutName=e.r,exports.clearGlobalPlugins=e.d,exports.computeDrawdownCurve=D,exports.computeMonthlyReturns=O,Object.defineProperty(exports,`computePriceLimits`,{enumerable:!0,get:function(){return t.computePriceLimits}}),Object.defineProperty(exports,`correlationMatrix`,{enumerable:!0,get:function(){return n.correlationMatrix}}),Object.defineProperty(exports,`counterClockPhase`,{enumerable:!0,get:function(){return n.counterClockPhase}}),Object.defineProperty(exports,`counterClockPoints`,{enumerable:!0,get:function(){return n.counterClockPoints}}),Object.defineProperty(exports,`createVNTheme`,{enumerable:!0,get:function(){return t.createVNTheme}}),Object.defineProperty(exports,`detectCandlePatterns`,{enumerable:!0,get:function(){return n.detectCandlePatterns}}),Object.defineProperty(exports,`formatFraction`,{enumerable:!0,get:function(){return t.formatFraction}}),Object.defineProperty(exports,`formatNumber`,{enumerable:!0,get:function(){return t.formatNumber}}),Object.defineProperty(exports,`formatTooltipTime`,{enumerable:!0,get:function(){return n.formatTooltipTime}}),Object.defineProperty(exports,`formatVND`,{enumerable:!0,get:function(){return t.formatVND}}),Object.defineProperty(exports,`formatVolumeLoc`,{enumerable:!0,get:function(){return t.formatVolumeLoc}}),Object.defineProperty(exports,`fractionTick`,{enumerable:!0,get:function(){return t.fractionTick}}),Object.defineProperty(exports,`getCurrentSession`,{enumerable:!0,get:function(){return t.getCurrentSession}}),exports.getGlobalPlugins=e.f,Object.defineProperty(exports,`getLocale`,{enumerable:!0,get:function(){return t.getLocale}}),Object.defineProperty(exports,`histogramBins`,{enumerable:!0,get:function(){return n.histogramBins}}),Object.defineProperty(exports,`indicatorCategory`,{enumerable:!0,get:function(){return n.indicatorCategory}}),Object.defineProperty(exports,`indicatorSource`,{enumerable:!0,get:function(){return t.indicatorSource}}),Object.defineProperty(exports,`isPriceLevelAlert`,{enumerable:!0,get:function(){return n.isPriceLevelAlert}}),Object.defineProperty(exports,`isPriceSource`,{enumerable:!0,get:function(){return t.isPriceSource}}),Object.defineProperty(exports,`isTimeFrame`,{enumerable:!0,get:function(){return t.isTimeFrame}}),Object.defineProperty(exports,`isValidTimeZone`,{enumerable:!0,get:function(){return t.isValidTimeZone}}),exports.localStorageLayouts=e.i,Object.defineProperty(exports,`lttbDownsample`,{enumerable:!0,get:function(){return n.lttbDownsample}}),Object.defineProperty(exports,`lttbVisibleIndices`,{enumerable:!0,get:function(){return n.lttbVisibleIndices}}),Object.defineProperty(exports,`marketStatus`,{enumerable:!0,get:function(){return t.marketStatus}}),exports.memoryLayouts=e.a,Object.defineProperty(exports,`niceScale`,{enumerable:!0,get:function(){return n.niceScale}}),Object.defineProperty(exports,`normalizeBar`,{enumerable:!0,get:function(){return t.normalizeBar}}),Object.defineProperty(exports,`normalizeBarTime`,{enumerable:!0,get:function(){return t.normalizeBarTime}}),Object.defineProperty(exports,`offsetAt`,{enumerable:!0,get:function(){return t.offsetAt}}),exports.overlayScale=a,exports.overlaysForLayer=e.g,Object.defineProperty(exports,`parseIndicatorSource`,{enumerable:!0,get:function(){return t.parseIndicatorSource}}),exports.parseOHLCV=e.s,Object.defineProperty(exports,`parseTimeframe`,{enumerable:!0,get:function(){return t.parseTimeframe}}),Object.defineProperty(exports,`pickBaseTimeframe`,{enumerable:!0,get:function(){return t.pickBaseTimeframe}}),exports.pluginKey=e._,Object.defineProperty(exports,`priceFormatterFor`,{enumerable:!0,get:function(){return t.priceFormatterFor}}),Object.defineProperty(exports,`priceStepAt`,{enumerable:!0,get:function(){return t.priceStepAt}}),Object.defineProperty(exports,`priceToY`,{enumerable:!0,get:function(){return n.priceToY}}),Object.defineProperty(exports,`priceToYMapper`,{enumerable:!0,get:function(){return n.priceToYMapper}}),Object.defineProperty(exports,`rangePresetStart`,{enumerable:!0,get:function(){return n.rangePresetStart}}),Object.defineProperty(exports,`rankSymbols`,{enumerable:!0,get:function(){return t.rankSymbols}}),Object.defineProperty(exports,`readNews`,{enumerable:!0,get:function(){return t.readNews}}),Object.defineProperty(exports,`readQuote`,{enumerable:!0,get:function(){return t.readQuote}}),Object.defineProperty(exports,`registerLocale`,{enumerable:!0,get:function(){return t.registerLocale}}),exports.registerPlugin=e.p,Object.defineProperty(exports,`resampleBars`,{enumerable:!0,get:function(){return t.resampleBars}}),Object.defineProperty(exports,`roundToPriceStep`,{enumerable:!0,get:function(){return t.roundToPriceStep}}),Object.defineProperty(exports,`scaleMarketPrices`,{enumerable:!0,get:function(){return t.scaleMarketPrices}}),exports.selectKeyStats=j,Object.defineProperty(exports,`servesTimeframe`,{enumerable:!0,get:function(){return n.servesTimeframe}}),Object.defineProperty(exports,`setLocale`,{enumerable:!0,get:function(){return t.setLocale}}),Object.defineProperty(exports,`setMaxWebGLCharts`,{enumerable:!0,get:function(){return n.setMaxWebGLCharts}}),Object.defineProperty(exports,`sourcePrice`,{enumerable:!0,get:function(){return t.sourcePrice}}),Object.defineProperty(exports,`stepDecimals`,{enumerable:!0,get:function(){return t.stepDecimals}}),exports.syncIndicators=i,Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return t.t}}),Object.defineProperty(exports,`tickBarCount`,{enumerable:!0,get:function(){return t.tickBarCount}}),Object.defineProperty(exports,`timeToX`,{enumerable:!0,get:function(){return n.timeToX}}),Object.defineProperty(exports,`timeframeToMs`,{enumerable:!0,get:function(){return t.timeframeToMs}}),Object.defineProperty(exports,`timestampToBarIndex`,{enumerable:!0,get:function(){return n.timestampToBarIndex}}),exports.toEquityPoints=E,Object.defineProperty(exports,`toHeikinAshi`,{enumerable:!0,get:function(){return n.toHeikinAshi}}),Object.defineProperty(exports,`toKagi`,{enumerable:!0,get:function(){return n.toKagi}}),Object.defineProperty(exports,`toLineBreak`,{enumerable:!0,get:function(){return n.toLineBreak}}),Object.defineProperty(exports,`toPointAndFigure`,{enumerable:!0,get:function(){return n.toPointAndFigure}}),Object.defineProperty(exports,`toRangeBars`,{enumerable:!0,get:function(){return n.toRangeBars}}),Object.defineProperty(exports,`toRenko`,{enumerable:!0,get:function(){return n.toRenko}}),exports.unregisterPlugin=e.m,Object.defineProperty(exports,`vn30fContracts`,{enumerable:!0,get:function(){return t.vn30fContracts}}),Object.defineProperty(exports,`vn30fLastTradingDay`,{enumerable:!0,get:function(){return t.vn30fLastTradingDay}}),Object.defineProperty(exports,`volumeColor`,{enumerable:!0,get:function(){return t.volumeColor}}),Object.defineProperty(exports,`wallToUtc`,{enumerable:!0,get:function(){return t.wallToUtc}}),Object.defineProperty(exports,`withResampling`,{enumerable:!0,get:function(){return n.withResampling}}),Object.defineProperty(exports,`withTickBars`,{enumerable:!0,get:function(){return n.withTickBars}}),Object.defineProperty(exports,`xToBarIndex`,{enumerable:!0,get:function(){return n.xToBarIndex}}),Object.defineProperty(exports,`xToTime`,{enumerable:!0,get:function(){return n.xToTime}}),Object.defineProperty(exports,`yToPrice`,{enumerable:!0,get:function(){return n.yToPrice}}),Object.defineProperty(exports,`zoneOffsetMinutes`,{enumerable:!0,get:function(){return t.zoneOffsetMinutes}});
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./LayoutSession-BHZffgum.cjs`);let t=require(`@tradecanvas/commons`),n=require(`@tradecanvas/core`);function r(e){let{id:t,params:n={},position:r=null}=typeof e==`string`?{id:e}:e;return JSON.stringify([t,Object.keys(n).sort().map(e=>[e,n[e]]),r])}function i(e,t,n){let i=new Map,a=t.map(e=>{let t=r(e),n=i.get(t)??0;return i.set(t,n+1),{spec:e,key:`${t}#${n}`}}),o=new Set(a.map(e=>e.key));for(let[t,r]of[...n])o.has(t)||(e.removeIndicator(r),n.delete(t));for(let{spec:t,key:r}of a){if(n.has(r))continue;let i=typeof t==`string`?e.addIndicator(t):t.position===void 0?e.addIndicator(t.id,t.params??{}):e.addIndicator(t.id,t.params??{},t.position);i&&n.set(r,i)}}function a(e){let{viewport:t,data:r}=e,i=(0,n.priceToYMapper)(t),a=r.length-1,o=Math.max(0,Math.floor(t.visibleRange.from)),s=Math.min(a,Math.ceil(t.visibleRange.to)),c=e=>r.length>0?(0,n.timestampToBarIndex)(e,r):e;return{timeToX:e=>(0,n.barIndexToX)(c(e),t),xToTime:e=>{let i=(0,n.xToBarIndex)(e,t);return r.length>0?(0,n.barIndexToTime)(i,r):i},indexToX:e=>(0,n.barIndexToX)(e,t),xToIndex:e=>(0,n.xToBarIndex)(e,t),priceToY:i,yToPrice:e=>(0,n.yToPrice)(e,t),barWidth:t.barWidth,visible:s<o?{from:0,to:-1}:{from:o,to:s}}}var o={"1x1":{cols:1,rows:1},"1x2":{cols:2,rows:1},"2x1":{cols:1,rows:2},"2x2":{cols:2,rows:2},"1x3":{cols:3,rows:1},"3x1":{cols:1,rows:3},"2x3":{cols:3,rows:2},"3x2":{cols:2,rows:3}},s=class{root;cells=[];layout;options;destroyed=!1;syncing=!1;constructor(e,t={}){this.options=t,this.layout=t.layout??`2x2`,this.root=document.createElement(`div`),this.root.style.cssText=`display:grid;width:100%;height:100%;overflow:hidden;`,e.appendChild(this.root),this.applyLayout(),this.createCells()}applyLayout(){let{cols:e,rows:t}=o[this.layout],n=this.options.gap??1;this.root.style.gridTemplateColumns=`repeat(${e}, 1fr)`,this.root.style.gridTemplateRows=`repeat(${t}, 1fr)`,this.root.style.gap=`${n}px`}createCells(){let{cols:e,rows:t}=o[this.layout],n=e*t;for(let e=0;e<n;e++)this.cells.push(this.createCell(e))}createCell(t){let n=this.options.cells?.[t]??{},r=document.createElement(`div`);r.style.cssText=`position:relative;overflow:hidden;min-width:0;min-height:0;`,this.root.appendChild(r);let i=new e.c(r,{chartType:`candlestick`,autoScale:!0,features:{crosshair:!0,keyboard:!0,volume:!0,legend:!0,priceAxis:!0,timeAxis:!0,grid:!0},...this.options.chartOptions,...n.chartOptions,theme:this.options.theme}),a={container:r,chart:i,symbol:n.symbol??`Chart ${t+1}`,timeframe:n.timeframe??`5m`};return this.options.syncCrosshair!==!1&&(i.on(`crosshairMove`,e=>{let t=e.payload.bar?.time;if(t!==void 0)for(let e of this.cells)e.chart!==i&&e.chart.setCrosshairTime(t)}),i.on(`crosshairLeave`,()=>{for(let e of this.cells)e.chart!==i&&e.chart.setCrosshairTime(null)})),this.options.syncTimeAxis!==!1&&i.on(`visibleRangeChange`,e=>{if(this.syncing)return;this.syncing=!0;let{from:t,to:n}=e.payload,r=i.getData();if(r.length>0&&t>=0&&n<r.length){let e=r[t]?.time,a=r[n]?.time;if(e&&a)for(let t of this.cells)t.chart!==i&&t.chart.setVisibleRange(e,a)}this.syncing=!1}),a}setLayout(e){if(e===this.layout)return;let t=this.cells.length,{cols:n,rows:r}=o[e],i=n*r;if(i<t)for(let e=t-1;e>=i;e--){let t=this.cells[e];t.chart.destroy(),t.container.remove(),this.cells.pop()}this.layout=e,this.applyLayout();for(let e=t;e<i;e++)this.cells.push(this.createCell(e))}getChart(e){return this.cells[e]?.chart??null}getCharts(){return this.cells.map(e=>e.chart)}getCellCount(){return this.cells.length}setData(e,t){this.cells[e]?.chart.setData(t)}setAllData(e){for(let t of this.cells)t.chart.setData(e)}async connectCell(e,t){let n=this.cells[e];n&&(n.symbol=t.symbol,n.timeframe=t.timeframe,await n.chart.connect(t))}async connectAll(e,t,n,r=500){let i=[];for(let a=0;a<this.cells.length&&a<t.length;a++)i.push(this.connectCell(a,{adapter:typeof e==`function`?e(t[a],a):e,symbol:t[a],timeframe:n,historyLimit:r}));await Promise.all(i)}setTheme(e){for(let t of this.cells)t.chart.setTheme(e)}destroy(){if(!this.destroyed){this.destroyed=!0;for(let e of this.cells)e.chart.destroy(),e.container.remove();this.cells=[],this.root.remove()}}},c=class extends n.BaseFinanceChart{options;constructor(e,t){super(e,t.theme),this.options=t,this.requestRender()}renderChart(e,t,r,i){(0,n.renderSparkline)(e,t,r,this.options,i)}update(e){this.options={...this.options,data:e},this.requestRender()}setOptions(e){this.options={...this.options,...e},this.requestRender()}},l=class extends n.BaseFinanceChart{options;crosshair=null;constructor(e,t){super(e,t.theme),this.options=t,t.crosshair!==!1&&(this.crosshair=new n.FinanceCrosshair(this.canvas,()=>this.requestRender())),this.requestRender()}renderChart(e,t,r,i){let a=this.crosshair?.getPosition()??null;(0,n.renderDepthChart)(e,t,r,this.options,i,a)}update(e){this.options={...this.options,data:e},this.requestRender()}setOptions(e){this.options={...this.options,...e},this.requestRender()}destroy(){this.crosshair?.destroy(),super.destroy()}},u=class extends n.BaseFinanceChart{options;crosshair=null;constructor(e,t){super(e,t.theme),this.options=t,t.crosshair!==!1&&(this.crosshair=new n.FinanceCrosshair(this.canvas,()=>this.requestRender())),this.requestRender()}renderChart(e,t,r,i){let a=this.crosshair?.getPosition()??null;(0,n.renderEquityCurve)(e,t,r,this.options,i,a)}update(e,t){this.options={...this.options,data:e},t!==void 0&&(this.options={...this.options,benchmark:t}),this.requestRender()}setOptions(e){this.options={...this.options,...e},this.requestRender()}destroy(){this.crosshair?.destroy(),super.destroy()}},d=class extends n.BaseFinanceChart{options;crosshair=null;cachedRects=[];cachedGroups=[];currentData=[];lastLayoutWidth=0;lastLayoutHeight=0;handleClick=null;constructor(e,t){super(e,t.theme),this.options=t,this.currentData=t.data??[],t.crosshair!==!1&&(this.crosshair=new n.FinanceCrosshair(this.canvas,()=>this.requestRender())),t.onCellClick&&(this.handleClick=e=>{let t=this.canvas.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;this.onCanvasClick(n,r)},this.canvas.addEventListener(`click`,this.handleClick)),this.applyLabel(),this.recomputeLayout(),this.requestRender()}applyLabel(){let e=new Set(this.currentData.map(e=>e.group).filter(Boolean)).size,t=this.options.grouped&&e>0?`Market map of ${this.currentData.length} cells in ${e} groups`:`Heatmap of ${this.currentData.length} cells`;this.setLabel(this.options.ariaLabel??t)}recomputeLayout(){let e={x:0,y:0,width:this.width,height:this.height},t=this.options.cellPadding??2;if(this.lastLayoutWidth=this.width,this.lastLayoutHeight=this.height,this.cachedGroups=[],this.options.grouped){let{groups:r,cells:i}=(0,n.layoutGroupedTreemap)(this.currentData.map(e=>({id:e.id,weight:e.weight??(Math.abs(e.value)||1),group:e.group,value:e.value})),e,t,n.GROUP_HEADER);this.cachedRects=i,this.cachedGroups=r}else if(this.options.weighted){let r=this.currentData.map(e=>({id:e.id,weight:e.weight??(Math.abs(e.value)||1)}));this.cachedRects=(0,n.layoutSquarifiedTreemap)(r,e,t)}else this.cachedRects=(0,n.layoutUniformGrid)(this.currentData.map(e=>({id:e.id})),e,t)}onCanvasClick(e,t){if(this.options.onCellClick)for(let n of this.cachedRects){let r=n.rect;if(e>=r.x&&e<=r.x+r.width&&t>=r.y&&t<=r.y+r.height){let e=this.currentData.find(e=>e.id===n.id);e&&this.options.onCellClick(e);return}}}renderChart(e,t,r,i){(t!==this.lastLayoutWidth||r!==this.lastLayoutHeight)&&this.recomputeLayout();let a=this.crosshair?.getPosition()??null;(0,n.renderHeatmap)(e,t,r,this.currentData,this.cachedRects,this.options,i,a,this.cachedGroups)}update(e){this.currentData=e,this.options={...this.options,data:e},this.applyLabel(),this.recomputeLayout(),this.requestRender()}setOptions(e){this.options={...this.options,...e},e.data&&(this.currentData=e.data),this.applyLabel(),this.recomputeLayout(),this.requestRender()}destroy(){this.crosshair?.destroy(),this.handleClick&&this.canvas.removeEventListener(`click`,this.handleClick),super.destroy()}},f=class extends n.BaseFinanceChart{options;crosshair=null;constructor(e,t){super(e,t.theme),this.options=t,t.crosshair!==!1&&(this.crosshair=new n.FinanceCrosshair(this.canvas,()=>this.requestRender())),this.requestRender()}renderChart(e,t,r,i){let a=this.crosshair?.getPosition()??null;(0,n.renderWaterfall)(e,t,r,this.options,i,a)}update(e){this.options={...this.options,data:e},this.requestRender()}setOptions(e){this.options={...this.options,...e},this.requestRender()}destroy(){this.crosshair?.destroy(),super.destroy()}},p=500;function m(e){let t=1-e;return 1-t*t*t}var h=class extends n.BaseFinanceChart{options;currentValue;targetValue;animationStart=null;animationFrom=0;animationFrameId=null;constructor(e,t){super(e,t.theme),this.options=t,this.currentValue=t.value,this.targetValue=t.value,this.requestRender()}renderChart(e,t,r,i){(0,n.renderGauge)(e,t,r,this.options,i,this.currentValue)}setValue(e){if(this.options.animate===!1){this.cancelAnimation(),this.currentValue=e,this.targetValue=e,this.options={...this.options,value:e},this.requestRender();return}this.targetValue=e,this.animationFrom=this.currentValue,this.animationStart=performance.now(),this.options={...this.options,value:e},this.startAnimationLoop()}setOptions(e){let t={...this.options,...e};if(e.value!==void 0&&e.value!==this.targetValue){this.options=t,this.setValue(e.value);return}this.options=t,this.requestRender()}startAnimationLoop(){if(this.animationFrameId!==null)return;let e=()=>{if(this.animationFrameId=null,this.animationStart===null)return;let t=this.options.animationDuration??p,n=performance.now()-this.animationStart,r=Math.min(1,n/Math.max(1,t)),i=m(r);this.currentValue=this.animationFrom+(this.targetValue-this.animationFrom)*i,this.requestRender(),r<1?this.animationFrameId=requestAnimationFrame(e):(this.currentValue=this.targetValue,this.animationStart=null)};this.animationFrameId=requestAnimationFrame(e)}cancelAnimation(){this.animationFrameId!==null&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null),this.animationStart=null}destroy(){this.cancelAnimation(),super.destroy()}},g=class extends n.BaseFinanceChart{options;layout=null;layoutFor=null;crosshair;onClick=e=>{let t=this.canvas.getBoundingClientRect();this.layout&&this.clickAt(this.layout,e.clientX-t.left,e.clientY-t.top)};onMove=e=>{if(!this.layout||!this.clickable())return;let t=this.canvas.getBoundingClientRect();this.canvas.style.cursor=this.hits(this.layout,e.clientX-t.left,e.clientY-t.top)?`pointer`:``};constructor(e,t){super(e,t.theme),this.options=t,this.crosshair=new n.FinanceCrosshair(this.canvas,()=>this.requestRender()),this.canvas.addEventListener(`click`,this.onClick),this.canvas.addEventListener(`pointermove`,this.onMove),this.applyLabel(),this.requestRender()}renderChart(e,t,r,i){let a=this.options.crosshair===!1?null:this.crosshair.getPosition(),o=this.layoutFor;(!this.layout||!o||o.options!==this.options||o.width!==t||o.height!==r||o.theme!==i)&&(this.layout=this.compute(t,r,i,(0,n.canvasMeasure)(e,i)),this.layoutFor={options:this.options,width:t,height:r,theme:i}),this.draw(e,t,r,i,a,this.layout)}setOptions(e){this.options={...this.options,...e},`theme`in e&&this.setTheme(e.theme??`dark`),this.applyLabel(),this.requestRender()}applyLabel(){this.setLabel(this.options.ariaLabel??this.describe())}destroy(){this.crosshair.destroy(),this.canvas.removeEventListener(`click`,this.onClick),this.canvas.removeEventListener(`pointermove`,this.onMove),super.destroy()}},_=class extends g{compute(e,t,r,i){return(0,n.computeBarLayout)(this.options,e,t,r,i)}draw(e,t,r,i,a,o){(0,n.renderBarChart)(e,t,r,this.options,i,a,o)}describe(){return`Bar chart of ${this.options.series.map(e=>e.name).join(`, `)}, ${this.options.categories.length} categories`}clickable(){return this.options.onBarClick!==void 0}hits(e,t,r){return(0,n.hitBar)(e,t,r)!==null}clickAt(e,t,r){let i=(0,n.hitBar)(e,t,r);i&&this.options.onBarClick?.({category:i.category,series:i.series,value:i.value,index:i.index})}update(e,t){this.setOptions({categories:e,series:t})}},v=class extends g{compute(e,t,r,i){return(0,n.computeDonutLayout)(this.options,e,t,r,i)}draw(e,t,r,i,a,o){(0,n.renderDonut)(e,t,r,this.options,i,a,o)}describe(){let e=this.options.data.filter(e=>Number.isFinite(e.value)&&e.value>0).map(e=>e.label).join(`, `);return`${(this.options.innerRadius??.6)>0?`Donut`:`Pie`} chart of ${e}`}clickable(){return this.options.onSliceClick!==void 0}hits(e,t,r){return(0,n.hitSlice)(e,t,r)!==null}clickAt(e,t,r){let i=(0,n.hitSlice)(e,t,r);i&&this.options.onSliceClick?.(i.slice)}update(e){this.setOptions({data:e})}},y=class extends g{compute(e,t,r,i){return(0,n.computeScatterLayout)(this.options,e,t,r,i)}draw(e,t,r,i,a,o){(0,n.renderScatter)(e,t,r,this.options,i,a,o)}describe(){let e=this.options.series.reduce((e,t)=>e+t.points.length,0);return`Scatter chart${this.options.xLabel&&this.options.yLabel?` of ${this.options.yLabel} against ${this.options.xLabel}`:``}, ${e} points`}clickable(){return this.options.onPointClick!==void 0}hits(e,t,r){return(0,n.nearestPoint)(e,t,r)!==null}clickAt(e,t,r){let i=(0,n.nearestPoint)(e,t,r);i&&this.options.onPointClick?.(i.point,i.series)}update(e){this.setOptions({series:e})}},b=class extends g{compute(e,t,r,i){return(0,n.computeHistogramLayout)(this.options,e,t,r,i)}draw(e,t,r,i,a,o){(0,n.renderHistogram)(e,t,r,this.options,i,a,o)}describe(){return`Histogram of ${this.options.values.length} values`}clickable(){return!1}hits(){return!1}clickAt(){}update(e){this.setOptions({values:e})}},x=class extends g{compute(e,t,r,i){return(0,n.computeCalendarLayout)(this.options,e,t,r,i)}draw(e,t,r,i,a,o){(0,n.renderCalendar)(e,t,r,this.options,i,a,o)}describe(){let e=this.options.data.map(e=>e.date).filter(e=>/^\d{4}-\d{2}-\d{2}$/.test(e)).sort(),t=this.options.from??e[0],n=this.options.to??e[e.length-1];return t&&n?`Calendar of daily values from ${t} to ${n}`:`Calendar of daily values`}clickable(){return this.options.onDayClick!==void 0}hits(e,t,r){return(0,n.hitDay)(e,t,r)?.day!==void 0}clickAt(e,t,r){let i=(0,n.hitDay)(e,t,r)?.day;i&&this.options.onDayClick?.(i)}update(e){this.setOptions({data:e})}},S=12,C=class extends g{compute(e,t,r,i){return(0,n.computeMatrixLayout)(this.options,e,t,r,i)}draw(e,t,r,i,a,o){(0,n.renderMatrix)(e,t,r,this.options,i,a,o)}describe(){let{rows:e,columns:t}=this.options;return t?e.length+t.length<=S?`Matrix of ${e.join(`, `)} by ${t.join(`, `)}`:`Matrix of ${e.length} rows by ${t.length} columns`:e.length<=S?`Matrix of ${e.join(`, `)}`:`Matrix of ${e.length} rows`}clickable(){return this.options.onCellClick!==void 0}hits(e,t,r){return(0,n.hitMatrixCell)(e,t,r)!==null}clickAt(e,t,r){let i=(0,n.hitMatrixCell)(e,t,r);i&&this.options.onCellClick?.(i.cell)}update(e){this.setOptions({values:e})}},w=class extends g{compute(e,t,r,i){return(0,n.computeCounterClockLayout)(this.options,e,t,r,i)}draw(e,t,r,i,a,o){(0,n.renderCounterClock)(e,t,r,this.options,i,a,o)}describe(){return`Counter-clock chart of price against volume, ${this.options.period??25}-bar averages`}clickable(){return this.options.onPointClick!==void 0}hits(e,t,r){return(0,n.nearestCounterClockPoint)(e,t,r)!==null}clickAt(e,t,r){let i=(0,n.nearestCounterClockPoint)(e,t,r);i&&this.options.onPointClick?.(i.point)}getPhase(){return(0,n.counterClockPhase)((0,n.counterClockPoints)(this.options.data,this.options.period??25,(0,n.shownCount)(this.options)))}update(e){this.setOptions({data:e})}},T=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function E(e){return e.map(e=>({time:e.time,value:e.equity}))}function D(e){let t=-1/0;return e.map(e=>{e.equity>t&&(t=e.equity);let n=t>0?(e.equity/t-1)*100:0;return{time:e.time,value:n}})}function O(e){if(e.length===0)return[];let n=[];for(let r of e){let e=(0,t.timeframeBucketStart)(r.time,`1M`),i=n[n.length-1];i&&i.key===e?i.close=r.equity:n.push({key:e,close:r.equity})}let r=e[0].equity,i=[];for(let e of n){let t=r===0?1:r,n=(e.close/t-1)*100;r=e.close;let a=new Date(e.key),o=a.getUTCFullYear(),s=a.getUTCMonth();i.push({id:`${o}-${String(s+1).padStart(2,`0`)}`,label:T[s],group:String(o),value:n})}return i}function k(e){return`${e>0?`+`:``}${e.toFixed(2)}%`}function A(e){return e>0?`positive`:e<0?`negative`:`neutral`}function j(e){return[{label:`Total Return`,value:k(e.totalReturnPct),tone:A(e.totalReturnPct)},{label:`CAGR`,value:k(e.cagr*100),tone:A(e.cagr)},{label:`Sharpe`,value:e.sharpe.toFixed(2),tone:A(e.sharpe)},{label:`Sortino`,value:e.sortino.toFixed(2),tone:A(e.sortino)},{label:`Max Drawdown`,value:k(e.maxDrawdownPct),tone:`negative`},{label:`Win Rate`,value:`${(e.winRate*100).toFixed(1)}%`,tone:`neutral`},{label:`Profit Factor`,value:Number.isFinite(e.profitFactor)?e.profitFactor.toFixed(2):`∞`,tone:A(e.profitFactor-1)},{label:`Trades`,value:String(e.trades),tone:`neutral`}]}function M(e){return!e||e===`dark`?t.DARK_THEME:e===`light`?t.LIGHT_THEME:e}var N=class{options;theme;root;equityChart=null;drawdownChart=null;heatmap=null;constructor(e,t){this.options=t,this.theme=M(t.theme),this.root=document.createElement(`div`),this.build(),e.appendChild(this.root)}build(){let e=this.theme,{result:t,title:n,subtitle:r}=this.options,i=this.panelBackground(),a=e.grid;if(this.root.style.cssText=[`display:flex`,`flex-direction:column`,`gap:14px`,`width:100%`,`box-sizing:border-box`,`padding:16px`,`background:${e.background}`,`color:${e.text}`,`font-family:${e.font.family}`].join(`;`),n||r){let t=document.createElement(`div`);if(n){let r=document.createElement(`div`);r.textContent=n,r.style.cssText=`font-size:${e.font.sizeLarge}px;font-weight:600;letter-spacing:-0.01em;`,t.appendChild(r)}if(r){let n=document.createElement(`div`);n.textContent=r,n.style.cssText=`font-size:${e.font.sizeSmall}px;color:${e.textSecondary};margin-top:2px;`,t.appendChild(n)}this.root.appendChild(t)}this.root.appendChild(this.buildStatsStrip(j(t.metrics),i,a));let o=document.createElement(`div`);o.style.cssText=[`display:grid`,`grid-template-columns:repeat(auto-fit, minmax(280px, 1fr))`,`grid-auto-rows:220px`,`gap:14px`].join(`;`),this.root.appendChild(o);let s=this.buildPanel(`Equity Curve`,i,a);s.wrap.style.gridColumn=`1 / -1`,o.appendChild(s.wrap),this.equityChart=new u(s.body,{data:E(t.equityCurve),theme:e,lineColor:e.candleUp,fillArea:!0,crosshair:!0});let c=this.buildPanel(`Drawdown`,i,a);o.appendChild(c.wrap),this.drawdownChart=new u(c.body,{data:D(t.equityCurve),theme:e,lineColor:e.candleDown,fillArea:!0,crosshair:!0,valueFormat:e=>`${e.toFixed(1)}%`});let l=O(t.equityCurve),f=this.buildPanel(`Monthly Returns`,i,a);o.appendChild(f.wrap),this.heatmap=new d(f.body,{data:l,theme:e,showValues:!0,valueFormat:e=>`${e>=0?`+`:``}${e.toFixed(1)}`,colorScale:{negative:e.candleDown,zero:i,positive:e.candleUp}})}buildStatsStrip(e,t,n){let r=document.createElement(`div`);r.style.cssText=[`display:grid`,`grid-template-columns:repeat(auto-fit, minmax(120px, 1fr))`,`gap:10px`].join(`;`);let i=this.theme;for(let a of e){let e=document.createElement(`div`);e.style.cssText=[`background:${t}`,`border:1px solid ${n}`,`border-radius:10px`,`padding:10px 12px`,`display:flex`,`flex-direction:column`,`gap:4px`].join(`;`);let o=document.createElement(`div`);o.textContent=a.label,o.style.cssText=`font-size:${i.font.sizeSmall}px;color:${i.textSecondary};text-transform:uppercase;letter-spacing:0.04em;`;let s=document.createElement(`div`);s.textContent=a.value;let c=a.tone===`positive`?i.candleUp:a.tone===`negative`?i.candleDown:i.text;s.style.cssText=`font-size:${i.font.sizeLarge}px;font-weight:600;color:${c};font-variant-numeric:tabular-nums;`,e.appendChild(o),e.appendChild(s),r.appendChild(e)}return r}buildPanel(e,t,n){let r=this.theme,i=document.createElement(`div`);i.style.cssText=[`background:${t}`,`border:1px solid ${n}`,`border-radius:10px`,`overflow:hidden`,`display:flex`,`flex-direction:column`].join(`;`);let a=document.createElement(`div`);a.textContent=e,a.style.cssText=[`font-size:${r.font.sizeSmall}px`,`font-weight:600`,`color:${r.textSecondary}`,`padding:8px 12px`,`border-bottom:1px solid ${n}`,`text-transform:uppercase`,`letter-spacing:0.04em`].join(`;`);let o=document.createElement(`div`);return o.style.cssText=`flex:1;min-height:0;position:relative;`,i.appendChild(a),i.appendChild(o),{wrap:i,body:o}}panelBackground(){return this.theme.name===`light`?`rgba(0,0,0,0.02)`:`rgba(255,255,255,0.03)`}update(e){this.options={...this.options,result:e},this.destroyCharts(),this.root.replaceChildren(),this.build()}setTheme(e){this.theme=M(e),this.options={...this.options,theme:e},this.destroyCharts(),this.root.replaceChildren(),this.build()}destroyCharts(){this.equityChart?.destroy(),this.drawdownChart?.destroy(),this.heatmap?.destroy(),this.equityChart=null,this.drawdownChart=null,this.heatmap=null}destroy(){this.destroyCharts(),this.root.remove()}};Object.defineProperty(exports,`AlertManager`,{enumerable:!0,get:function(){return n.AlertManager}}),Object.defineProperty(exports,`Animator`,{enumerable:!0,get:function(){return n.Animator}}),exports.BarChart=_,Object.defineProperty(exports,`BarCountdown`,{enumerable:!0,get:function(){return n.BarCountdown}}),Object.defineProperty(exports,`BinanceAdapter`,{enumerable:!0,get:function(){return n.BinanceAdapter}}),Object.defineProperty(exports,`BybitAdapter`,{enumerable:!0,get:function(){return n.BybitAdapter}}),Object.defineProperty(exports,`CANDLE_PATTERNS`,{enumerable:!0,get:function(){return n.CANDLE_PATTERNS}}),Object.defineProperty(exports,`CHART_STYLE_KEYS`,{enumerable:!0,get:function(){return t.CHART_STYLE_KEYS}}),exports.CalendarChart=x,exports.Chart=e.c,exports.ChartGrid=s,Object.defineProperty(exports,`ChartLegend`,{enumerable:!0,get:function(){return n.ChartLegend}}),Object.defineProperty(exports,`ChartStateManager`,{enumerable:!0,get:function(){return n.ChartStateManager}}),Object.defineProperty(exports,`CoinbaseAdapter`,{enumerable:!0,get:function(){return n.CoinbaseAdapter}}),Object.defineProperty(exports,`CompareRenderer`,{enumerable:!0,get:function(){return n.CompareRenderer}}),exports.CounterClockChart=w,Object.defineProperty(exports,`CrosshairTooltip`,{enumerable:!0,get:function(){return n.CrosshairTooltip}}),Object.defineProperty(exports,`CurrentPriceLine`,{enumerable:!0,get:function(){return n.CurrentPriceLine}}),Object.defineProperty(exports,`DARK_TERMINAL`,{enumerable:!0,get:function(){return t.DARK_TERMINAL}}),Object.defineProperty(exports,`DARK_THEME`,{enumerable:!0,get:function(){return t.DARK_THEME}}),Object.defineProperty(exports,`DEFAULT_DRAWING_STYLE`,{enumerable:!0,get:function(){return t.DEFAULT_DRAWING_STYLE}}),exports.DEFAULT_HISTORY_PAGE_SIZE=e.b,Object.defineProperty(exports,`DEFAULT_LEGEND_CONFIG`,{enumerable:!0,get:function(){return n.DEFAULT_LEGEND_CONFIG}}),Object.defineProperty(exports,`DEFAULT_MAX_WEBGL_CHARTS`,{enumerable:!0,get:function(){return n.DEFAULT_MAX_WEBGL_CHARTS}}),Object.defineProperty(exports,`DEFAULT_RECONNECT`,{enumerable:!0,get:function(){return t.DEFAULT_RECONNECT}}),Object.defineProperty(exports,`DEFAULT_SESSION_HOURS`,{enumerable:!0,get:function(){return n.DEFAULT_SESSION_HOURS}}),Object.defineProperty(exports,`DEFAULT_SIGNAL_STYLE`,{enumerable:!0,get:function(){return t.DEFAULT_SIGNAL_STYLE}}),Object.defineProperty(exports,`DEFAULT_STREAM_CONFIG`,{enumerable:!0,get:function(){return t.DEFAULT_STREAM_CONFIG}}),Object.defineProperty(exports,`DEFAULT_TIMEFRAME_FAVORITES`,{enumerable:!0,get:function(){return t.DEFAULT_TIMEFRAME_FAVORITES}}),Object.defineProperty(exports,`DEFAULT_TRADE_ZONE_STYLE`,{enumerable:!0,get:function(){return t.DEFAULT_TRADE_ZONE_STYLE}}),Object.defineProperty(exports,`DEFAULT_TRADING_CONFIG`,{enumerable:!0,get:function(){return t.DEFAULT_TRADING_CONFIG}}),Object.defineProperty(exports,`DataExporter`,{enumerable:!0,get:function(){return n.DataExporter}}),exports.DataManager=e.S,exports.DepthChart=l,exports.DonutChart=v,exports.DragDropImporter=e.o,Object.defineProperty(exports,`DrawingBase`,{enumerable:!0,get:function(){return n.DrawingBase}}),exports.EXCHANGE_TIMEZONE=e.l,Object.defineProperty(exports,`Easing`,{enumerable:!0,get:function(){return n.Easing}}),exports.EquityCurveChart=u,exports.GaugeChart=h,exports.HISTORY_RETRY_MS=e.x,Object.defineProperty(exports,`HNX_SESSIONS`,{enumerable:!0,get:function(){return t.HNX_SESSIONS}}),Object.defineProperty(exports,`HOSE_SESSIONS`,{enumerable:!0,get:function(){return t.HOSE_SESSIONS}}),exports.HeatmapChart=d,exports.HistogramChart=b,Object.defineProperty(exports,`INDICATOR_CATEGORIES`,{enumerable:!0,get:function(){return n.INDICATOR_CATEGORIES}}),Object.defineProperty(exports,`IndicatorBase`,{enumerable:!0,get:function(){return n.IndicatorBase}}),Object.defineProperty(exports,`IndicatorValueMap`,{enumerable:!0,get:function(){return n.IndicatorValueMap}}),Object.defineProperty(exports,`KeyboardHandler`,{enumerable:!0,get:function(){return n.KeyboardHandler}}),Object.defineProperty(exports,`KrakenAdapter`,{enumerable:!0,get:function(){return n.KrakenAdapter}}),Object.defineProperty(exports,`LIGHT_THEME`,{enumerable:!0,get:function(){return t.LIGHT_THEME}}),exports.LayoutManager=e.v,exports.LayoutSession=e.t,Object.defineProperty(exports,`MARKET_CRYPTO`,{enumerable:!0,get:function(){return t.MARKET_CRYPTO}}),Object.defineProperty(exports,`MARKET_HNX`,{enumerable:!0,get:function(){return t.MARKET_HNX}}),Object.defineProperty(exports,`MARKET_HOSE`,{enumerable:!0,get:function(){return t.MARKET_HOSE}}),Object.defineProperty(exports,`MARKET_HOSE_ETF`,{enumerable:!0,get:function(){return t.MARKET_HOSE_ETF}}),Object.defineProperty(exports,`MARKET_NYSE`,{enumerable:!0,get:function(){return t.MARKET_NYSE}}),Object.defineProperty(exports,`MARKET_UPCOM`,{enumerable:!0,get:function(){return t.MARKET_UPCOM}}),Object.defineProperty(exports,`MARKET_VN30F`,{enumerable:!0,get:function(){return t.MARKET_VN30F}}),Object.defineProperty(exports,`MAX_ALERT_BARS`,{enumerable:!0,get:function(){return n.MAX_ALERT_BARS}}),exports.MAX_LAYOUT_NAME=e.n,Object.defineProperty(exports,`MIN_ALERT_BARS`,{enumerable:!0,get:function(){return n.MIN_ALERT_BARS}}),Object.defineProperty(exports,`MS_TIME_THRESHOLD`,{enumerable:!0,get:function(){return t.MS_TIME_THRESHOLD}}),exports.MatrixChart=C,Object.defineProperty(exports,`MockAdapter`,{enumerable:!0,get:function(){return n.MockAdapter}}),exports.PLUGIN_API_VERSION=e.h,Object.defineProperty(exports,`PRICE_SOURCES`,{enumerable:!0,get:function(){return t.PRICE_SOURCES}}),Object.defineProperty(exports,`PaperExecutionAdapter`,{enumerable:!0,get:function(){return n.PaperExecutionAdapter}}),exports.PerformanceDashboard=N,exports.PluginManager=e.u,Object.defineProperty(exports,`PollingAdapter`,{enumerable:!0,get:function(){return n.PollingAdapter}}),Object.defineProperty(exports,`RANGE_PRESETS`,{enumerable:!0,get:function(){return n.RANGE_PRESETS}}),Object.defineProperty(exports,`ReplayManager`,{enumerable:!0,get:function(){return n.ReplayManager}}),Object.defineProperty(exports,`ResamplingAdapter`,{enumerable:!0,get:function(){return n.ResamplingAdapter}}),exports.ScatterChart=y,Object.defineProperty(exports,`Screenshot`,{enumerable:!0,get:function(){return n.Screenshot}}),Object.defineProperty(exports,`SessionBreaks`,{enumerable:!0,get:function(){return n.SessionBreaks}}),Object.defineProperty(exports,`SessionShading`,{enumerable:!0,get:function(){return n.SessionShading}}),Object.defineProperty(exports,`SignalMarkerManager`,{enumerable:!0,get:function(){return n.SignalMarkerManager}}),exports.SparklineChart=c,Object.defineProperty(exports,`StreamManager`,{enumerable:!0,get:function(){return n.StreamManager}}),Object.defineProperty(exports,`TC_PALETTE`,{enumerable:!0,get:function(){return t.TC_PALETTE}}),Object.defineProperty(exports,`TC_SERIES_COLORS`,{enumerable:!0,get:function(){return t.TC_SERIES_COLORS}}),Object.defineProperty(exports,`TIMEFRAMES_CRYPTO`,{enumerable:!0,get:function(){return t.TIMEFRAMES_CRYPTO}}),Object.defineProperty(exports,`TIMEFRAMES_FOREX`,{enumerable:!0,get:function(){return t.TIMEFRAMES_FOREX}}),Object.defineProperty(exports,`TIMEFRAMES_STOCK`,{enumerable:!0,get:function(){return t.TIMEFRAMES_STOCK}}),exports.ThemeManager=e.y,Object.defineProperty(exports,`TickAggregator`,{enumerable:!0,get:function(){return n.TickAggregator}}),Object.defineProperty(exports,`TickBarAdapter`,{enumerable:!0,get:function(){return n.TickBarAdapter}}),Object.defineProperty(exports,`TickBarBuilder`,{enumerable:!0,get:function(){return n.TickBarBuilder}}),Object.defineProperty(exports,`TradeZoneManager`,{enumerable:!0,get:function(){return n.TradeZoneManager}}),Object.defineProperty(exports,`UPCOM_SESSIONS`,{enumerable:!0,get:function(){return t.UPCOM_SESSIONS}}),Object.defineProperty(exports,`UndoRedoManager`,{enumerable:!0,get:function(){return n.UndoRedoManager}}),Object.defineProperty(exports,`VN30F_SESSIONS`,{enumerable:!0,get:function(){return t.VN30F_SESSIONS}}),Object.defineProperty(exports,`VN_COLORS`,{enumerable:!0,get:function(){return t.VN_COLORS}}),Object.defineProperty(exports,`VOLUME_ALPHA`,{enumerable:!0,get:function(){return t.VOLUME_ALPHA}}),Object.defineProperty(exports,`VolumeRenderer`,{enumerable:!0,get:function(){return n.VolumeRenderer}}),exports.WaterfallChart=f,Object.defineProperty(exports,`Watermark`,{enumerable:!0,get:function(){return n.Watermark}}),Object.defineProperty(exports,`WebSocketAdapter`,{enumerable:!0,get:function(){return n.WebSocketAdapter}}),Object.defineProperty(exports,`barIndexToX`,{enumerable:!0,get:function(){return n.barIndexToX}}),Object.defineProperty(exports,`barTimeUnit`,{enumerable:!0,get:function(){return t.barTimeUnit}}),Object.defineProperty(exports,`barsAreDaily`,{enumerable:!0,get:function(){return t.barsAreDaily}}),exports.cleanLayoutName=e.r,exports.clearGlobalPlugins=e.d,exports.computeDrawdownCurve=D,exports.computeMonthlyReturns=O,Object.defineProperty(exports,`computePriceLimits`,{enumerable:!0,get:function(){return t.computePriceLimits}}),Object.defineProperty(exports,`correlationMatrix`,{enumerable:!0,get:function(){return n.correlationMatrix}}),Object.defineProperty(exports,`counterClockPhase`,{enumerable:!0,get:function(){return n.counterClockPhase}}),Object.defineProperty(exports,`counterClockPoints`,{enumerable:!0,get:function(){return n.counterClockPoints}}),Object.defineProperty(exports,`createVNTheme`,{enumerable:!0,get:function(){return t.createVNTheme}}),Object.defineProperty(exports,`detectCandlePatterns`,{enumerable:!0,get:function(){return n.detectCandlePatterns}}),Object.defineProperty(exports,`formatFraction`,{enumerable:!0,get:function(){return t.formatFraction}}),Object.defineProperty(exports,`formatNumber`,{enumerable:!0,get:function(){return t.formatNumber}}),Object.defineProperty(exports,`formatTooltipTime`,{enumerable:!0,get:function(){return n.formatTooltipTime}}),Object.defineProperty(exports,`formatVND`,{enumerable:!0,get:function(){return t.formatVND}}),Object.defineProperty(exports,`formatVolumeLoc`,{enumerable:!0,get:function(){return t.formatVolumeLoc}}),Object.defineProperty(exports,`fractionTick`,{enumerable:!0,get:function(){return t.fractionTick}}),Object.defineProperty(exports,`getCurrentSession`,{enumerable:!0,get:function(){return t.getCurrentSession}}),exports.getGlobalPlugins=e.f,Object.defineProperty(exports,`getLocale`,{enumerable:!0,get:function(){return t.getLocale}}),Object.defineProperty(exports,`histogramBins`,{enumerable:!0,get:function(){return n.histogramBins}}),Object.defineProperty(exports,`indicatorCategory`,{enumerable:!0,get:function(){return n.indicatorCategory}}),Object.defineProperty(exports,`indicatorSource`,{enumerable:!0,get:function(){return t.indicatorSource}}),Object.defineProperty(exports,`isPriceLevelAlert`,{enumerable:!0,get:function(){return n.isPriceLevelAlert}}),Object.defineProperty(exports,`isPriceSource`,{enumerable:!0,get:function(){return t.isPriceSource}}),Object.defineProperty(exports,`isTimeFrame`,{enumerable:!0,get:function(){return t.isTimeFrame}}),Object.defineProperty(exports,`isValidTimeZone`,{enumerable:!0,get:function(){return t.isValidTimeZone}}),exports.localStorageLayouts=e.i,Object.defineProperty(exports,`lttbDownsample`,{enumerable:!0,get:function(){return n.lttbDownsample}}),Object.defineProperty(exports,`lttbVisibleIndices`,{enumerable:!0,get:function(){return n.lttbVisibleIndices}}),Object.defineProperty(exports,`marketStatus`,{enumerable:!0,get:function(){return t.marketStatus}}),exports.memoryLayouts=e.a,Object.defineProperty(exports,`niceScale`,{enumerable:!0,get:function(){return n.niceScale}}),Object.defineProperty(exports,`normalizeBar`,{enumerable:!0,get:function(){return t.normalizeBar}}),Object.defineProperty(exports,`normalizeBarTime`,{enumerable:!0,get:function(){return t.normalizeBarTime}}),Object.defineProperty(exports,`offsetAt`,{enumerable:!0,get:function(){return t.offsetAt}}),exports.overlayScale=a,exports.overlaysForLayer=e.g,Object.defineProperty(exports,`parseIndicatorSource`,{enumerable:!0,get:function(){return t.parseIndicatorSource}}),exports.parseOHLCV=e.s,Object.defineProperty(exports,`parseTimeframe`,{enumerable:!0,get:function(){return t.parseTimeframe}}),Object.defineProperty(exports,`pickBaseTimeframe`,{enumerable:!0,get:function(){return t.pickBaseTimeframe}}),exports.pluginKey=e._,Object.defineProperty(exports,`priceFormatterFor`,{enumerable:!0,get:function(){return t.priceFormatterFor}}),Object.defineProperty(exports,`priceStepAt`,{enumerable:!0,get:function(){return t.priceStepAt}}),Object.defineProperty(exports,`priceToY`,{enumerable:!0,get:function(){return n.priceToY}}),Object.defineProperty(exports,`priceToYMapper`,{enumerable:!0,get:function(){return n.priceToYMapper}}),Object.defineProperty(exports,`rangePresetStart`,{enumerable:!0,get:function(){return n.rangePresetStart}}),Object.defineProperty(exports,`rankSymbols`,{enumerable:!0,get:function(){return t.rankSymbols}}),Object.defineProperty(exports,`readNews`,{enumerable:!0,get:function(){return t.readNews}}),Object.defineProperty(exports,`readQuote`,{enumerable:!0,get:function(){return t.readQuote}}),Object.defineProperty(exports,`registerLocale`,{enumerable:!0,get:function(){return t.registerLocale}}),exports.registerPlugin=e.p,Object.defineProperty(exports,`resampleBars`,{enumerable:!0,get:function(){return t.resampleBars}}),Object.defineProperty(exports,`roundToPriceStep`,{enumerable:!0,get:function(){return t.roundToPriceStep}}),Object.defineProperty(exports,`scaleMarketPrices`,{enumerable:!0,get:function(){return t.scaleMarketPrices}}),exports.selectKeyStats=j,Object.defineProperty(exports,`servesTimeframe`,{enumerable:!0,get:function(){return n.servesTimeframe}}),Object.defineProperty(exports,`setLocale`,{enumerable:!0,get:function(){return t.setLocale}}),Object.defineProperty(exports,`setMaxWebGLCharts`,{enumerable:!0,get:function(){return n.setMaxWebGLCharts}}),Object.defineProperty(exports,`sourcePrice`,{enumerable:!0,get:function(){return t.sourcePrice}}),Object.defineProperty(exports,`stepDecimals`,{enumerable:!0,get:function(){return t.stepDecimals}}),exports.syncIndicators=i,Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return t.t}}),Object.defineProperty(exports,`tickBarCount`,{enumerable:!0,get:function(){return t.tickBarCount}}),Object.defineProperty(exports,`timeToX`,{enumerable:!0,get:function(){return n.timeToX}}),Object.defineProperty(exports,`timeframeToMs`,{enumerable:!0,get:function(){return t.timeframeToMs}}),Object.defineProperty(exports,`timestampToBarIndex`,{enumerable:!0,get:function(){return n.timestampToBarIndex}}),exports.toEquityPoints=E,Object.defineProperty(exports,`toHeikinAshi`,{enumerable:!0,get:function(){return n.toHeikinAshi}}),Object.defineProperty(exports,`toKagi`,{enumerable:!0,get:function(){return n.toKagi}}),Object.defineProperty(exports,`toLineBreak`,{enumerable:!0,get:function(){return n.toLineBreak}}),Object.defineProperty(exports,`toPointAndFigure`,{enumerable:!0,get:function(){return n.toPointAndFigure}}),Object.defineProperty(exports,`toRangeBars`,{enumerable:!0,get:function(){return n.toRangeBars}}),Object.defineProperty(exports,`toRenko`,{enumerable:!0,get:function(){return n.toRenko}}),exports.unregisterPlugin=e.m,Object.defineProperty(exports,`vn30fContracts`,{enumerable:!0,get:function(){return t.vn30fContracts}}),Object.defineProperty(exports,`vn30fLastTradingDay`,{enumerable:!0,get:function(){return t.vn30fLastTradingDay}}),Object.defineProperty(exports,`volumeColor`,{enumerable:!0,get:function(){return t.volumeColor}}),Object.defineProperty(exports,`wallToUtc`,{enumerable:!0,get:function(){return t.wallToUtc}}),Object.defineProperty(exports,`withResampling`,{enumerable:!0,get:function(){return n.withResampling}}),Object.defineProperty(exports,`withTickBars`,{enumerable:!0,get:function(){return n.withTickBars}}),Object.defineProperty(exports,`xToBarIndex`,{enumerable:!0,get:function(){return n.xToBarIndex}}),Object.defineProperty(exports,`xToTime`,{enumerable:!0,get:function(){return n.xToTime}}),Object.defineProperty(exports,`yToPrice`,{enumerable:!0,get:function(){return n.yToPrice}}),Object.defineProperty(exports,`zoneOffsetMinutes`,{enumerable:!0,get:function(){return t.zoneOffsetMinutes}});
2
2
  //# sourceMappingURL=index.cjs.map
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { S as e, _ as t, a as n, b as r, c as i, d as a, f as o, g as s, h as c, i as l, l as u, m as ee, n as te, o as ne, p as re, r as ie, s as ae, t as oe, u as se, v as ce, x as le, y as ue } from "./LayoutSession-DFL2W819.js";
1
+ import { S as e, _ as t, a as n, b as r, c as i, d as a, f as o, g as s, h as c, i as l, l as u, m as ee, n as te, o as ne, p as re, r as ie, s as ae, t as oe, u as se, v as ce, x as le, y as ue } from "./LayoutSession-BSdsPzJC.js";
2
2
  import { CHART_STYLE_KEYS as de, DARK_TERMINAL as fe, DARK_THEME as pe, DARK_THEME as me, DEFAULT_DRAWING_STYLE as he, DEFAULT_RECONNECT as ge, DEFAULT_SIGNAL_STYLE as _e, DEFAULT_STREAM_CONFIG as ve, DEFAULT_TIMEFRAME_FAVORITES as ye, DEFAULT_TRADE_ZONE_STYLE as be, DEFAULT_TRADING_CONFIG as xe, HNX_SESSIONS as Se, HOSE_SESSIONS as Ce, LIGHT_THEME as d, LIGHT_THEME as f, MARKET_CRYPTO as p, MARKET_HNX as m, MARKET_HOSE as h, MARKET_HOSE_ETF as g, MARKET_NYSE as _, MARKET_UPCOM as v, MARKET_VN30F as y, MS_TIME_THRESHOLD as b, PRICE_SOURCES as x, TC_PALETTE as S, TC_SERIES_COLORS as C, TIMEFRAMES_CRYPTO as w, TIMEFRAMES_FOREX as T, TIMEFRAMES_STOCK as E, UPCOM_SESSIONS as D, VN30F_SESSIONS as O, VN_COLORS as k, VOLUME_ALPHA as A, barTimeUnit as we, barsAreDaily as Te, computePriceLimits as Ee, createVNTheme as De, formatFraction as Oe, formatNumber as ke, formatVND as Ae, formatVolumeLoc as je, fractionTick as Me, getCurrentSession as Ne, getLocale as Pe, indicatorSource as Fe, isPriceSource as Ie, isTimeFrame as Le, isValidTimeZone as Re, marketStatus as ze, normalizeBar as Be, normalizeBarTime as Ve, offsetAt as He, parseIndicatorSource as Ue, parseTimeframe as We, pickBaseTimeframe as Ge, priceFormatterFor as Ke, priceStepAt as qe, rankSymbols as Je, readNews as Ye, readQuote as Xe, registerLocale as Ze, resampleBars as Qe, roundToPriceStep as $e, scaleMarketPrices as et, setLocale as tt, sourcePrice as nt, stepDecimals as rt, t as it, tickBarCount as at, timeframeBucketStart as ot, timeframeToMs as st, vn30fContracts as ct, vn30fLastTradingDay as lt, volumeColor as ut, wallToUtc as dt, zoneOffsetMinutes as ft } from "@tradecanvas/commons";
3
3
  import { AlertManager as pt, Animator as mt, BarCountdown as ht, BaseFinanceChart as j, BinanceAdapter as gt, BybitAdapter as _t, CANDLE_PATTERNS as vt, ChartLegend as yt, ChartStateManager as bt, CoinbaseAdapter as xt, CompareRenderer as St, CrosshairTooltip as Ct, CurrentPriceLine as wt, DEFAULT_LEGEND_CONFIG as Tt, DEFAULT_MAX_WEBGL_CHARTS as Et, DEFAULT_SESSION_HOURS as Dt, DataExporter as Ot, DrawingBase as kt, Easing as At, FinanceCrosshair as M, GROUP_HEADER as jt, INDICATOR_CATEGORIES as Mt, IndicatorBase as Nt, IndicatorValueMap as Pt, KeyboardHandler as Ft, KrakenAdapter as It, MAX_ALERT_BARS as Lt, MIN_ALERT_BARS as Rt, MockAdapter as zt, PaperExecutionAdapter as Bt, PollingAdapter as Vt, RANGE_PRESETS as Ht, ReplayManager as Ut, ResamplingAdapter as Wt, Screenshot as N, SessionBreaks as Gt, SessionShading as Kt, SignalMarkerManager as qt, StreamManager as Jt, TickAggregator as Yt, TickBarAdapter as Xt, TickBarBuilder as Zt, TradeZoneManager as Qt, UndoRedoManager as $t, VolumeRenderer as en, Watermark as tn, WebSocketAdapter as nn, barIndexToTime as rn, barIndexToX as an, barIndexToX as P, canvasMeasure as on, computeBarLayout as sn, computeCalendarLayout as cn, computeCounterClockLayout as ln, computeDonutLayout as un, computeHistogramLayout as dn, computeMatrixLayout as fn, computeScatterLayout as pn, correlationMatrix as mn, counterClockPhase as hn, counterClockPhase as gn, counterClockPoints as _n, counterClockPoints as vn, detectCandlePatterns as yn, formatTooltipTime as bn, histogramBins as xn, hitBar as F, hitDay as I, hitMatrixCell as L, hitSlice as R, indicatorCategory as Sn, isPriceLevelAlert as Cn, layoutGroupedTreemap as wn, layoutSquarifiedTreemap as Tn, layoutUniformGrid as En, lttbDownsample as Dn, lttbVisibleIndices as On, nearestCounterClockPoint as z, nearestPoint as B, niceScale as kn, priceToY as An, priceToYMapper as jn, priceToYMapper as Mn, rangePresetStart as Nn, renderBarChart as Pn, renderCalendar as Fn, renderCounterClock as In, renderDepthChart as Ln, renderDonut as Rn, renderEquityCurve as zn, renderGauge as Bn, renderHeatmap as Vn, renderHistogram as Hn, renderMatrix as Un, renderScatter as Wn, renderSparkline as Gn, renderWaterfall as Kn, servesTimeframe as qn, setMaxWebGLCharts as Jn, shownCount as Yn, timeToX as Xn, timestampToBarIndex as Zn, timestampToBarIndex as Qn, toHeikinAshi as $n, toKagi as er, toLineBreak as tr, toPointAndFigure as nr, toRangeBars as rr, toRenko as ir, withResampling as ar, withTickBars as or, xToBarIndex as sr, xToBarIndex as V, xToTime as cr, yToPrice as lr, yToPrice as ur } from "@tradecanvas/core";
4
4
  //#region src/frameworks/syncIndicators.ts
@@ -1,12 +1,13 @@
1
1
  import { Quote, Theme, TimeFrame, DepthData, DataSeries } from '@tradecanvas/commons';
2
2
  import { Chart } from '../Chart.js';
3
- import { ChartWidgetOptions } from './types.js';
3
+ import { ChartWidgetOptions, WidgetPanel } from './types.js';
4
4
  import { WatchlistEntry } from './WidgetWatchlist.js';
5
5
  import { WatchlistList } from './WatchlistStore.js';
6
6
  import { indicatorChipLabel } from '../indicatorLabel.js';
7
7
  import { ResolvedWidgetUI, WidgetUIPreset, WidgetUITheme } from './widgetUI.js';
8
8
  import { WidgetLayoutContent } from './widgetLayout.js';
9
9
  import { LayoutSession } from '../state/LayoutSession.js';
10
+ import { CompareWay } from './widgetCompare.js';
10
11
  import { WidgetFeature, WidgetFeatures } from './widgetFeatures.js';
11
12
  export declare class ChartWidget {
12
13
  private chart;
@@ -38,6 +39,14 @@ export declare class ChartWidget {
38
39
  private readonly onFullscreenChange;
39
40
  private commandPalette;
40
41
  private symbolSearch;
42
+ /** The panels by the chart (watchlist, alerts, objects, data window, symbol info) and their rail. */
43
+ private dock;
44
+ /** A panel was opened or shut by hand: the watchlist no longer opens by itself. */
45
+ private dockChosen;
46
+ /** Whether the widget was narrow when the dock last looked (null: not yet). */
47
+ private dockNarrow;
48
+ /** Follows the widget's width for the dock. */
49
+ private dockObserver;
41
50
  private hotkeySheet;
42
51
  private replayBar;
43
52
  private dragDrop;
@@ -165,6 +174,10 @@ export declare class ChartWidget {
165
174
  /** Ranges apply one at a time, each reading the bars the last one brought. */
166
175
  private rangeQueue;
167
176
  private compares;
177
+ /** How the compare dialog adds a symbol: the way picked last. */
178
+ private compareWay;
179
+ /** Symbols whose bars are on the way to be compared in percent. */
180
+ private readonly comparesLoading;
168
181
  /** Every switch, on or off (see `setFeatures`). */
169
182
  private featureState;
170
183
  /** The host's own shortcuts, first added first. */
@@ -195,6 +208,16 @@ export declare class ChartWidget {
195
208
  setQuotes(quotes: readonly Quote[]): void;
196
209
  /** The latest quote of a symbol, from the quote source or `setQuotes`. */
197
210
  getQuote(symbol: string): Quote | null;
211
+ /**
212
+ * Open a panel of the dock beside the chart (in a sheet on a phone), in
213
+ * place of the one open. False when the widget hasn't it: no watchlist, or
214
+ * its switch off.
215
+ */
216
+ openPanel(panel: WidgetPanel): boolean;
217
+ /** Shut the dock. */
218
+ closePanel(): void;
219
+ /** The panel open in the dock, or null. */
220
+ getOpenPanel(): WidgetPanel | null;
198
221
  /** Open or close the symbol info panel (toggle when `open` is left out). */
199
222
  toggleSymbolInfo(open?: boolean): void;
200
223
  /** The market's status in the status bar, and the panel when it's open. */
@@ -251,6 +274,8 @@ export declare class ChartWidget {
251
274
  private applyChartShapes;
252
275
  destroy(): void;
253
276
  private handleSymbolClick;
277
+ /** The symbol search, started from `query` (a letter typed on the chart). */
278
+ private openSymbolSearch;
254
279
  /** The host's symbol search, else the adapter's; none filters `symbols`. */
255
280
  private symbolSearchFn;
256
281
  private handleTimeframe;
@@ -378,7 +403,8 @@ export declare class ChartWidget {
378
403
  /** The display timezone from the settings; 'exchange' is the zone the chart resolved it to. */
379
404
  private displayTimezone;
380
405
  private toggleGoToDate;
381
- private goToWallTime;
406
+ /** A moment to centre, or a span to show edge to edge, from the Go to dialog. */
407
+ private goTo;
382
408
  /** Pinned timeframes that are still on offer, shortest first. */
383
409
  private pinnedTimeframes;
384
410
  /** The timeframe menu's rows, typed intervals marked so they can be removed. */
@@ -429,11 +455,38 @@ export declare class ChartWidget {
429
455
  private buildDataWindowModel;
430
456
  private toggleDataWindow;
431
457
  private toggleObjects;
458
+ /**
459
+ * The dock's pages, in the rail's order: the watchlist (open to start
460
+ * with), alerts, objects, the data window and the symbol info. Each draws
461
+ * itself as it shows, and says so on the toolbar's button.
462
+ */
463
+ private setupDock;
464
+ /**
465
+ * The dock and the widget's width. Going narrow (a phone, a rotated
466
+ * tablet) shuts any panel: it would be a sheet over the chart. On a widget
467
+ * of 987 px or more the watchlist opens by itself, until a panel is opened
468
+ * or shut by hand.
469
+ */
470
+ private fitDockToWidth;
471
+ /** Whether the rail shows now: on, and the widget not narrow. */
472
+ private railShown;
473
+ /**
474
+ * The rail's Tab stop on a button that shows, and the toolbar's alerts and
475
+ * objects buttons hidden while the rail has its own for them (so the
476
+ * "more" menu leaves them out too).
477
+ */
478
+ private syncRail;
479
+ /** Where the keyboard goes when a panel shuts and the rail can't take it: its toolbar button, or "more" on a phone. */
480
+ private panelFocusTarget;
481
+ /** A panel shut by its own close button: by hand. */
482
+ private closePanelByHand;
432
483
  private openIndicatorSettings;
433
484
  private refreshObjects;
434
485
  private handleAddCompare;
435
- /** How to compare with `symbol`: a menu by the chart's top left. */
436
- private pickCompareWay;
486
+ /** What is compared with the chart's symbol now, as the compare dialog lists it. */
487
+ private comparedNow;
488
+ /** The compare dialog's list, after something was compared or taken off. */
489
+ private refreshCompareDialog;
437
490
  /**
438
491
  * Compare with another symbol: its percent change on the price scale
439
492
  * (`'percent'`, the default), its price on a scale of its own (`'scale'`)
@@ -617,8 +670,7 @@ export declare class ChartWidget {
617
670
  }
618
671
  export { indicatorChipLabel };
619
672
  type ActiveIndicator = ReturnType<Chart['getActiveIndicators']>[number];
620
- /** How `addCompareSymbol` compares: percent change on the price scale, its own scale or pane, spread, ratio. */
621
- export type CompareWay = 'percent' | 'scale' | 'pane' | 'spread' | 'ratio' | 'correlation' | 'correlationLog';
673
+ export type { CompareWay };
622
674
  /**
623
675
  * The lines `instanceId` can be computed from: every drawn line of the other
624
676
  * indicators, except those that already read from it (that would be a loop).
@@ -1 +1 @@
1
- {"version":3,"file":"ChartWidget.d.ts","sourceRoot":"","sources":["../../src/widget/ChartWidget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChartWidget.d.ts","sourceRoot":"","sources":["../../src/widget/ChartWidget.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChartWidgetGrid.d.ts","sourceRoot":"","sources":["../../src/widget/ChartWidgetGrid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChartWidgetGrid.d.ts","sourceRoot":"","sources":["../../src/widget/ChartWidgetGrid.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,8 @@ export interface AlertsPanelCallbacks {
46
46
  formatTime?: (ms: number) => string;
47
47
  /** Now, in ms (an expiry is counted from it). */
48
48
  now?: () => number;
49
+ /** Its close button: the dock it sits in shuts. Without it, the panel hides itself. */
50
+ onClose?: () => void;
49
51
  }
50
52
  /**
51
53
  * What an alert watches, in words: "RSI crossing 70", "Price crossing EMA 20",
@@ -88,6 +90,8 @@ export declare class WidgetAlertsPanel {
88
90
  /** Replace the alert-source options (price + indicator lines). */
89
91
  setSources(sources: AlertSource[]): void;
90
92
  private renderSources;
93
+ /** The panel, for the dock to hold. */
94
+ get element(): HTMLElement;
91
95
  isOpen(): boolean;
92
96
  toggle(): void;
93
97
  openPanel(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetAlertsPanel.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetAlertsPanel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WidgetAlertsPanel.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetAlertsPanel.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,8 @@ export interface DataWindowModel {
20
20
  }
21
21
  export interface DataWindowCallbacks {
22
22
  formatPrice: (price: number) => string;
23
+ /** Its close button: the dock it sits in shuts. Without it, the panel hides itself. */
24
+ onClose?: () => void;
23
25
  }
24
26
  /**
25
27
  * Data Window — a floating readout of the exact O/H/L/C/V, change, and every
@@ -32,6 +34,8 @@ export declare class WidgetDataWindow {
32
34
  private callbacks;
33
35
  private open;
34
36
  constructor(host: HTMLElement, callbacks: DataWindowCallbacks, t?: Translator);
37
+ /** The panel, for the dock to hold. */
38
+ get element(): HTMLElement;
35
39
  isOpen(): boolean;
36
40
  toggle(): void;
37
41
  openPanel(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetDataWindow.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetDataWindow.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAG3D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACxF,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,mBAAmB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACxC;AAED;;;GAGG;AACH,qBAAa,gBAAgB;IAMoC,OAAO,CAAC,QAAQ,CAAC,CAAC;IALjF,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,IAAI,CAAS;gBAET,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAmB,CAAC,GAAE,UAA0B;IA6B7G,MAAM,IAAI,OAAO;IAIjB,MAAM,IAAI,IAAI;IAId,SAAS,IAAI,IAAI;IAKjB,KAAK,IAAI,IAAI;IAKb,OAAO,IAAI,IAAI;IAIf,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAkCpC,OAAO,CAAC,GAAG;CAaZ"}
1
+ {"version":3,"file":"WidgetDataWindow.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetDataWindow.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAG3D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACxF,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,mBAAmB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,uFAAuF;IACvF,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;GAGG;AACH,qBAAa,gBAAgB;IAMoC,OAAO,CAAC,QAAQ,CAAC,CAAC;IALjF,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,IAAI,CAAS;gBAET,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAmB,CAAC,GAAE,UAA0B;IA6B7G,uCAAuC;IACvC,IAAI,OAAO,IAAI,WAAW,CAEzB;IAED,MAAM,IAAI,OAAO;IAIjB,MAAM,IAAI,IAAI;IAId,SAAS,IAAI,IAAI;IAKjB,KAAK,IAAI,IAAI;IAKb,OAAO,IAAI,IAAI;IAIf,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAkCpC,OAAO,CAAC,GAAG;CAaZ"}
@@ -0,0 +1,113 @@
1
+ import { WidgetFeature } from './widgetFeatures.js';
2
+ /** A panel the dock holds: shown in its panel while it is the open one, opened from its button on the rail. */
3
+ export interface DockPage {
4
+ id: string;
5
+ label: string;
6
+ icon: string;
7
+ element: HTMLElement;
8
+ /** The switches its rail button goes with. */
9
+ parts?: readonly WidgetFeature[];
10
+ /** Told when it shows (to draw itself now) and when it hides. */
11
+ onShow?: () => void;
12
+ onHide?: () => void;
13
+ }
14
+ export interface DockLabels {
15
+ /** The rail's name, for a screen reader. */
16
+ rail: string;
17
+ /** The panel's edge, dragged to resize it. */
18
+ resize: string;
19
+ }
20
+ export interface DockOptions {
21
+ labels: DockLabels;
22
+ /** The width kept from last time, if any. */
23
+ savedWidth?: () => number | null;
24
+ /** Keep the width the panel was given. */
25
+ saveWidth?: (width: number) => void;
26
+ /** After a page opened, or the dock shut (null). */
27
+ onChange?: (page: string | null) => void;
28
+ /** A press on a rail button (a choice of the user's), before it opens or shuts its page. */
29
+ onPick?: (page: string) => void;
30
+ /** Whether the rail shows now (not on a phone, not switched off). */
31
+ railShown?: () => boolean;
32
+ /** Where the keyboard goes when the dock shuts and the page's rail button is out of sight. */
33
+ focusAfterClose?: (page: string) => HTMLElement | null;
34
+ /** The width of the row the dock sits in, which the chart shares. */
35
+ room?: () => number;
36
+ }
37
+ /**
38
+ * The panel's widths: 377 at most, a step of phi above 233; it opens at
39
+ * 377 / sqrt(phi) = 296, as the indicator settings sit half a step under the
40
+ * indicators dialog.
41
+ */
42
+ export declare const DOCK_WIDTH: {
43
+ readonly min: 233;
44
+ readonly default: 296;
45
+ readonly max: 377;
46
+ };
47
+ /** One arrow key's worth of resizing. */
48
+ export declare const DOCK_WIDTH_STEP = 13;
49
+ /**
50
+ * The widget's panels by the chart: a rail of buttons on the outer edge and,
51
+ * beside the chart, the panel of the page open (one at a time). A rail button
52
+ * opens its page, or shuts the dock when its page is the one open. The panel
53
+ * is resized from its edge, by pointer or keyboard, between 233 and 377 px,
54
+ * and never takes more than 38.2% of its row. It sits on the right, on the
55
+ * left in a right-to-left widget. As a sheet over the chart (a phone),
56
+ * Escape shuts it.
57
+ */
58
+ export declare class WidgetDock {
59
+ private readonly options;
60
+ readonly element: HTMLDivElement;
61
+ private readonly panel;
62
+ private readonly rail;
63
+ private readonly handle;
64
+ private readonly pages;
65
+ private open_;
66
+ /** The width asked for; the panel is narrower where its row has no room for it. */
67
+ private width;
68
+ private drag;
69
+ private readonly observer;
70
+ private readonly onMove;
71
+ private readonly onUp;
72
+ constructor(host: HTMLElement, options: DockOptions);
73
+ addPage(page: DockPage): void;
74
+ /** Open `id`'s page, in place of the one open. */
75
+ open(id: string): void;
76
+ /**
77
+ * Shut the dock. The keyboard, if it was in the panel, goes to the page's
78
+ * rail button, or where the owner says when that is out of sight.
79
+ */
80
+ close(): void;
81
+ /** Open `id`'s page, or shut the dock when it is the one open. */
82
+ toggle(id: string): void;
83
+ /** Shut the dock if `id`'s page is the one open. */
84
+ closePage(id: string): void;
85
+ current(): string | null;
86
+ isOpen(id: string): boolean;
87
+ /** After switches changed which rail buttons show: Tab lands on one that does. */
88
+ syncRail(): void;
89
+ /** The panel's width again, after its row changed size. */
90
+ fit(): void;
91
+ destroy(): void;
92
+ private hideCurrent;
93
+ /** The widest the panel may be now: 377, or 38.2% of its row where that is less (never under 233). */
94
+ private maxNow;
95
+ private clamp;
96
+ /** The width shown: the one asked for, within the room there is. */
97
+ private shownWidth;
98
+ private setWidth;
99
+ private applyWidth;
100
+ private samePointer;
101
+ /** The panel's edge faces the chart: dragged towards it, the panel widens. */
102
+ private startDrag;
103
+ private stopDrag;
104
+ /** Arrow keys a step (towards the chart widens), Home the narrowest, End the widest. */
105
+ private onHandleKey;
106
+ /** A sheet over the chart (a phone) shuts on Escape; beside the chart it stays, the key left to the page. */
107
+ private onPanelKey;
108
+ /** One button takes Tab: the one focused last. */
109
+ private rove;
110
+ /** Up and down along the buttons that show (wrapping), Home and End to the ends. */
111
+ private onRailKey;
112
+ }
113
+ //# sourceMappingURL=WidgetDock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WidgetDock.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetDock.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEnE,+GAA+G;AAC/G,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,WAAW,CAAC;IACrB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IACjC,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACjC,0CAA0C;IAC1C,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,oDAAoD;IACpD,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACzC,4FAA4F;IAC5F,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC;IAC1B,8FAA8F;IAC9F,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,WAAW,GAAG,IAAI,CAAC;IACvD,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,eAAO,MAAM,UAAU;;;;CAAgD,CAAC;AACxE,yCAAyC;AACzC,eAAO,MAAM,eAAe,KAAK,CAAC;AAOlC;;;;;;;;GAQG;AACH,qBAAa,UAAU;IAuBU,OAAO,CAAC,QAAQ,CAAC,OAAO;IAtBvD,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoE;IAC1F,OAAO,CAAC,KAAK,CAAuB;IACpC,mFAAmF;IACnF,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,IAAI,CAAuF;IACnG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+B;IAExD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAGrB;IACF,OAAO,CAAC,QAAQ,CAAC,IAAI,CAKnB;gBAEU,IAAI,EAAE,WAAW,EAAmB,OAAO,EAAE,WAAW;IA0CpE,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAwB7B,kDAAkD;IAClD,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAatB;;;OAGG;IACH,KAAK,IAAI,IAAI;IAcb,kEAAkE;IAClE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKxB,oDAAoD;IACpD,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI3B,OAAO,IAAI,MAAM,GAAG,IAAI;IAIxB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI3B,kFAAkF;IAClF,QAAQ,IAAI,IAAI;IAShB,2DAA2D;IAC3D,GAAG,IAAI,IAAI;IAIX,OAAO,IAAI,IAAI;IAOf,OAAO,CAAC,WAAW;IAWnB,sGAAsG;IACtG,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,KAAK;IAIb,oEAAoE;IACpE,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,WAAW;IAKnB,8EAA8E;IAC9E,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,QAAQ;IAMhB,wFAAwF;IACxF,OAAO,CAAC,WAAW;IAenB,6GAA6G;IAC7G,OAAO,CAAC,UAAU;IASlB,kDAAkD;IAClD,OAAO,CAAC,IAAI;IAIZ,oFAAoF;IACpF,OAAO,CAAC,SAAS;CAalB"}