@candleview/core 2.9.5 → 2.9.8

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 (5) hide show
  1. package/README.md +76 -29
  2. package/dist/index.d.ts +1337 -250
  3. package/dist/index.js +708 -650
  4. package/dist/index.mjs +43129 -41376
  5. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -728,8 +728,43 @@ declare interface BubbleBoxMarkState {
728
728
  }
729
729
 
730
730
  export declare class CandleView {
731
- private core;
731
+ private dom;
732
+ private theme;
733
+ private i18n;
734
+ private dataManager;
735
+ private candleViewChart;
736
+ private panels;
737
+ private priceEvents;
738
+ marks: CandleViewMark | null;
739
+ private brushHint;
740
+ private config;
741
+ private container;
742
+ private isOwnContainer;
743
+ private currentTheme;
744
+ private topPanelState;
745
+ private leftPanelState;
746
+ private currentTimeframe;
747
+ private currentTimezone;
748
+ private chartType;
749
+ private onTimeframeChangeCallback;
732
750
  constructor(config: CandleViewConfig);
751
+ private resolveContainer;
752
+ private createAutoContainer;
753
+ private initDOM;
754
+ private initPanels;
755
+ private handleTimeframeChange;
756
+ private handleChartTypeChange;
757
+ private handleThemeToggle;
758
+ private handleTimezoneSelect;
759
+ private handleResize;
760
+ setData(data: ICandleViewDataPoint[]): void;
761
+ updateData(newData: ICandleViewDataPoint[]): void;
762
+ setTheme(themeType: 'light' | 'dark'): void;
763
+ setLocale(locale: 'en' | 'zh-cn'): void;
764
+ setOnTimeframeChangeCallback(callback: (candleView: CandleView, timeframe: TimeframeEnum) => void): void;
765
+ getOnTimeframeChangeCallback(): ((candleView: CandleView, timeframe: TimeframeEnum) => void) | null;
766
+ setChartType(type: MainChartType): void;
767
+ getCurrentTheme(): ThemeConfig;
733
768
  getTopPanelState(): {
734
769
  isTimeframeModalOpen: boolean;
735
770
  isIndicatorModalOpen: boolean;
@@ -743,7 +778,7 @@ export declare class CandleView {
743
778
  isMobileMenuOpen: boolean;
744
779
  activeTimeframe: TimeframeEnum;
745
780
  currentMainChartType: MainChartType;
746
- currentTimezone: string;
781
+ currentTimezone: TimezoneEnum;
747
782
  selectedSubChartIndicators: SubChartIndicatorType[];
748
783
  selectedMainChartIndicator: MainChartIndicatorInfo | null;
749
784
  mainIndicatorsSearch: string;
@@ -822,63 +857,22 @@ export declare class CandleView {
822
857
  clearAllMarks(): void;
823
858
  clearCurrentTool(): void;
824
859
  getCurrentTool(): string | null;
825
- setData(data: ICandleViewDataPoint[]): void;
826
- updateData(newData: ICandleViewDataPoint[]): void;
827
- getCurrentTheme(): ThemeConfig;
828
- setTheme(themeType: 'light' | 'dark'): void;
829
- setLocale(locale: 'en' | 'zh-cn'): void;
830
- setChartType(type: MainChartType): void;
831
860
  registerPriceEvents(events: PriceEvent[]): void;
832
861
  removePriceEventMarker(price: number): void;
833
862
  clearAllPriceEventMarkers(): void;
834
863
  getPriceEvents(): PriceEvent[];
835
- getChart(): Chart | null;
836
- destroy(): void;
837
- /**
838
- * Add a single static mark
839
- * @param time Timestamp
840
- * @param text Mark text
841
- * @param direction Mark direction (StaticMarkDirection.Top or StaticMarkDirection.Bottom)
842
- * @param type Mark type (StaticMarkType.Text or StaticMarkType.Arrow)
843
- * @param options Optional configuration
844
- */
845
864
  addStaticMark(time: number, text: string, direction: StaticMarkDirection, type: StaticMarkType, options?: IStaticMarkOptions): void;
846
- /**
847
- * Add multiple static marks in batch
848
- * @param marks Array of marks
849
- */
850
865
  addStaticMarks(marks: IStaticMarkItem[]): void;
851
- /**
852
- * Add a text mark (convenience method)
853
- * @param time Timestamp
854
- * @param text Mark text
855
- * @param direction Mark direction
856
- * @param options Optional configuration
857
- */
858
866
  addTextMark(time: number, text: string, direction: StaticMarkDirection, options?: IStaticMarkOptions): void;
859
- /**
860
- * Add an arrow mark (convenience method)
861
- * @param time Timestamp
862
- * @param direction Mark direction
863
- * @param options Optional configuration
864
- */
865
867
  addArrowMark(time: number, direction: StaticMarkDirection, options?: IStaticMarkOptions & {
866
868
  label?: string;
867
869
  }): void;
868
- /**
869
- * Add multiple text marks in batch
870
- * @param marks Array of text marks
871
- */
872
870
  addTextMarks(marks: Array<{
873
871
  time: number;
874
872
  text: string;
875
873
  direction: StaticMarkDirection;
876
874
  options?: IStaticMarkOptions;
877
875
  }>): void;
878
- /**
879
- * Add multiple arrow marks in batch
880
- * @param marks Array of arrow marks
881
- */
882
876
  addArrowMarks(marks: Array<{
883
877
  time: number;
884
878
  direction: StaticMarkDirection;
@@ -886,14 +880,40 @@ export declare class CandleView {
886
880
  label?: string;
887
881
  };
888
882
  }>): void;
889
- /**
890
- * Clear all static marks
891
- */
892
883
  clearAllStaticMarks(): void;
893
- /**
894
- * Get the count of static marks
895
- */
896
884
  getStaticMarkCount(): number;
885
+ getChart(): Chart | null;
886
+ setTitle(title: string): void;
887
+ openMainChartIndicator(indicatorType: MainChartIndicatorType, params?: Record<string, any>): void;
888
+ closeMainChartIndicator(indicatorType: MainChartIndicatorType): void;
889
+ closeAllMainChartIndicators(): void;
890
+ openSubChartIndicator(indicatorType: SubChartIndicatorType, onOpenModal?: (type: SubChartIndicatorType) => void, onClose?: (type: SubChartIndicatorType) => void): void;
891
+ closeSubChartIndicator(indicatorType: SubChartIndicatorType): void;
892
+ closeAllSubChartIndicators(): void;
893
+ private syncSubChartIndicatorState;
894
+ isMainChartIndicatorEnabled(indicatorType: MainChartIndicatorType): boolean;
895
+ isSubChartIndicatorEnabled(indicatorType: SubChartIndicatorType): boolean;
896
+ getEnabledMainChartIndicators(): MainChartIndicatorType[];
897
+ getEnabledSubChartIndicators(): SubChartIndicatorType[];
898
+ captureScreenshot(watermark?: string, watermarkOpacity?: number): Promise<string>;
899
+ destroy(): void;
900
+ }
901
+
902
+ declare class CandleViewChart {
903
+ private chart;
904
+ private container;
905
+ private theme;
906
+ private i18n;
907
+ private chartType;
908
+ private title;
909
+ constructor(container: HTMLElement, theme: Theme, i18n: I18n, chartType: MainChartType, title: string);
910
+ init(preprocessedData: DataPreprocessResult): void;
911
+ getChart(): Chart | null;
912
+ setData(data: DataPreprocessResult): void;
913
+ updateChartType(type: MainChartType): void;
914
+ updateTheme(theme: Theme): void;
915
+ updateI18n(i18n: I18n): void;
916
+ destroy(): void;
897
917
  }
898
918
 
899
919
  export declare interface CandleViewConfig {
@@ -902,7 +922,7 @@ export declare interface CandleViewConfig {
902
922
  parent?: HTMLElement;
903
923
  parentSelector?: string;
904
924
  id?: string;
905
- title?: string;
925
+ title: string;
906
926
  data?: ICandleViewDataPoint[];
907
927
  theme?: 'light' | 'dark';
908
928
  locale?: 'en' | 'zh-cn';
@@ -910,23 +930,99 @@ export declare interface CandleViewConfig {
910
930
  showLeftPanel?: boolean;
911
931
  chartType?: MainChartType;
912
932
  activeTimeframe?: TimeframeEnum;
913
- currentTimezone?: string;
933
+ currentTimezone?: TimezoneEnum;
914
934
  onToolSelect?: (tool: string) => void;
915
- onTimeframeChange?: (timeframe: string) => void;
935
+ onTimeframeChange?: (timeframe: TimeframeEnum) => void;
916
936
  onChartTypeChange?: (type: MainChartType) => void;
917
937
  onMainChartIndicatorSelect?: (indicator: MainChartIndicatorInfo) => void;
918
938
  onSubChartIndicatorSelect?: (indicators: SubChartIndicatorType[]) => void;
919
939
  onThemeToggle?: (theme: string) => void;
920
940
  onCameraClick?: () => void;
921
941
  onFullscreenClick?: () => void;
922
- onTimezoneSelect?: (timezone: string) => void;
942
+ onTimezoneSelect?: (timezone: TimezoneEnum) => void;
943
+ onTimeframeChangeCallback?: (candleView: CandleView, timeframe: TimeframeEnum) => void;
944
+ }
945
+
946
+ declare class CandleViewMark {
947
+ private chartManager;
948
+ private staticMarkManager;
949
+ private storedMarks;
950
+ private timezone;
951
+ constructor(chartManager: CandleViewChart);
952
+ setTimezone(timezone: TimezoneEnum): void;
953
+ private initStaticMarkManager;
954
+ private ensureManager;
955
+ reapplyMarks(): void;
956
+ getStoredMarks(): IStaticMarkItem[];
957
+ private convertToChartTime;
958
+ addStaticMark(time: number, text: string, direction: StaticMarkDirection, type: StaticMarkType, options?: IStaticMarkOptions): void;
959
+ addStaticMarks(marks: IStaticMarkItem[], shouldStore?: boolean): void;
960
+ addTextMark(time: number, text: string, direction: StaticMarkDirection, options?: IStaticMarkOptions): void;
961
+ addArrowMark(time: number, direction: StaticMarkDirection, options?: IStaticMarkOptions & {
962
+ label?: string;
963
+ }): void;
964
+ addTextMarks(marks: Array<{
965
+ time: number;
966
+ text: string;
967
+ direction: StaticMarkDirection;
968
+ options?: IStaticMarkOptions;
969
+ }>): void;
970
+ addArrowMarks(marks: Array<{
971
+ time: number;
972
+ direction: StaticMarkDirection;
973
+ options?: IStaticMarkOptions & {
974
+ label?: string;
975
+ };
976
+ }>): void;
977
+ clearAllStaticMarks(): void;
978
+ getStaticMarkCount(): number;
979
+ refreshMarks(): void;
980
+ destroy(): void;
981
+ }
982
+
983
+ declare class ChannelMarkersManager implements MarkManagerModule {
984
+ parallelChannelMarkManager: ParallelChannelMarkManager | null;
985
+ linearRegressionChannelMarkManager: LinearRegressionChannelMarkManager | null;
986
+ equidistantChannelMarkManager: EquidistantChannelMarkManager | null;
987
+ disjointChannelMarkManager: DisjointChannelMarkManager | null;
988
+ initialize(context: MarkManagerContext): void;
989
+ updateProps(context: MarkManagerContext): void;
990
+ destroy(): void;
991
+ clearState(): void;
992
+ isOperatingOnChart(): boolean;
993
+ getMarkAtPoint(point: {
994
+ x: number;
995
+ y: number;
996
+ }): any;
997
+ handleMouseDown(point: {
998
+ x: number;
999
+ y: number;
1000
+ }): any;
1001
+ handleMouseMove(point: {
1002
+ x: number;
1003
+ y: number;
1004
+ }): any;
1005
+ handleMouseUp(point: {
1006
+ x: number;
1007
+ y: number;
1008
+ }): any;
1009
+ handleKeyDown(event: KeyboardEvent): any;
1010
+ setParallelChannelMarkMode(chart: Chart): any;
1011
+ setLinearRegressionChannelMode(chart: Chart): any;
1012
+ setEquidistantChannelMarkMode(chart: Chart): any;
1013
+ setDisjointChannelMarkMode(chart: Chart): any;
1014
+ deleteMark(drawingType: DrawingType, iGraph: any): void;
1015
+ deleteAllMarks(): void;
1016
+ showAllMarks(): void;
1017
+ hideAllMarks(): void;
923
1018
  }
924
1019
 
925
1020
  declare class Chart {
926
- private container;
1021
+ container: HTMLElement;
927
1022
  originalData: ICandleViewDataPoint[];
928
1023
  preprocessedData: DataPreprocessResult | null;
929
1024
  private theme;
1025
+ private title;
930
1026
  currentTheme: ThemeConfig;
931
1027
  private chartType;
932
1028
  private resizeObserver;
@@ -936,72 +1032,80 @@ declare class Chart {
936
1032
  containerRef: {
937
1033
  current: HTMLDivElement | null;
938
1034
  };
939
- drawingManager: DrawingManager | null;
940
- chartMarkManager: ChartMarkManager | null;
941
- currentDrawingType: DrawingType | null;
942
1035
  onCloseDrawing?: () => void;
943
1036
  private chartInfo;
944
1037
  private chartInfoContainer;
945
- currentMarkSettingsStyle: IMarkStyle | null;
946
1038
  private currentOHLC;
947
1039
  private mousePosition;
948
1040
  private showOHLC;
949
- private indicators;
950
- private visibleIndicatorTypes;
951
- private maIndicatorValues;
952
- private emaIndicatorValues;
953
- private bollingerBandsValues;
954
- private ichimokuValues;
955
- private donchianChannelValues;
956
- private envelopeValues;
957
- private vwapValue;
958
1041
  private originalChartOptions;
959
- textMarkToolBar: TextMarkToolBar | null;
960
- graphMarkToolBar: GraphMarkToolBar | null;
961
- chartPanesManager: ChartPanesManager | null;
962
1042
  private i18n;
963
- mainChartTechnicalIndicatorManager: MainChartTechnicalIndicatorManager | null;
964
1043
  private chartEventManager;
1044
+ private marketProfile;
1045
+ private volumeHeatMap;
1046
+ mainChartManager: MainChartManager | null;
1047
+ private indicatorUpdateTimer;
1048
+ private panesUpdateTimer;
1049
+ private marketProfileUpdateTimer;
1050
+ private heatMapUpdateTimer;
1051
+ indicatorsManager: ChartIndicatorsManager;
1052
+ modalsManager: ChartModalsManager;
1053
+ tools: ChartTools;
1054
+ get drawingManager(): DrawingManager | null;
1055
+ get chartMarkManager(): ChartMarkManager | null;
1056
+ get currentDrawingType(): DrawingType | null;
1057
+ set currentDrawingType(v: DrawingType | null);
1058
+ get textMarkToolBar(): TextMarkToolBar | null;
1059
+ get graphMarkToolBar(): GraphMarkToolBar | null;
1060
+ get currentMarkSettingsStyle(): IMarkStyle | null;
1061
+ set currentMarkSettingsStyle(v: IMarkStyle | null);
1062
+ get chartPanesManager(): ChartPanesManager | null;
1063
+ get leftPanel(): LeftPanel | null;
1064
+ set leftPanel(v: LeftPanel | null);
1065
+ get onExitBrushMode(): (() => void) | undefined;
1066
+ set onExitBrushMode(v: (() => void) | undefined);
1067
+ get indicators(): MainChartIndicatorInfo[];
1068
+ get visibleIndicatorTypes(): MainChartIndicatorType[];
1069
+ get mainChartTechnicalIndicatorManager(): MainChartTechnicalIndicatorManager | null;
1070
+ get maIndicatorValues(): {
1071
+ [key: string]: number;
1072
+ };
1073
+ get emaIndicatorValues(): {
1074
+ [key: string]: number;
1075
+ };
1076
+ get bollingerBandsValues(): {
1077
+ [key: string]: number;
1078
+ };
1079
+ get ichimokuValues(): {
1080
+ [key: string]: number;
1081
+ };
1082
+ get donchianChannelValues(): {
1083
+ [key: string]: number;
1084
+ };
1085
+ get envelopeValues(): {
1086
+ [key: string]: number;
1087
+ };
1088
+ get vwapValue(): number | null;
1089
+ get imageUploadModal(): ImageUploadModal | null;
1090
+ get mainChartIndicatorsModal(): MainChartIndicatorsSettingModal | null;
1091
+ get subChartIndicatorsModal(): SubChartIndicatorsSettingModal | null;
1092
+ get textMarkEditorModal(): TextMarkEditorModal | null;
1093
+ get currentSubChartType(): SubChartIndicatorType | null;
1094
+ set currentSubChartType(v: SubChartIndicatorType | null);
965
1095
  private onToggleOHLCCallback?;
966
1096
  private onOpenIndicatorsModalCallback?;
967
1097
  private onRemoveIndicatorCallback?;
968
1098
  private onToggleIndicatorCallback?;
969
1099
  private onEditIndicatorParamsCallback?;
970
1100
  private onOpenIndicatorSettingsCallback?;
971
- private isDraggingToolbar;
972
- private toolbarDragStartPoint;
973
- private toolbarDragStartPosition;
974
- private imageUploadModal;
975
- private mainChartIndicatorsModal;
976
- private subChartIndicatorsModal;
977
- private textMarkEditorModal;
978
- private isImageUploadModalOpen;
979
- private isMainChartIndicatorsModalOpen;
980
- private isSubChartIndicatorsModalOpen;
981
- private isTextMarkEditorModalOpen;
982
- private onImageConfirmCallback?;
983
- private onMainChartIndicatorConfirmCallback?;
984
- private onSubChartIndicatorConfirmCallback?;
985
- private onTextMarkEditorSaveCallback?;
986
- private onTextMarkEditorCancelCallback?;
987
- private marketProfile;
988
- private volumeHeatMap;
989
- mainChartManager: MainChartManager | null;
990
- private pendingImageUrl;
991
- private editingIndicator;
992
- private editingSubChartParams;
993
- currentSubChartType: SubChartIndicatorType | null;
994
- private textMarkEditorPosition;
995
- private textMarkEditorData;
996
- onExitBrushMode?: () => void;
997
- leftPanel: LeftPanel | null;
998
1101
  constructor(options: {
999
1102
  container: HTMLElement;
1000
1103
  data: ICandleViewDataPoint[];
1001
1104
  theme: Theme;
1002
1105
  chartType: MainChartType;
1003
- preprocessedData?: DataPreprocessResult;
1106
+ preprocessedData: DataPreprocessResult;
1004
1107
  i18n: I18n;
1108
+ title: string;
1005
1109
  onReady?: () => void;
1006
1110
  onCloseDrawing?: () => void;
1007
1111
  onToggleOHLC?: () => void;
@@ -1022,7 +1126,6 @@ declare class Chart {
1022
1126
  hideMarketProfile(): void;
1023
1127
  showHeatMap(): void;
1024
1128
  hideHeatMap(): void;
1025
- private initMainChartTechnicalIndicatorManager;
1026
1129
  private initPanesManager;
1027
1130
  private initEventManager;
1028
1131
  private setupContainerEvents;
@@ -1042,22 +1145,18 @@ declare class Chart {
1042
1145
  getI18n(): I18n;
1043
1146
  openImageUploadModal(): void;
1044
1147
  closeImageUploadModal(): void;
1045
- private updateImageUploadModal;
1046
1148
  openMainChartIndicatorsModal(indicator?: MainChartIndicatorInfo | null): void;
1047
1149
  closeMainChartIndicatorsModal(): void;
1048
- private updateMainChartIndicatorsModal;
1049
1150
  openSubChartIndicatorsModal(params: IIndicatorInfo[], indicatorType: SubChartIndicatorType): void;
1050
1151
  closeSubChartIndicatorsModal(): void;
1051
- private updateSubChartIndicatorsModal;
1052
1152
  openTextMarkEditorModal(position: {
1053
1153
  x: number;
1054
1154
  y: number;
1055
1155
  }, text: string, color: string, fontSize: number, isBold: boolean, isItalic: boolean): void;
1056
1156
  closeTextMarkEditorModal(): void;
1057
- private updateTextMarkEditorModal;
1058
1157
  updateModalsTheme(): void;
1059
1158
  updateModalsI18n(i18n: I18n): void;
1060
- private updateChartInfoData;
1159
+ updateChartInfoData(): void;
1061
1160
  setTitle(title: string): void;
1062
1161
  setIndicators(indicators: MainChartIndicatorInfo[], visibleTypes: MainChartIndicatorType[]): void;
1063
1162
  setIndicatorValues(values: {
@@ -1093,18 +1192,14 @@ declare class Chart {
1093
1192
  private createHiddenBaseSeries;
1094
1193
  addOrUpdateMainChartIndicator(indicator: MainChartIndicatorInfo): void;
1095
1194
  removeMainChartIndicator(type: MainChartIndicatorType): void;
1195
+ toggleIndicatorVisibility(type: MainChartIndicatorType): void;
1196
+ updateIndicatorParams(indicatorId: string, newParams: MainChartIndicatorParam[]): void;
1096
1197
  getMainChartIndicators(): MainChartIndicatorInfo[];
1097
1198
  getVisibleIndicatorTypes(): MainChartIndicatorType[];
1098
- updateIndicatorParams(indicatorId: string, newParams: MainChartIndicatorParam[]): void;
1099
- toggleIndicatorVisibility(type: MainChartIndicatorType): void;
1100
1199
  private setupResizeObserver;
1101
1200
  handleResize(): void;
1102
1201
  getChart(): IChartApi | null;
1103
- private indicatorUpdateTimer;
1104
- private panesUpdateTimer;
1105
- private marketProfileUpdateTimer;
1106
- private heatMapUpdateTimer;
1107
- setData(preprocessedData?: DataPreprocessResult): void;
1202
+ setData(preprocessedData: DataPreprocessResult): void;
1108
1203
  updateChartType(type: MainChartType): void;
1109
1204
  getCurrentTheme(): ThemeConfig;
1110
1205
  setTheme(themeType: 'light' | 'dark'): void;
@@ -1186,7 +1281,6 @@ declare class Chart {
1186
1281
  closeTextMarkToolBar(): void;
1187
1282
  closeGraphMarkToolBar(): void;
1188
1283
  closeTableMarkToolBar(): void;
1189
- private movementDisableCount;
1190
1284
  disableChartMovement(): void;
1191
1285
  enableChartMovement(): void;
1192
1286
  handleViewportShiftLeft(): void;
@@ -1195,152 +1289,292 @@ declare class Chart {
1195
1289
  handleZoomOut(): void;
1196
1290
  addSubChart(indicatorType: SubChartIndicatorType, onSettingsClick: (type: SubChartIndicatorType) => void, onCloseClick: (type: SubChartIndicatorType) => void): void;
1197
1291
  removeSubChart(indicatorType: SubChartIndicatorType): void;
1292
+ getEnabledMainChartIndicators(): MainChartIndicatorType[];
1293
+ getEnabledSubChartIndicators(): SubChartIndicatorType[];
1294
+ isMainChartIndicatorEnabled(indicatorType: MainChartIndicatorType): boolean;
1295
+ isSubChartIndicatorEnabled(indicatorType: SubChartIndicatorType): boolean;
1198
1296
  private cleanupEvents;
1199
1297
  destroy(): void;
1200
1298
  }
1201
1299
 
1300
+ declare class ChartIndicatorsManager {
1301
+ private chart;
1302
+ indicators: MainChartIndicatorInfo[];
1303
+ visibleIndicatorTypes: MainChartIndicatorType[];
1304
+ mainChartTechnicalIndicatorManager: MainChartTechnicalIndicatorManager | null;
1305
+ maIndicatorValues: {
1306
+ [key: string]: number;
1307
+ };
1308
+ emaIndicatorValues: {
1309
+ [key: string]: number;
1310
+ };
1311
+ bollingerBandsValues: {
1312
+ [key: string]: number;
1313
+ };
1314
+ ichimokuValues: {
1315
+ [key: string]: number;
1316
+ };
1317
+ donchianChannelValues: {
1318
+ [key: string]: number;
1319
+ };
1320
+ envelopeValues: {
1321
+ [key: string]: number;
1322
+ };
1323
+ vwapValue: number | null;
1324
+ constructor(chart: Chart);
1325
+ init(currentTheme: ThemeConfig): void;
1326
+ addOrUpdateIndicator(indicator: MainChartIndicatorInfo): void;
1327
+ removeIndicator(type: MainChartIndicatorType): void;
1328
+ toggleVisibility(type: MainChartIndicatorType): void;
1329
+ updateParams(indicatorId: string, newParams: MainChartIndicatorParam[]): void;
1330
+ updateAllIndicatorsData(displayData: any[]): void;
1331
+ setIndicatorValues(values: {
1332
+ ma?: {
1333
+ [key: string]: number;
1334
+ };
1335
+ ema?: {
1336
+ [key: string]: number;
1337
+ };
1338
+ bollinger?: {
1339
+ [key: string]: number;
1340
+ };
1341
+ ichimoku?: {
1342
+ [key: string]: number;
1343
+ };
1344
+ donchian?: {
1345
+ [key: string]: number;
1346
+ };
1347
+ envelope?: {
1348
+ [key: string]: number;
1349
+ };
1350
+ vwap?: number | null;
1351
+ }): void;
1352
+ private updateVisibleTypes;
1353
+ getIndicators(): MainChartIndicatorInfo[];
1354
+ getVisibleTypes(): MainChartIndicatorType[];
1355
+ updateTheme(theme: ThemeConfig): void;
1356
+ destroy(): void;
1357
+ getEnabledIndicators(): MainChartIndicatorType[];
1358
+ isIndicatorEnabled(indicatorType: MainChartIndicatorType): boolean;
1359
+ }
1360
+
1202
1361
  declare class ChartMarkManager {
1203
- lineSegmentMarkManager: LineSegmentMarkManager | null;
1204
- axisLineMarkManager: AxisLineMarkManager | null;
1205
- arrowLineMarkManager: ArrowLineMarkManager | null;
1206
- parallelChannelMarkManager: ParallelChannelMarkManager | null;
1207
- currentOperationDrawingType: DrawingType | null;
1208
- linearRegressionChannelMarkManager: LinearRegressionChannelMarkManager | null;
1209
- equidistantChannelMarkManager: EquidistantChannelMarkManager | null;
1210
- disjointChannelMarkManager: DisjointChannelMarkManager | null;
1211
- andrewPitchforkMarkManager: AndrewPitchforkMarkManager | null;
1212
- enhancedAndrewPitchforkMarkManager: EnhancedAndrewPitchforkMarkManager | null;
1213
- rectangleMarkManager: RectangleMarkManager | null;
1214
- circleMarkManager: CircleMarkManager | null;
1215
- ellipseMarkManager: EllipseMarkManager | null;
1216
- triangleMarkManager: TriangleMarkManager | null;
1217
- gannFanMarkManager: GannFanMarkManager | null;
1218
- gannBoxMarkManager: GannBoxMarkManager | null;
1219
- gannRectangleMarkManager: GannRectangleMarkManager | null;
1220
- fibonacciTimeZoonMarkManager: FibonacciTimeZoonMarkManager | null;
1221
- fibonacciRetracementMarkManager: FibonacciRetracementMarkManager | null;
1222
- fibonacciArcMarkManager: FibonacciArcMarkManager | null;
1223
- fibonacciCircleMarkManager: FibonacciCircleMarkManager | null;
1224
- fibonacciSpiralMarkManager: FibonacciSpiralMarkManager | null;
1225
- fibonacciWedgeMarkManager: FibonacciWedgeMarkManager | null;
1226
- fibonacciFanMarkManager: FibonacciFanMarkManager | null;
1227
- fibonacciChannelMarkManager: FibonacciChannelMarkManager | null;
1228
- fibonacciExtensionBasePriceMarkManager: FibonacciExtensionBasePriceMarkManager | null;
1229
- fibonacciExtensionBaseTimeMarkManager: FibonacciExtensionBaseTimeMarkManager | null;
1230
- sectorMarkManager: SectorMarkManager | null;
1231
- curveMarkManager: CurveMarkManager | null;
1232
- doubleCurveMarkManager: DoubleCurveMarkManager | null;
1233
- xabcdMarkManager: XABCDMarkManager | null;
1234
- headAndShouldersMarkManager: HeadAndShouldersMarkManager | null;
1235
- abcdMarkManager: ABCDMarkManager | null;
1236
- triangleABCDMarkManager: TriangleABCDMarkManager | null;
1237
- elliottImpulseMarkManager: ElliottImpulseMarkManager | null;
1238
- elliottCorrectiveMarkManager: ElliottCorrectiveMarkManager | null;
1239
- elliottTriangleMarkManager: ElliottTriangleMarkManager | null;
1240
- elliottDoubleCombinationMarkManager: ElliottDoubleCombinationMarkManager | null;
1241
- elliottTripleCombinationMarkManager: ElliottTripleCombinationMarkManager | null;
1242
- timeRangeMarkManager: TimeRangeMarkManager | null;
1243
- priceRangeMarkManager: PriceRangeMarkManager | null;
1244
- timePriceRangeMarkManager: TimePriceRangeMarkManager | null;
1245
- pencilMarkManager: PencilMarkManager | null;
1246
- penMarkManager: PenMarkManager | null;
1247
- brushMarkManager: BrushMarkManager | null;
1248
- markerPenMarkManager: MarkerPenMarkManager | null;
1249
- eraserMarkManager: EraserMarkManager | null;
1250
- thickArrowLineMarkManager: ThickArrowLineMarkManager | null;
1251
- imageMarkManager: ImageMarkManager | null;
1252
- longPositionMarkManager: LongPositionMarkManager | null;
1253
- shortPositionMarkManager: ShortPositionMarkManager | null;
1254
- priceLabelMarkManager: PriceLabelMarkManager | null;
1255
- flagMarkManager: FlagMarkManager | null;
1256
- priceNoteMarkManager: PriceNoteMarkManager | null;
1257
- signpostMarkManager: SignPostMarkManager | null;
1258
- emojiMarkManager: EmojiMarkManager | null;
1259
- pinMarkManager: PinMarkManager | null;
1260
- bubbleBoxMarkManager: BubbleBoxMarkManager | null;
1261
- textEditMarkManager: TextEditMarkManager | null;
1262
- mockKLineMarkManager: MockKLineMarkManager | null;
1263
- heatMapMarkManager: HeatMapMarkManager | null;
1264
- schiffPitchforkMarkManager: SchiffPitchforkMarkManager | null;
1265
- timeEventMarkManager: TimeEventMarkManager | null;
1266
- priceEventMarkManager: PriceEventMarkManager | null;
1362
+ lineMarkers: LineMarkersManager;
1363
+ channelMarkers: ChannelMarkersManager;
1364
+ forkMarkers: ForkMarkersManager;
1365
+ shapeMarkers: ShapeMarkersManager;
1366
+ gannMarkers: GannMarkersManager;
1367
+ fibonacciMarkers: FibonacciMarkersManager;
1368
+ patternMarkers: PatternMarkersManager;
1369
+ elliottMarkers: ElliottMarkersManager;
1370
+ rangeMarkers: RangeMarkersManager;
1371
+ penMarkers: PenMarkersManager;
1372
+ textMarkers: TextMarkersManager;
1373
+ contentMarkers: ContentMarkersManager;
1374
+ scriptMarkers: ScriptMarkersManager;
1375
+ specialMarkers: SpecialMarkersManager;
1376
+ get lineSegmentMarkManager(): LineSegmentMarkManager | null;
1377
+ get axisLineMarkManager(): AxisLineMarkManager | null;
1378
+ get arrowLineMarkManager(): ArrowLineMarkManager | null;
1379
+ get thickArrowLineMarkManager(): ThickArrowLineMarkManager | null;
1380
+ get parallelChannelMarkManager(): ParallelChannelMarkManager | null;
1381
+ get linearRegressionChannelMarkManager(): LinearRegressionChannelMarkManager | null;
1382
+ get equidistantChannelMarkManager(): EquidistantChannelMarkManager | null;
1383
+ get disjointChannelMarkManager(): DisjointChannelMarkManager | null;
1384
+ get andrewPitchforkMarkManager(): AndrewPitchforkMarkManager | null;
1385
+ get enhancedAndrewPitchforkMarkManager(): EnhancedAndrewPitchforkMarkManager | null;
1386
+ get schiffPitchforkMarkManager(): SchiffPitchforkMarkManager | null;
1387
+ get rectangleMarkManager(): RectangleMarkManager | null;
1388
+ get circleMarkManager(): CircleMarkManager | null;
1389
+ get ellipseMarkManager(): EllipseMarkManager | null;
1390
+ get triangleMarkManager(): TriangleMarkManager | null;
1391
+ get sectorMarkManager(): SectorMarkManager | null;
1392
+ get curveMarkManager(): CurveMarkManager | null;
1393
+ get doubleCurveMarkManager(): DoubleCurveMarkManager | null;
1394
+ get gannFanMarkManager(): GannFanMarkManager | null;
1395
+ get gannBoxMarkManager(): GannBoxMarkManager | null;
1396
+ get gannRectangleMarkManager(): GannRectangleMarkManager | null;
1397
+ get fibonacciTimeZoonMarkManager(): FibonacciTimeZoonMarkManager | null;
1398
+ get fibonacciRetracementMarkManager(): FibonacciRetracementMarkManager | null;
1399
+ get fibonacciArcMarkManager(): FibonacciArcMarkManager | null;
1400
+ get fibonacciCircleMarkManager(): FibonacciCircleMarkManager | null;
1401
+ get fibonacciSpiralMarkManager(): FibonacciSpiralMarkManager | null;
1402
+ get fibonacciWedgeMarkManager(): FibonacciWedgeMarkManager | null;
1403
+ get fibonacciFanMarkManager(): FibonacciFanMarkManager | null;
1404
+ get fibonacciChannelMarkManager(): FibonacciChannelMarkManager | null;
1405
+ get fibonacciExtensionBasePriceMarkManager(): FibonacciExtensionBasePriceMarkManager | null;
1406
+ get fibonacciExtensionBaseTimeMarkManager(): FibonacciExtensionBaseTimeMarkManager | null;
1407
+ get xabcdMarkManager(): XABCDMarkManager | null;
1408
+ get headAndShouldersMarkManager(): HeadAndShouldersMarkManager | null;
1409
+ get abcdMarkManager(): ABCDMarkManager | null;
1410
+ get triangleABCDMarkManager(): TriangleABCDMarkManager | null;
1411
+ get elliottImpulseMarkManager(): ElliottImpulseMarkManager | null;
1412
+ get elliottCorrectiveMarkManager(): ElliottCorrectiveMarkManager | null;
1413
+ get elliottTriangleMarkManager(): ElliottTriangleMarkManager | null;
1414
+ get elliottDoubleCombinationMarkManager(): ElliottDoubleCombinationMarkManager | null;
1415
+ get elliottTripleCombinationMarkManager(): ElliottTripleCombinationMarkManager | null;
1416
+ get timeRangeMarkManager(): TimeRangeMarkManager | null;
1417
+ get priceRangeMarkManager(): PriceRangeMarkManager | null;
1418
+ get timePriceRangeMarkManager(): TimePriceRangeMarkManager | null;
1419
+ get longPositionMarkManager(): LongPositionMarkManager | null;
1420
+ get shortPositionMarkManager(): ShortPositionMarkManager | null;
1421
+ get pencilMarkManager(): PencilMarkManager | null;
1422
+ get penMarkManager(): PenMarkManager | null;
1423
+ get brushMarkManager(): BrushMarkManager | null;
1424
+ get markerPenMarkManager(): MarkerPenMarkManager | null;
1425
+ get eraserMarkManager(): EraserMarkManager | null;
1426
+ get priceLabelMarkManager(): PriceLabelMarkManager | null;
1427
+ get flagMarkManager(): FlagMarkManager | null;
1428
+ get priceNoteMarkManager(): PriceNoteMarkManager | null;
1429
+ get signpostMarkManager(): SignPostMarkManager | null;
1430
+ get emojiMarkManager(): EmojiMarkManager | null;
1431
+ get pinMarkManager(): PinMarkManager | null;
1432
+ get bubbleBoxMarkManager(): BubbleBoxMarkManager | null;
1433
+ get textEditMarkManager(): TextEditMarkManager | null;
1434
+ get imageMarkManager(): ImageMarkManager | null;
1435
+ get timeEventMarkManager(): TimeEventMarkManager | null;
1436
+ get priceEventMarkManager(): PriceEventMarkManager | null;
1437
+ get mockKLineMarkManager(): MockKLineMarkManager | null;
1438
+ get heatMapMarkManager(): HeatMapMarkManager | null;
1267
1439
  constructor();
1268
- initializeEraserMarkManager(chart: Chart): void;
1440
+ initializeMarkManager(chart: Chart): void;
1441
+ initializeMarkManagerProps(chart: Chart): void;
1442
+ destroyMarkManager(): void;
1443
+ clearAllMarkManagerState(): void;
1269
1444
  registerAllDeletableMarks(): void;
1270
- initializeMarkManager: (chart: Chart) => void;
1271
- initializeMarkManagerProps: (chart: Chart) => void;
1272
- destroyMarkManager: () => void;
1273
- setMockKLineMarkMode: (chart: Chart) => void;
1274
- setTextEditMarkMode: (chart: Chart) => void;
1275
- setBubbleBoxMarkMode: (chart: Chart) => void;
1276
- setPinMarkMode: (chart: Chart) => void;
1277
- setEmojiMarkMode: (chart: Chart, emoji: string) => void;
1278
- setSignpostMarkMode: (chart: Chart) => void;
1279
- setPriceNoteMarkMode: (chart: Chart) => void;
1280
- setFlagMarkMode: (chart: Chart) => void;
1281
- setPriceLabelMode: (chart: Chart) => void;
1282
- setShortPositionMarkMode: (chart: Chart) => void;
1283
- setLongPositionMarkMode: (chart: Chart) => void;
1284
- setThickArrowLineMode: (chart: Chart) => void;
1285
- setEraserMode: (chart: Chart) => void;
1286
- setMarkerPenMode: (chart: Chart) => void;
1287
- setBrushMode: (chart: Chart) => void;
1288
- setPenMode: (chart: Chart) => void;
1289
- setPencilMode: (chart: Chart) => void;
1290
- setTimePriceRangeMarkMode: (chart: Chart) => void;
1291
- setPriceRangeMarkMode: (chart: Chart) => void;
1292
- setTimeRangeMarkMode: (chart: Chart) => void;
1293
- setElliottTripleCombinationMode: (chart: Chart) => void;
1294
- setElliottDoubleCombinationMode: (chart: Chart) => void;
1295
- setElliottTriangleMode: (chart: Chart) => void;
1296
- setElliottCorrectiveMode: (chart: Chart) => void;
1297
- setElliottImpulseMode: (chart: Chart) => void;
1298
- setTriangleABCDMode: (chart: Chart) => void;
1299
- setABCDMode: (chart: Chart) => void;
1300
- setHeadAndShouldersMode: (chart: Chart) => void;
1301
- setXABCDMode: (chart: Chart) => void;
1302
- setDoubleCurveMode: (chart: Chart) => void;
1303
- setCurveMode: (chart: Chart) => void;
1304
- setSectorMode: (chart: Chart) => void;
1305
- setFibonacciExtensionBaseTimeMode: (chart: Chart) => void;
1306
- setFibonacciExtensionBasePriceMode: (chart: Chart) => void;
1307
- setFibonacciChannelMode: (chart: Chart) => void;
1308
- setFibonacciFanMode: (chart: Chart) => void;
1309
- setFibonacciWedgeMode: (chart: Chart) => void;
1310
- setFibonacciSpiralMode: (chart: Chart) => void;
1311
- setFibonacciCircleMode: (chart: Chart) => void;
1312
- setFibonacciArcMode: (chart: Chart) => void;
1313
- setFibonacciRetracementMode: (chart: Chart) => void;
1314
- setFibonacciTimeZoonMode: (chart: Chart) => void;
1315
- setGannRectangleMode: (chart: Chart) => void;
1316
- setGannBoxMode: (chart: Chart) => void;
1317
- setGannFanMode: (chart: Chart) => void;
1318
- setTriangleMarkMode: (chart: Chart) => void;
1319
- setEllipseMarkMode: (chart: Chart) => void;
1320
- setCircleMarkMode: (chart: Chart) => void;
1321
- setRectangleMarkMode: (chart: Chart) => void;
1322
- setEnhancedAndrewPitchforkMode: (chart: Chart) => void;
1323
- setAndrewPitchforkMode: (chart: Chart) => void;
1324
- setDisjointChannelMarkMode: (chart: Chart) => void;
1325
- setEquidistantChannelMarkMode: (chart: Chart) => void;
1326
- setLinearRegressionChannelMode: (chart: Chart) => void;
1327
- setLineSegmentMarkMode: (chart: Chart) => void;
1328
- setHorizontalLineMode: (chart: Chart) => void;
1329
- setVerticalLineMode: (chart: Chart) => void;
1330
- setArrowLineMarkMode: (chart: Chart) => void;
1331
- setParallelChannelMarkMode: (chart: Chart) => void;
1332
- clearAllMarkManagerState: () => void;
1333
- setPriceEventMode: (chart: Chart) => void;
1334
- setTimeEventMode: (chart: Chart) => void;
1335
- setSchiffPitchforkMode: (chart: Chart) => void;
1336
- setHeatMapMode: (chart: Chart) => void;
1337
- clearAllMarkMode: (chart: Chart) => void;
1338
- getDrawingStepFromPhase: (phase: "firstPoint" | "secondPoint" | "widthAdjust" | "none") => number;
1339
- deleteMark: (drawingType: DrawingType, iGraph: IGraph) => void;
1340
- deleteAllMark: () => void;
1445
+ initializeEraserMarkManager(chart: Chart): void;
1446
+ closeAllBrushTools(chart: Chart): void;
1447
+ getDrawingStepFromPhase(phase: 'firstPoint' | 'secondPoint' | 'widthAdjust' | 'none'): number;
1448
+ deleteMark(drawingType: DrawingType, iGraph: IGraph): void;
1449
+ deleteAllMark(): void;
1341
1450
  showAllMarks(): void;
1342
1451
  hideAllMarks(): void;
1343
- closeAllBrushTools: (chart: Chart) => void;
1452
+ setLineSegmentMarkMode(chart: Chart): void;
1453
+ setArrowLineMarkMode(chart: Chart): void;
1454
+ setThickArrowLineMode(chart: Chart): void;
1455
+ setHorizontalLineMode(chart: Chart): void;
1456
+ setVerticalLineMode(chart: Chart): void;
1457
+ setParallelChannelMarkMode(chart: Chart): void;
1458
+ setLinearRegressionChannelMode(chart: Chart): void;
1459
+ setEquidistantChannelMarkMode(chart: Chart): void;
1460
+ setDisjointChannelMarkMode(chart: Chart): void;
1461
+ setAndrewPitchforkMode(chart: Chart): void;
1462
+ setEnhancedAndrewPitchforkMode(chart: Chart): void;
1463
+ setSchiffPitchforkMode(chart: Chart): void;
1464
+ setRectangleMarkMode(chart: Chart): void;
1465
+ setCircleMarkMode(chart: Chart): void;
1466
+ setEllipseMarkMode(chart: Chart): void;
1467
+ setTriangleMarkMode(chart: Chart): void;
1468
+ setSectorMode(chart: Chart): void;
1469
+ setCurveMode(chart: Chart): void;
1470
+ setDoubleCurveMode(chart: Chart): void;
1471
+ setGannFanMode(chart: Chart): void;
1472
+ setGannBoxMode(chart: Chart): void;
1473
+ setGannRectangleMode(chart: Chart): void;
1474
+ setFibonacciTimeZoonMode(chart: Chart): void;
1475
+ setFibonacciRetracementMode(chart: Chart): void;
1476
+ setFibonacciArcMode(chart: Chart): void;
1477
+ setFibonacciCircleMode(chart: Chart): void;
1478
+ setFibonacciSpiralMode(chart: Chart): void;
1479
+ setFibonacciWedgeMode(chart: Chart): void;
1480
+ setFibonacciFanMode(chart: Chart): void;
1481
+ setFibonacciChannelMode(chart: Chart): void;
1482
+ setFibonacciExtensionBasePriceMode(chart: Chart): void;
1483
+ setFibonacciExtensionBaseTimeMode(chart: Chart): void;
1484
+ setXABCDMode(chart: Chart): void;
1485
+ setHeadAndShouldersMode(chart: Chart): void;
1486
+ setABCDMode(chart: Chart): void;
1487
+ setTriangleABCDMode(chart: Chart): void;
1488
+ setElliottImpulseMode(chart: Chart): void;
1489
+ setElliottCorrectiveMode(chart: Chart): void;
1490
+ setElliottTriangleMode(chart: Chart): void;
1491
+ setElliottDoubleCombinationMode(chart: Chart): void;
1492
+ setElliottTripleCombinationMode(chart: Chart): void;
1493
+ setTimeRangeMarkMode(chart: Chart): void;
1494
+ setPriceRangeMarkMode(chart: Chart): void;
1495
+ setTimePriceRangeMarkMode(chart: Chart): void;
1496
+ setLongPositionMarkMode(chart: Chart): void;
1497
+ setShortPositionMarkMode(chart: Chart): void;
1498
+ setMockKLineMarkMode(chart: Chart): void;
1499
+ setTextEditMarkMode(chart: Chart): void;
1500
+ setBubbleBoxMarkMode(chart: Chart): void;
1501
+ setPinMarkMode(chart: Chart): void;
1502
+ setEmojiMarkMode(chart: Chart, emoji: string): void;
1503
+ setSignpostMarkMode(chart: Chart): void;
1504
+ setPriceNoteMarkMode(chart: Chart): void;
1505
+ setFlagMarkMode(chart: Chart): void;
1506
+ setPriceLabelMode(chart: Chart): void;
1507
+ setImageMarkMode(chart: Chart): void;
1508
+ setHeatMapMode(chart: Chart): void;
1509
+ setPriceEventMode(chart: Chart): void;
1510
+ setTimeEventMode(chart: Chart): void;
1511
+ setPencilMode(chart: Chart): void;
1512
+ setPenMode(chart: Chart): void;
1513
+ setBrushMode(chart: Chart): void;
1514
+ setMarkerPenMode(chart: Chart): void;
1515
+ setEraserMode(chart: Chart): void;
1516
+ clearAllMarkMode: (chart: Chart) => void;
1517
+ }
1518
+
1519
+ declare class ChartModalsManager {
1520
+ private chart;
1521
+ private container;
1522
+ private currentTheme;
1523
+ private i18n;
1524
+ imageUploadModal: ImageUploadModal | null;
1525
+ mainChartIndicatorsModal: MainChartIndicatorsSettingModal | null;
1526
+ subChartIndicatorsModal: SubChartIndicatorsSettingModal | null;
1527
+ textMarkEditorModal: TextMarkEditorModal | null;
1528
+ isImageUploadModalOpen: boolean;
1529
+ isMainChartIndicatorsModalOpen: boolean;
1530
+ isSubChartIndicatorsModalOpen: boolean;
1531
+ isTextMarkEditorModalOpen: boolean;
1532
+ onImageConfirmCallback?: (imageUrl: string) => void;
1533
+ onMainChartIndicatorConfirmCallback?: (indicator: MainChartIndicatorInfo) => void;
1534
+ onSubChartIndicatorConfirmCallback?: (params: IIndicatorInfo[]) => void;
1535
+ onTextMarkEditorSaveCallback?: (text: string, color: string, fontSize: number, isBold: boolean, isItalic: boolean) => void;
1536
+ onTextMarkEditorCancelCallback?: () => void;
1537
+ editingIndicator: MainChartIndicatorInfo | null;
1538
+ editingSubChartParams: IIndicatorInfo[];
1539
+ currentSubChartType: SubChartIndicatorType | null;
1540
+ pendingImageUrl: string;
1541
+ textMarkEditorPosition: {
1542
+ x: number;
1543
+ y: number;
1544
+ };
1545
+ textMarkEditorData: {
1546
+ text: string;
1547
+ color: string;
1548
+ fontSize: number;
1549
+ isBold: boolean;
1550
+ isItalic: boolean;
1551
+ };
1552
+ constructor(chart: Chart, container: HTMLElement, currentTheme: ThemeConfig, i18n: I18n);
1553
+ setCallbacks(callbacks: {
1554
+ onImageConfirm?: (imageUrl: string) => void;
1555
+ onMainChartIndicatorConfirm?: (indicator: MainChartIndicatorInfo) => void;
1556
+ onSubChartIndicatorConfirm?: (params: IIndicatorInfo[]) => void;
1557
+ onTextMarkEditorSave?: (text: string, color: string, fontSize: number, isBold: boolean, isItalic: boolean) => void;
1558
+ onTextMarkEditorCancel?: () => void;
1559
+ }): void;
1560
+ openImageUploadModal(): void;
1561
+ closeImageUploadModal(): void;
1562
+ private updateImageUploadModal;
1563
+ openMainChartIndicatorsModal(indicator?: MainChartIndicatorInfo | null): void;
1564
+ closeMainChartIndicatorsModal(): void;
1565
+ private updateMainChartIndicatorsModal;
1566
+ openSubChartIndicatorsModal(params: IIndicatorInfo[], indicatorType: SubChartIndicatorType): void;
1567
+ closeSubChartIndicatorsModal(): void;
1568
+ private updateSubChartIndicatorsModal;
1569
+ openTextMarkEditorModal(position: {
1570
+ x: number;
1571
+ y: number;
1572
+ }, text: string, color: string, fontSize: number, isBold: boolean, isItalic: boolean): void;
1573
+ closeTextMarkEditorModal(): void;
1574
+ private updateTextMarkEditorModal;
1575
+ updateTheme(theme: ThemeConfig): void;
1576
+ updateI18n(i18n: I18n): void;
1577
+ destroy(): void;
1344
1578
  }
1345
1579
 
1346
1580
  declare class ChartPanesManager {
@@ -1367,6 +1601,8 @@ declare class ChartPanesManager {
1367
1601
  handleMouseMove(poin: Point): void;
1368
1602
  handleMouseUp(poin: Point): void;
1369
1603
  handleCrosshairMoveEvent(event: MouseEventParams): void;
1604
+ getEnabledSubChartIndicators(): SubChartIndicatorType[];
1605
+ isSubChartIndicatorEnabled(indicatorType: SubChartIndicatorType): boolean;
1370
1606
  }
1371
1607
 
1372
1608
  declare interface ChartSeries {
@@ -1374,6 +1610,115 @@ declare interface ChartSeries {
1374
1610
  type: string;
1375
1611
  }
1376
1612
 
1613
+ declare class ChartTools {
1614
+ private chart;
1615
+ drawingManager: DrawingManager | null;
1616
+ chartMarkManager: ChartMarkManager | null;
1617
+ chartPanesManager: ChartPanesManager | null;
1618
+ currentDrawingType: DrawingType | null;
1619
+ textMarkToolBar: TextMarkToolBar | null;
1620
+ graphMarkToolBar: GraphMarkToolBar | null;
1621
+ currentMarkSettingsStyle: IMarkStyle | null;
1622
+ leftPanel: LeftPanel | null;
1623
+ onCloseDrawing?: () => void;
1624
+ onExitBrushMode?: () => void;
1625
+ isDraggingToolbar: boolean;
1626
+ toolbarDragStartPoint: Point | null;
1627
+ toolbarDragStartPosition: Point | null;
1628
+ private movementDisableCount;
1629
+ private originalChartOptions;
1630
+ constructor(chart: Chart);
1631
+ initDrawingManager(): void;
1632
+ initPanesManager(): void;
1633
+ addSubChart(indicatorType: SubChartIndicatorType, onSettingsClick: (type: SubChartIndicatorType) => void, onCloseClick: (type: SubChartIndicatorType) => void): void;
1634
+ removeSubChart(indicatorType: SubChartIndicatorType): void;
1635
+ getDrawingState(): DrawingManagerState | null;
1636
+ setCursorType(cursorType: CursorType): void;
1637
+ setLineSegmentMarkMode(): void;
1638
+ setArrowLineMarkMode(): void;
1639
+ setThickArrowLineMode(): void;
1640
+ setHorizontalLineMode(): void;
1641
+ setVerticalLineMode(): void;
1642
+ setParallelChannelMarkMode(): void;
1643
+ setLinearRegressionChannelMode(): void;
1644
+ setEquidistantChannelMarkMode(): void;
1645
+ setDisjointChannelMarkMode(): void;
1646
+ setAndrewPitchforkMode(): void;
1647
+ setEnhancedAndrewPitchforkMode(): void;
1648
+ setSchiffPitchforkMode(): void;
1649
+ setRectangleMarkMode(): void;
1650
+ setCircleMarkMode(): void;
1651
+ setEllipseMarkMode(): void;
1652
+ setTriangleMarkMode(): void;
1653
+ setSectorMode(): void;
1654
+ setCurveMode(): void;
1655
+ setDoubleCurveMode(): void;
1656
+ setGannFanMode(): void;
1657
+ setGannBoxMode(): void;
1658
+ setGannRectangleMode(): void;
1659
+ setFibonacciTimeZoonMode(): void;
1660
+ setFibonacciRetracementMode(): void;
1661
+ setFibonacciArcMode(): void;
1662
+ setFibonacciCircleMode(): void;
1663
+ setFibonacciSpiralMode(): void;
1664
+ setFibonacciWedgeMode(): void;
1665
+ setFibonacciFanMode(): void;
1666
+ setFibonacciChannelMode(): void;
1667
+ setFibonacciExtensionBasePriceMode(): void;
1668
+ setFibonacciExtensionBaseTimeMode(): void;
1669
+ setXABCDMode(): void;
1670
+ setHeadAndShouldersMode(): void;
1671
+ setABCDMode(): void;
1672
+ setTriangleABCDMode(): void;
1673
+ setElliottImpulseMode(): void;
1674
+ setElliottCorrectiveMode(): void;
1675
+ setElliottTriangleMode(): void;
1676
+ setElliottDoubleCombinationMode(): void;
1677
+ setElliottTripleCombinationMode(): void;
1678
+ setTimeRangeMarkMode(): void;
1679
+ setPriceRangeMarkMode(): void;
1680
+ setTimePriceRangeMarkMode(): void;
1681
+ setHeatMapMode(): void;
1682
+ setLongPositionMarkMode(): void;
1683
+ setShortPositionMarkMode(): void;
1684
+ setMockKLineMarkMode(): void;
1685
+ setPencilMode(): void;
1686
+ setPenMode(): void;
1687
+ setBrushMode(): void;
1688
+ setMarkerPenMode(): void;
1689
+ setEraserMode(): void;
1690
+ setTextEditMarkMode(): void;
1691
+ setPriceNoteMarkMode(): void;
1692
+ setBubbleBoxMarkMode(): void;
1693
+ setPinMarkMode(): void;
1694
+ setSignpostMarkMode(): void;
1695
+ setPriceLabelMode(): void;
1696
+ setFlagMarkMode(): void;
1697
+ setImageMarkMode(): void;
1698
+ setEmojiMarkMode(emoji: string): void;
1699
+ setPriceEventMode(): void;
1700
+ setTimeEventMode(): void;
1701
+ showAllMark(): void;
1702
+ hideAllMark(): void;
1703
+ clearAllMark(): void;
1704
+ showTableMarkToolBar(drawing: MarkDrawing): void;
1705
+ showTextEditMarkToolBar(drawing: MarkDrawing, isShowGrapTool: boolean): void;
1706
+ showGraphMarkToolBar(drawing: MarkDrawing): void;
1707
+ private setupToolbarDrag;
1708
+ closeTextMarkToolBar(): void;
1709
+ closeGraphMarkToolBar(): void;
1710
+ closeTableMarkToolBar(): void;
1711
+ disableChartMovement(): void;
1712
+ enableChartMovement(): void;
1713
+ handleViewportShiftLeft(): void;
1714
+ handleViewportShiftRight(): void;
1715
+ handleZoomIn(): void;
1716
+ handleZoomOut(): void;
1717
+ updateTheme(theme: ThemeConfig): void;
1718
+ updateI18n(i18n: I18n): void;
1719
+ destroy(): void;
1720
+ }
1721
+
1377
1722
  export declare enum ChartType {
1378
1723
  MainChart = "MainChart",
1379
1724
  SubChart = "SubChart"
@@ -1507,6 +1852,37 @@ declare interface CircleMarkState {
1507
1852
  isDrawing: boolean;
1508
1853
  }
1509
1854
 
1855
+ declare class ContentMarkersManager implements MarkManagerModule {
1856
+ imageMarkManager: ImageMarkManager | null;
1857
+ initialize(context: MarkManagerContext): void;
1858
+ updateProps(context: MarkManagerContext): void;
1859
+ destroy(): void;
1860
+ clearState(): void;
1861
+ isOperatingOnChart(): boolean;
1862
+ getMarkAtPoint(point: {
1863
+ x: number;
1864
+ y: number;
1865
+ }): any;
1866
+ handleMouseDown(point: {
1867
+ x: number;
1868
+ y: number;
1869
+ }): any;
1870
+ handleMouseMove(point: {
1871
+ x: number;
1872
+ y: number;
1873
+ }): any;
1874
+ handleMouseUp(point: {
1875
+ x: number;
1876
+ y: number;
1877
+ }): any;
1878
+ handleKeyDown(event: KeyboardEvent): any;
1879
+ setImageMarkMode(chart: Chart): void;
1880
+ deleteMark(drawingType: DrawingType, iGraph: any): void;
1881
+ deleteAllMarks(): void;
1882
+ showAllMarks(): void;
1883
+ hideAllMarks(): void;
1884
+ }
1885
+
1510
1886
  export declare enum CursorType {
1511
1887
  Default = "default",
1512
1888
  Crosshair = "crosshair",
@@ -2024,6 +2400,8 @@ declare class DrawingManager {
2024
2400
  startToolbarDrag(startPoint: Point, type: 'text' | 'graph'): void;
2025
2401
  updateToolbarPosition(deltaX: number, deltaY: number): void;
2026
2402
  endToolbarDrag(type: 'text' | 'graph'): void;
2403
+ updateTheme(theme: ThemeConfig): void;
2404
+ updateI18n(i18n: I18n): void;
2027
2405
  destroy(): void;
2028
2406
  }
2029
2407
 
@@ -2693,6 +3071,45 @@ declare interface ElliottImpulseMarkState {
2693
3071
  dragPoint: number | null;
2694
3072
  }
2695
3073
 
3074
+ declare class ElliottMarkersManager implements MarkManagerModule {
3075
+ elliottImpulseMarkManager: ElliottImpulseMarkManager | null;
3076
+ elliottCorrectiveMarkManager: ElliottCorrectiveMarkManager | null;
3077
+ elliottTriangleMarkManager: ElliottTriangleMarkManager | null;
3078
+ elliottDoubleCombinationMarkManager: ElliottDoubleCombinationMarkManager | null;
3079
+ elliottTripleCombinationMarkManager: ElliottTripleCombinationMarkManager | null;
3080
+ initialize(context: MarkManagerContext): void;
3081
+ updateProps(context: MarkManagerContext): void;
3082
+ destroy(): void;
3083
+ clearState(): void;
3084
+ isOperatingOnChart(): boolean;
3085
+ getMarkAtPoint(point: {
3086
+ x: number;
3087
+ y: number;
3088
+ }): any;
3089
+ handleMouseDown(point: {
3090
+ x: number;
3091
+ y: number;
3092
+ }): any;
3093
+ handleMouseMove(point: {
3094
+ x: number;
3095
+ y: number;
3096
+ }): any;
3097
+ handleMouseUp(point: {
3098
+ x: number;
3099
+ y: number;
3100
+ }): any;
3101
+ handleKeyDown(event: KeyboardEvent): any;
3102
+ setElliottImpulseMode(chart: Chart): any;
3103
+ setElliottCorrectiveMode(chart: Chart): any;
3104
+ setElliottTriangleMode(chart: Chart): any;
3105
+ setElliottDoubleCombinationMode(chart: Chart): any;
3106
+ setElliottTripleCombinationMode(chart: Chart): any;
3107
+ deleteMark(drawingType: DrawingType, iGraph: any): void;
3108
+ deleteAllMarks(): void;
3109
+ showAllMarks(): void;
3110
+ hideAllMarks(): void;
3111
+ }
3112
+
2696
3113
  declare class ElliottTriangleMark implements IGraph, IMarkStyle {
2697
3114
  private _chart;
2698
3115
  private _series;
@@ -4328,6 +4745,55 @@ declare interface FibonacciFanMarkState {
4328
4745
  isDrawing: boolean;
4329
4746
  }
4330
4747
 
4748
+ declare class FibonacciMarkersManager implements MarkManagerModule {
4749
+ fibonacciTimeZoonMarkManager: FibonacciTimeZoonMarkManager | null;
4750
+ fibonacciRetracementMarkManager: FibonacciRetracementMarkManager | null;
4751
+ fibonacciArcMarkManager: FibonacciArcMarkManager | null;
4752
+ fibonacciCircleMarkManager: FibonacciCircleMarkManager | null;
4753
+ fibonacciSpiralMarkManager: FibonacciSpiralMarkManager | null;
4754
+ fibonacciWedgeMarkManager: FibonacciWedgeMarkManager | null;
4755
+ fibonacciFanMarkManager: FibonacciFanMarkManager | null;
4756
+ fibonacciChannelMarkManager: FibonacciChannelMarkManager | null;
4757
+ fibonacciExtensionBasePriceMarkManager: FibonacciExtensionBasePriceMarkManager | null;
4758
+ fibonacciExtensionBaseTimeMarkManager: FibonacciExtensionBaseTimeMarkManager | null;
4759
+ initialize(context: MarkManagerContext): void;
4760
+ updateProps(context: MarkManagerContext): void;
4761
+ destroy(): void;
4762
+ clearState(): void;
4763
+ isOperatingOnChart(): boolean;
4764
+ getMarkAtPoint(point: {
4765
+ x: number;
4766
+ y: number;
4767
+ }): any;
4768
+ handleMouseDown(point: {
4769
+ x: number;
4770
+ y: number;
4771
+ }): any;
4772
+ handleMouseMove(point: {
4773
+ x: number;
4774
+ y: number;
4775
+ }): any;
4776
+ handleMouseUp(point: {
4777
+ x: number;
4778
+ y: number;
4779
+ }): any;
4780
+ handleKeyDown(event: KeyboardEvent): any;
4781
+ setFibonacciTimeZoonMode(chart: Chart): any;
4782
+ setFibonacciRetracementMode(chart: Chart): any;
4783
+ setFibonacciArcMode(chart: Chart): any;
4784
+ setFibonacciCircleMode(chart: Chart): any;
4785
+ setFibonacciSpiralMode(chart: Chart): any;
4786
+ setFibonacciWedgeMode(chart: Chart): any;
4787
+ setFibonacciFanMode(chart: Chart): any;
4788
+ setFibonacciChannelMode(chart: Chart): any;
4789
+ setFibonacciExtensionBasePriceMode(chart: Chart): any;
4790
+ setFibonacciExtensionBaseTimeMode(chart: Chart): any;
4791
+ deleteMark(drawingType: DrawingType, iGraph: any): void;
4792
+ deleteAllMarks(): void;
4793
+ showAllMarks(): void;
4794
+ hideAllMarks(): void;
4795
+ }
4796
+
4331
4797
  declare class FibonacciRetracementMark implements IGraph, IMarkStyle {
4332
4798
  private _chart;
4333
4799
  private _series;
@@ -4987,6 +5453,41 @@ declare interface FlagMarkState {
4987
5453
  dragTarget: FlagMark | null;
4988
5454
  }
4989
5455
 
5456
+ declare class ForkMarkersManager implements MarkManagerModule {
5457
+ andrewPitchforkMarkManager: AndrewPitchforkMarkManager | null;
5458
+ enhancedAndrewPitchforkMarkManager: EnhancedAndrewPitchforkMarkManager | null;
5459
+ schiffPitchforkMarkManager: SchiffPitchforkMarkManager | null;
5460
+ initialize(context: MarkManagerContext): void;
5461
+ updateProps(context: MarkManagerContext): void;
5462
+ destroy(): void;
5463
+ clearState(): void;
5464
+ isOperatingOnChart(): boolean;
5465
+ getMarkAtPoint(point: {
5466
+ x: number;
5467
+ y: number;
5468
+ }): any;
5469
+ handleMouseDown(point: {
5470
+ x: number;
5471
+ y: number;
5472
+ }): any;
5473
+ handleMouseMove(point: {
5474
+ x: number;
5475
+ y: number;
5476
+ }): any;
5477
+ handleMouseUp(point: {
5478
+ x: number;
5479
+ y: number;
5480
+ }): any;
5481
+ handleKeyDown(event: KeyboardEvent): any;
5482
+ setAndrewPitchforkMode(chart: Chart): any;
5483
+ setEnhancedAndrewPitchforkMode(chart: Chart): any;
5484
+ setSchiffPitchforkMode(chart: Chart): any;
5485
+ deleteMark(drawingType: DrawingType, iGraph: any): void;
5486
+ deleteAllMarks(): void;
5487
+ showAllMarks(): void;
5488
+ hideAllMarks(): void;
5489
+ }
5490
+
4990
5491
  declare class GannBoxMark implements IGraph, IMarkStyle {
4991
5492
  private _chart;
4992
5493
  private _series;
@@ -5277,6 +5778,41 @@ declare interface GannFanMarkState {
5277
5778
  isDrawing: boolean;
5278
5779
  }
5279
5780
 
5781
+ declare class GannMarkersManager implements MarkManagerModule {
5782
+ gannFanMarkManager: GannFanMarkManager | null;
5783
+ gannBoxMarkManager: GannBoxMarkManager | null;
5784
+ gannRectangleMarkManager: GannRectangleMarkManager | null;
5785
+ initialize(context: MarkManagerContext): void;
5786
+ updateProps(context: MarkManagerContext): void;
5787
+ destroy(): void;
5788
+ clearState(): void;
5789
+ isOperatingOnChart(): boolean;
5790
+ getMarkAtPoint(point: {
5791
+ x: number;
5792
+ y: number;
5793
+ }): any;
5794
+ handleMouseDown(point: {
5795
+ x: number;
5796
+ y: number;
5797
+ }): any;
5798
+ handleMouseMove(point: {
5799
+ x: number;
5800
+ y: number;
5801
+ }): any;
5802
+ handleMouseUp(point: {
5803
+ x: number;
5804
+ y: number;
5805
+ }): any;
5806
+ handleKeyDown(event: KeyboardEvent): any;
5807
+ setGannFanMode(chart: Chart): any;
5808
+ setGannBoxMode(chart: Chart): any;
5809
+ setGannRectangleMode(chart: Chart): any;
5810
+ deleteMark(drawingType: DrawingType, iGraph: any): void;
5811
+ deleteAllMarks(): void;
5812
+ showAllMarks(): void;
5813
+ hideAllMarks(): void;
5814
+ }
5815
+
5280
5816
  declare class GannRectangleMark implements IGraph, IMarkStyle {
5281
5817
  private _chart;
5282
5818
  private _series;
@@ -5458,9 +5994,12 @@ declare class GraphMarkToolBar {
5458
5994
  private createColorPanel;
5459
5995
  private createLineSizePanel;
5460
5996
  private createLineStylePanel;
5997
+ private adjustPanelPosition;
5461
5998
  private bindEvents;
5462
5999
  private bindPanelEvents;
5463
6000
  updatePosition(position: Point): void;
6001
+ updateTheme(theme: ThemeConfig): void;
6002
+ updateI18n(i18n: I18n): void;
5464
6003
  destroy(): void;
5465
6004
  }
5466
6005
 
@@ -6468,6 +7007,51 @@ declare interface ImageMarkState {
6468
7007
  selectedImageUrl: string;
6469
7008
  }
6470
7009
 
7010
+ declare class ImageUploadModal {
7011
+ private container;
7012
+ private options;
7013
+ private imageUrl;
7014
+ private modalPosition;
7015
+ private isDragging;
7016
+ private dragOffset;
7017
+ private fileInput;
7018
+ private modalRef;
7019
+ private headerRef;
7020
+ private boundHandleMouseMove;
7021
+ private boundHandleMouseUp;
7022
+ constructor(options: ImageUploadModalOptions);
7023
+ private calculateInitialPosition;
7024
+ private handleFileSelect;
7025
+ private handleUrlChange;
7026
+ private handleConfirm;
7027
+ private handleFileButtonClick;
7028
+ private handleMouseDown;
7029
+ private handleMouseMove;
7030
+ private handleMouseUp;
7031
+ private handleOverlayClick;
7032
+ private handleKeyPress;
7033
+ private updatePreview;
7034
+ private updateModalPosition;
7035
+ private getMaxModalHeight;
7036
+ private adjustModalPosition;
7037
+ private getStyles;
7038
+ private applyStyles;
7039
+ private createElement;
7040
+ private injectScrollbarStyles;
7041
+ private render;
7042
+ update(options: Partial<ImageUploadModalOptions>): void;
7043
+ destroy(): void;
7044
+ }
7045
+
7046
+ declare interface ImageUploadModalOptions {
7047
+ isOpen: boolean;
7048
+ onClose: () => void;
7049
+ onConfirm: (imageUrl: string) => void;
7050
+ theme: ThemeConfig;
7051
+ i18n: I18n;
7052
+ parentRef?: HTMLElement | null;
7053
+ }
7054
+
6471
7055
  declare interface IMarkManager<T = any> {
6472
7056
  getCurrentDragTarget(): T | null;
6473
7057
  getCurrentDragPoint(): string | null;
@@ -6572,6 +7156,7 @@ declare class LeftPanel {
6572
7156
  destroy(): void;
6573
7157
  updateState(updates: Partial<LeftPanelState>): void;
6574
7158
  isMarkLocked(): boolean;
7159
+ private getContainerRect;
6575
7160
  getState(): LeftPanelState;
6576
7161
  }
6577
7162
 
@@ -6759,6 +7344,44 @@ declare interface LinearRegressionChannelMarkState {
6759
7344
  } | null;
6760
7345
  }
6761
7346
 
7347
+ declare class LineMarkersManager implements MarkManagerModule {
7348
+ lineSegmentMarkManager: LineSegmentMarkManager | null;
7349
+ axisLineMarkManager: AxisLineMarkManager | null;
7350
+ arrowLineMarkManager: ArrowLineMarkManager | null;
7351
+ thickArrowLineMarkManager: ThickArrowLineMarkManager | null;
7352
+ initialize(context: MarkManagerContext): void;
7353
+ updateProps(context: MarkManagerContext): void;
7354
+ destroy(): void;
7355
+ clearState(): void;
7356
+ isOperatingOnChart(): boolean;
7357
+ getMarkAtPoint(point: {
7358
+ x: number;
7359
+ y: number;
7360
+ }): any;
7361
+ handleMouseDown(point: {
7362
+ x: number;
7363
+ y: number;
7364
+ }): any;
7365
+ handleMouseMove(point: {
7366
+ x: number;
7367
+ y: number;
7368
+ }): any;
7369
+ handleMouseUp(point: {
7370
+ x: number;
7371
+ y: number;
7372
+ }): any;
7373
+ handleKeyDown(event: KeyboardEvent): any;
7374
+ setLineSegmentMarkMode(chart: Chart): any;
7375
+ setHorizontalLineMode(chart: Chart): any;
7376
+ setVerticalLineMode(chart: Chart): any;
7377
+ setArrowLineMarkMode(chart: Chart): any;
7378
+ setThickArrowLineMode(chart: Chart): any;
7379
+ deleteMark(drawingType: DrawingType, iGraph: any): void;
7380
+ deleteAllMarks(): void;
7381
+ showAllMarks(): void;
7382
+ hideAllMarks(): void;
7383
+ }
7384
+
6762
7385
  declare class LineSegmentMark implements IGraph, IMarkStyle {
6763
7386
  private _chart;
6764
7387
  private _series;
@@ -7024,6 +7647,60 @@ declare interface MainChartIndicatorParam {
7024
7647
  paramValue: number;
7025
7648
  }
7026
7649
 
7650
+ declare class MainChartIndicatorsSettingModal {
7651
+ private container;
7652
+ private options;
7653
+ private indicator;
7654
+ private modalPosition;
7655
+ private isDragging;
7656
+ private dragOffset;
7657
+ private modalRef;
7658
+ private headerRef;
7659
+ private boundHandleMouseMove;
7660
+ private boundHandleMouseUp;
7661
+ private paramsListRef;
7662
+ constructor(options: MainChartIndicatorsSettingModalOptions);
7663
+ private getRandomColor;
7664
+ private getDefaultIndicatorByType;
7665
+ private canModifyItems;
7666
+ private addIndicatorParam;
7667
+ private removeIndicatorParam;
7668
+ private updateIndicatorValue;
7669
+ private updateIndicatorColor;
7670
+ private updateIndicatorLineWidth;
7671
+ private shouldShowNumberInput;
7672
+ private handleConfirm;
7673
+ private handleCancel;
7674
+ private getIndicatorTypeName;
7675
+ private getIndicatorItemLabel;
7676
+ private calculatePosition;
7677
+ private handleMouseDown;
7678
+ private handleMouseMove;
7679
+ private handleMouseUp;
7680
+ private handleOverlayClick;
7681
+ private handleKeyPress;
7682
+ private updateModalPosition;
7683
+ private renderParamsList;
7684
+ private getStyles;
7685
+ private applyStyles;
7686
+ private createElement;
7687
+ private injectScrollbarStyles;
7688
+ private render;
7689
+ update(options: Partial<MainChartIndicatorsSettingModalOptions>): void;
7690
+ destroy(): void;
7691
+ }
7692
+
7693
+ declare interface MainChartIndicatorsSettingModalOptions {
7694
+ isOpen: boolean;
7695
+ onClose: () => void;
7696
+ onConfirm: (indicator: MainChartIndicatorInfo) => void;
7697
+ initialIndicator?: MainChartIndicatorInfo | null;
7698
+ theme?: ThemeConfig;
7699
+ parentRef?: HTMLElement | null;
7700
+ indicatorType?: MainChartIndicatorType | null;
7701
+ i18n: I18n;
7702
+ }
7703
+
7027
7704
  export declare enum MainChartIndicatorType {
7028
7705
  MA = "MA",
7029
7706
  EMA = "EMA",
@@ -7048,6 +7725,7 @@ declare class MainChartManager {
7048
7725
  getCurrentSeries(): any;
7049
7726
  getCurrentType(): MainChartType | null;
7050
7727
  private destroyCurrentChart;
7728
+ updateTheme(theme: ThemeConfig): void;
7051
7729
  destroy(): void;
7052
7730
  }
7053
7731
 
@@ -7243,6 +7921,35 @@ declare interface MarkerPenMarkState {
7243
7921
  dragTarget: MarkerPenMark | null;
7244
7922
  }
7245
7923
 
7924
+ declare interface MarkManagerContext {
7925
+ chart: Chart;
7926
+ }
7927
+
7928
+ declare interface MarkManagerModule {
7929
+ initialize(context: MarkManagerContext): void;
7930
+ updateProps(context: MarkManagerContext): void;
7931
+ destroy(): void;
7932
+ clearState(): void;
7933
+ isOperatingOnChart(): boolean;
7934
+ getMarkAtPoint(point: {
7935
+ x: number;
7936
+ y: number;
7937
+ }): any;
7938
+ handleMouseDown(point: {
7939
+ x: number;
7940
+ y: number;
7941
+ }): any;
7942
+ handleMouseMove(point: {
7943
+ x: number;
7944
+ y: number;
7945
+ }): any;
7946
+ handleMouseUp(point: {
7947
+ x: number;
7948
+ y: number;
7949
+ }): any;
7950
+ handleKeyDown(event: KeyboardEvent): any;
7951
+ }
7952
+
7246
7953
  declare class MockKLineMark implements IGraph, IMarkStyle {
7247
7954
  private _chart;
7248
7955
  private _series;
@@ -7492,6 +8199,43 @@ declare interface ParallelChannelMarkState {
7492
8199
  } | null;
7493
8200
  }
7494
8201
 
8202
+ declare class PatternMarkersManager implements MarkManagerModule {
8203
+ xabcdMarkManager: XABCDMarkManager | null;
8204
+ headAndShouldersMarkManager: HeadAndShouldersMarkManager | null;
8205
+ abcdMarkManager: ABCDMarkManager | null;
8206
+ triangleABCDMarkManager: TriangleABCDMarkManager | null;
8207
+ initialize(context: MarkManagerContext): void;
8208
+ updateProps(context: MarkManagerContext): void;
8209
+ destroy(): void;
8210
+ clearState(): void;
8211
+ isOperatingOnChart(): boolean;
8212
+ getMarkAtPoint(point: {
8213
+ x: number;
8214
+ y: number;
8215
+ }): any;
8216
+ handleMouseDown(point: {
8217
+ x: number;
8218
+ y: number;
8219
+ }): any;
8220
+ handleMouseMove(point: {
8221
+ x: number;
8222
+ y: number;
8223
+ }): any;
8224
+ handleMouseUp(point: {
8225
+ x: number;
8226
+ y: number;
8227
+ }): any;
8228
+ handleKeyDown(event: KeyboardEvent): any;
8229
+ setXABCDMode(chart: Chart): any;
8230
+ setHeadAndShouldersMode(chart: Chart): any;
8231
+ setABCDMode(chart: Chart): any;
8232
+ setTriangleABCDMode(chart: Chart): any;
8233
+ deleteMark(drawingType: DrawingType, iGraph: any): void;
8234
+ deleteAllMarks(): void;
8235
+ showAllMarks(): void;
8236
+ hideAllMarks(): void;
8237
+ }
8238
+
7495
8239
  declare class PencilMark implements IGraph, IMarkStyle, IDeletableMark {
7496
8240
  private _chart;
7497
8241
  private _series;
@@ -7663,6 +8407,47 @@ declare class PenMark implements IGraph, IMarkStyle, IDeletableMark {
7663
8407
  getPointCount(): number;
7664
8408
  }
7665
8409
 
8410
+ declare class PenMarkersManager implements MarkManagerModule {
8411
+ pencilMarkManager: PencilMarkManager | null;
8412
+ penMarkManager: PenMarkManager | null;
8413
+ brushMarkManager: BrushMarkManager | null;
8414
+ markerPenMarkManager: MarkerPenMarkManager | null;
8415
+ eraserMarkManager: EraserMarkManager | null;
8416
+ initialize(context: MarkManagerContext): void;
8417
+ registerAllDeletableMarks(): void;
8418
+ updateProps(context: MarkManagerContext): void;
8419
+ destroy(): void;
8420
+ clearState(): void;
8421
+ isOperatingOnChart(): boolean;
8422
+ getMarkAtPoint(point: {
8423
+ x: number;
8424
+ y: number;
8425
+ }): any;
8426
+ handleMouseDown(point: {
8427
+ x: number;
8428
+ y: number;
8429
+ }): any;
8430
+ handleMouseMove(point: {
8431
+ x: number;
8432
+ y: number;
8433
+ }): any;
8434
+ handleMouseUp(point: {
8435
+ x: number;
8436
+ y: number;
8437
+ }): any;
8438
+ handleKeyDown(event: KeyboardEvent): any;
8439
+ setPencilMode(chart: Chart): any;
8440
+ setPenMode(chart: Chart): any;
8441
+ setBrushMode(chart: Chart): any;
8442
+ setMarkerPenMode(chart: Chart): any;
8443
+ setEraserMode(chart: Chart): any;
8444
+ closeAllBrushTools(chart: Chart): void;
8445
+ deleteMark(drawingType: DrawingType, iGraph: any): void;
8446
+ deleteAllMarks(): void;
8447
+ showAllMarks(): void;
8448
+ hideAllMarks(): void;
8449
+ }
8450
+
7666
8451
  declare class PenMarkManager implements IMarkManager<PenMark> {
7667
8452
  private props;
7668
8453
  private state;
@@ -8460,6 +9245,45 @@ declare interface PriceRangeMarkState {
8460
9245
  } | null;
8461
9246
  }
8462
9247
 
9248
+ declare class RangeMarkersManager implements MarkManagerModule {
9249
+ timeRangeMarkManager: TimeRangeMarkManager | null;
9250
+ priceRangeMarkManager: PriceRangeMarkManager | null;
9251
+ timePriceRangeMarkManager: TimePriceRangeMarkManager | null;
9252
+ longPositionMarkManager: LongPositionMarkManager | null;
9253
+ shortPositionMarkManager: ShortPositionMarkManager | null;
9254
+ initialize(context: MarkManagerContext): void;
9255
+ updateProps(context: MarkManagerContext): void;
9256
+ destroy(): void;
9257
+ clearState(): void;
9258
+ isOperatingOnChart(): boolean;
9259
+ getMarkAtPoint(point: {
9260
+ x: number;
9261
+ y: number;
9262
+ }): any;
9263
+ handleMouseDown(point: {
9264
+ x: number;
9265
+ y: number;
9266
+ }): any;
9267
+ handleMouseMove(point: {
9268
+ x: number;
9269
+ y: number;
9270
+ }): any;
9271
+ handleMouseUp(point: {
9272
+ x: number;
9273
+ y: number;
9274
+ }): any;
9275
+ handleKeyDown(event: KeyboardEvent): any;
9276
+ setTimeRangeMarkMode(chart: Chart): any;
9277
+ setPriceRangeMarkMode(chart: Chart): any;
9278
+ setTimePriceRangeMarkMode(chart: Chart): any;
9279
+ setLongPositionMarkMode(chart: Chart): any;
9280
+ setShortPositionMarkMode(chart: Chart): any;
9281
+ deleteMark(drawingType: DrawingType, iGraph: any): void;
9282
+ deleteAllMarks(): void;
9283
+ showAllMarks(): void;
9284
+ hideAllMarks(): void;
9285
+ }
9286
+
8463
9287
  declare class RectangleMark implements IGraph, IMarkStyle {
8464
9288
  private _chart;
8465
9289
  private _series;
@@ -8732,6 +9556,39 @@ declare interface SchiffPitchforkMarkState {
8732
9556
  } | null;
8733
9557
  }
8734
9558
 
9559
+ declare class ScriptMarkersManager implements MarkManagerModule {
9560
+ timeEventMarkManager: TimeEventMarkManager | null;
9561
+ priceEventMarkManager: PriceEventMarkManager | null;
9562
+ initialize(context: MarkManagerContext): void;
9563
+ updateProps(context: MarkManagerContext): void;
9564
+ destroy(): void;
9565
+ clearState(): void;
9566
+ isOperatingOnChart(): boolean;
9567
+ getMarkAtPoint(point: {
9568
+ x: number;
9569
+ y: number;
9570
+ }): any;
9571
+ handleMouseDown(point: {
9572
+ x: number;
9573
+ y: number;
9574
+ }): any;
9575
+ handleMouseMove(point: {
9576
+ x: number;
9577
+ y: number;
9578
+ }): any;
9579
+ handleMouseUp(point: {
9580
+ x: number;
9581
+ y: number;
9582
+ }): any;
9583
+ handleKeyDown(event: KeyboardEvent): any;
9584
+ setPriceEventMode(chart: Chart): any;
9585
+ setTimeEventMode(chart: Chart): any;
9586
+ deleteMark(drawingType: DrawingType, iGraph: any): void;
9587
+ deleteAllMarks(): void;
9588
+ showAllMarks(): void;
9589
+ hideAllMarks(): void;
9590
+ }
9591
+
8735
9592
  export declare enum ScriptType {
8736
9593
  Time = "time",
8737
9594
  Price = "price",
@@ -8873,6 +9730,49 @@ declare interface SectorMarkState {
8873
9730
 
8874
9731
  export declare function setLocale(locale: 'en' | 'zh-cn'): void;
8875
9732
 
9733
+ declare class ShapeMarkersManager implements MarkManagerModule {
9734
+ rectangleMarkManager: RectangleMarkManager | null;
9735
+ circleMarkManager: CircleMarkManager | null;
9736
+ ellipseMarkManager: EllipseMarkManager | null;
9737
+ triangleMarkManager: TriangleMarkManager | null;
9738
+ sectorMarkManager: SectorMarkManager | null;
9739
+ curveMarkManager: CurveMarkManager | null;
9740
+ doubleCurveMarkManager: DoubleCurveMarkManager | null;
9741
+ initialize(context: MarkManagerContext): void;
9742
+ updateProps(context: MarkManagerContext): void;
9743
+ destroy(): void;
9744
+ clearState(): void;
9745
+ isOperatingOnChart(): boolean;
9746
+ getMarkAtPoint(point: {
9747
+ x: number;
9748
+ y: number;
9749
+ }): any;
9750
+ handleMouseDown(point: {
9751
+ x: number;
9752
+ y: number;
9753
+ }): any;
9754
+ handleMouseMove(point: {
9755
+ x: number;
9756
+ y: number;
9757
+ }): any;
9758
+ handleMouseUp(point: {
9759
+ x: number;
9760
+ y: number;
9761
+ }): any;
9762
+ handleKeyDown(event: KeyboardEvent): any;
9763
+ setRectangleMarkMode(chart: Chart): any;
9764
+ setCircleMarkMode(chart: Chart): any;
9765
+ setEllipseMarkMode(chart: Chart): any;
9766
+ setTriangleMarkMode(chart: Chart): any;
9767
+ setSectorMode(chart: Chart): any;
9768
+ setCurveMode(chart: Chart): any;
9769
+ setDoubleCurveMode(chart: Chart): any;
9770
+ deleteMark(drawingType: DrawingType, iGraph: any): void;
9771
+ deleteAllMarks(): void;
9772
+ showAllMarks(): void;
9773
+ hideAllMarks(): void;
9774
+ }
9775
+
8876
9776
  declare class ShortPositionMark implements IGraph, IMarkStyle {
8877
9777
  private _chart;
8878
9778
  private _series;
@@ -9174,6 +10074,39 @@ declare interface SignPostMarkState {
9174
10074
  dragTarget: SignPostMark | null;
9175
10075
  }
9176
10076
 
10077
+ declare class SpecialMarkersManager implements MarkManagerModule {
10078
+ mockKLineMarkManager: MockKLineMarkManager | null;
10079
+ heatMapMarkManager: HeatMapMarkManager | null;
10080
+ initialize(context: MarkManagerContext): void;
10081
+ updateProps(context: MarkManagerContext): void;
10082
+ destroy(): void;
10083
+ clearState(): void;
10084
+ isOperatingOnChart(): boolean;
10085
+ getMarkAtPoint(point: {
10086
+ x: number;
10087
+ y: number;
10088
+ }): any;
10089
+ handleMouseDown(point: {
10090
+ x: number;
10091
+ y: number;
10092
+ }): any;
10093
+ handleMouseMove(point: {
10094
+ x: number;
10095
+ y: number;
10096
+ }): any;
10097
+ handleMouseUp(point: {
10098
+ x: number;
10099
+ y: number;
10100
+ }): any;
10101
+ handleKeyDown(event: KeyboardEvent): any;
10102
+ setMockKLineMarkMode(chart: Chart): any;
10103
+ setHeatMapMode(chart: Chart): any;
10104
+ deleteMark(drawingType: DrawingType, iGraph: any): void;
10105
+ deleteAllMarks(): void;
10106
+ showAllMarks(): void;
10107
+ hideAllMarks(): void;
10108
+ }
10109
+
9177
10110
  export declare enum StaticMarkDirection {
9178
10111
  Top = "Top",
9179
10112
  Bottom = "Bottom"
@@ -9184,6 +10117,58 @@ export declare enum StaticMarkType {
9184
10117
  Arrow = "Arrow"
9185
10118
  }
9186
10119
 
10120
+ declare class SubChartIndicatorsSettingModal {
10121
+ private container;
10122
+ private options;
10123
+ private params;
10124
+ private modalPosition;
10125
+ private isDragging;
10126
+ private dragOffset;
10127
+ private modalRef;
10128
+ private headerRef;
10129
+ private boundHandleMouseMove;
10130
+ private boundHandleMouseUp;
10131
+ private paramsListRef;
10132
+ constructor(options: SubChartIndicatorsSettingModalOptions);
10133
+ private getIndicatorTitle;
10134
+ private getRandomColor;
10135
+ private getIndicatorConstraints;
10136
+ private addIndicatorParam;
10137
+ private removeIndicatorParam;
10138
+ private updateIndicatorName;
10139
+ private updateIndicatorValue;
10140
+ private updateIndicatorColor;
10141
+ private updateIndicatorLineWidth;
10142
+ private handleConfirm;
10143
+ private handleCancel;
10144
+ private calculatePosition;
10145
+ private handleMouseDown;
10146
+ private handleMouseMove;
10147
+ private handleMouseUp;
10148
+ private handleOverlayClick;
10149
+ private handleKeyPress;
10150
+ private updateModalPosition;
10151
+ private renderParamsList;
10152
+ private getStyles;
10153
+ private applyStyles;
10154
+ private createElement;
10155
+ private injectScrollbarStyles;
10156
+ private render;
10157
+ update(options: Partial<SubChartIndicatorsSettingModalOptions>): void;
10158
+ destroy(): void;
10159
+ }
10160
+
10161
+ declare interface SubChartIndicatorsSettingModalOptions {
10162
+ isOpen: boolean;
10163
+ onClose: () => void;
10164
+ onConfirm: (params: IIndicatorInfo[]) => void;
10165
+ initialParams: IIndicatorInfo[];
10166
+ theme?: ThemeConfig;
10167
+ parentRef?: HTMLElement | null;
10168
+ indicatorType: SubChartIndicatorType | null;
10169
+ i18n: I18n;
10170
+ }
10171
+
9187
10172
  export declare enum SubChartIndicatorType {
9188
10173
  RSI = "RSI",
9189
10174
  MACD = "MACD",
@@ -9365,6 +10350,105 @@ declare interface TextEditMarkState {
9365
10350
  dragType: 'bubble' | null;
9366
10351
  }
9367
10352
 
10353
+ declare class TextMarkEditorModal {
10354
+ private container;
10355
+ private options;
10356
+ private text;
10357
+ private color;
10358
+ private fontSize;
10359
+ private isBold;
10360
+ private isItalic;
10361
+ private modalPosition;
10362
+ private isDragging;
10363
+ private dragOffset;
10364
+ private modalRef;
10365
+ private headerRef;
10366
+ private textareaRef;
10367
+ private boundHandleMouseMove;
10368
+ private boundHandleMouseUp;
10369
+ constructor(options: TextMarkEditorModalOptions);
10370
+ private handleSave;
10371
+ private handleCancel;
10372
+ private handleMouseDown;
10373
+ private handleMouseMove;
10374
+ private handleMouseUp;
10375
+ private handleOverlayClick;
10376
+ private handleKeyPress;
10377
+ private updateModalPosition;
10378
+ private getStyles;
10379
+ private applyStyles;
10380
+ private createElement;
10381
+ private getMaxModalHeight;
10382
+ private render;
10383
+ private adjustModalPosition;
10384
+ private injectScrollbarStyles;
10385
+ update(options: Partial<TextMarkEditorModalOptions>): void;
10386
+ destroy(): void;
10387
+ }
10388
+
10389
+ declare interface TextMarkEditorModalOptions {
10390
+ isOpen: boolean;
10391
+ position: {
10392
+ x: number;
10393
+ y: number;
10394
+ };
10395
+ parentRef?: HTMLElement | null;
10396
+ theme: ThemeConfig;
10397
+ initialText: string;
10398
+ initialColor: string;
10399
+ initialFontSize: number;
10400
+ initialIsBold: boolean;
10401
+ initialIsItalic: boolean;
10402
+ onSave: (text: string, color: string, fontSize: number, isBold: boolean, isItalic: boolean) => void;
10403
+ onCancel: () => void;
10404
+ i18n: I18n;
10405
+ }
10406
+
10407
+ declare class TextMarkersManager implements MarkManagerModule {
10408
+ priceLabelMarkManager: PriceLabelMarkManager | null;
10409
+ flagMarkManager: FlagMarkManager | null;
10410
+ priceNoteMarkManager: PriceNoteMarkManager | null;
10411
+ signpostMarkManager: SignPostMarkManager | null;
10412
+ emojiMarkManager: EmojiMarkManager | null;
10413
+ pinMarkManager: PinMarkManager | null;
10414
+ bubbleBoxMarkManager: BubbleBoxMarkManager | null;
10415
+ textEditMarkManager: TextEditMarkManager | null;
10416
+ initialize(context: MarkManagerContext): void;
10417
+ updateProps(context: MarkManagerContext): void;
10418
+ destroy(): void;
10419
+ clearState(): void;
10420
+ isOperatingOnChart(): boolean;
10421
+ getMarkAtPoint(point: {
10422
+ x: number;
10423
+ y: number;
10424
+ }): any;
10425
+ handleMouseDown(point: {
10426
+ x: number;
10427
+ y: number;
10428
+ }): any;
10429
+ handleMouseMove(point: {
10430
+ x: number;
10431
+ y: number;
10432
+ }): any;
10433
+ handleMouseUp(point: {
10434
+ x: number;
10435
+ y: number;
10436
+ }): any;
10437
+ handleKeyDown(event: KeyboardEvent): any;
10438
+ setPriceLabelMode(chart: Chart): any;
10439
+ setFlagMarkMode(chart: Chart): any;
10440
+ setPriceNoteMarkMode(chart: Chart): any;
10441
+ setSignpostMarkMode(chart: Chart): any;
10442
+ setEmojiMarkMode(chart: Chart, emoji: string): any;
10443
+ setPinMarkMode(chart: Chart): any;
10444
+ setBubbleBoxMarkMode(chart: Chart): any;
10445
+ setTextEditMarkMode(chart: Chart): any;
10446
+ deleteMark(drawingType: DrawingType, iGraph: any): void;
10447
+ deleteAllMarks(): void;
10448
+ showAllMarks(): void;
10449
+ hideAllMarks(): void;
10450
+ }
10451
+
9368
10452
  declare class TextMarkToolBar {
9369
10453
  container: HTMLElement | null;
9370
10454
  private options;
@@ -9390,6 +10474,7 @@ declare class TextMarkToolBar {
9390
10474
  private getGraphLineStylePanelInnerHTML;
9391
10475
  private createColorPanel;
9392
10476
  private createFontSizePanel;
10477
+ private adjustPanelPosition;
9393
10478
  private createGraphColorPanel;
9394
10479
  private createGraphLineSizePanel;
9395
10480
  private createGraphLineStylePanel;
@@ -9400,6 +10485,8 @@ declare class TextMarkToolBar {
9400
10485
  private updateItalicButton;
9401
10486
  private bindPanelEvents;
9402
10487
  updatePosition(position: Point): void;
10488
+ updateTheme(theme: ThemeConfig): void;
10489
+ updateI18n(i18n: I18n): void;
9403
10490
  destroy(): void;
9404
10491
  }
9405
10492