@fintatech/fintachart 3.1.0 → 3.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +10 -8
  3. package/THIRD_PARTY_NOTICES.md +1 -1
  4. package/basic-objects.html +2 -6
  5. package/css/FintaChart.min.css +1 -1
  6. package/custom-indicator.html +2 -6
  7. package/d.ts/FintaChart.d.ts +523 -179
  8. package/d.ts/frameworks/bootstrap.v3.datetimepicker.d.ts +3 -3
  9. package/d.ts/frameworks/html2canvas.d.ts +0 -2
  10. package/d.ts/frameworks-modified/autocolumnlist.d.ts +8 -0
  11. package/d.ts/frameworks-modified/spectrum.d.ts +17 -26
  12. package/d.ts/frameworks-modified/toastr.d.ts +9 -10
  13. package/htmldialogs/Toolbar.html +4 -4
  14. package/index-dark.html +2 -6
  15. package/index.html +2 -6
  16. package/multiple-charts.html +2 -6
  17. package/package.json +1 -1
  18. package/scripts/FintaChart.min.js +2 -2
  19. package/scripts/frameworks/bootstrap.v3.datetimepicker.min.js +10 -10
  20. package/scripts/frameworks-modified/autocolumnlist.js +48 -0
  21. package/scripts/frameworks-modified/spectrum.js +187 -6
  22. package/scripts/frameworks-modified/switchery.js +1 -1
  23. package/scripts/frameworks-modified/toastr.js +283 -382
  24. package/scripts/jsdataadapters/fileDataAdapter.js +2 -0
  25. package/d.ts/frameworks/jquery-i18next.d.ts +0 -14
  26. package/d.ts/frameworks/jquery-ui.d.ts +0 -1914
  27. package/d.ts/frameworks/jquery.d.ts +0 -3779
  28. package/d.ts/frameworks/jquery.ui.touch-punch.d.ts +0 -12
  29. package/d.ts/frameworks-modified/bootstrap-select.d.ts +0 -18
  30. package/d.ts/frameworks-modified/jquery.autocolumnlist.d.ts +0 -17
  31. package/d.ts/frameworks-modified/jquery.resizable.d.ts +0 -20
  32. package/scripts/frameworks/jquery-i18next.min.js +0 -1
  33. package/scripts/frameworks/jquery-ui.min.js +0 -8
  34. package/scripts/frameworks/jquery.min.js +0 -3
  35. package/scripts/frameworks/jquery.ui.touch-punch.min.js +0 -1
  36. package/scripts/frameworks-modified/bootstrap-select.js +0 -1024
  37. package/scripts/frameworks-modified/jquery.autocolumnlist.js +0 -48
  38. package/scripts/frameworks-modified/jquery.resizable.js +0 -229
@@ -1,19 +1,13 @@
1
- /// <reference path="./frameworks/jquery.d.ts" />
2
- /// <reference path="./frameworks/jquery-ui.d.ts" />
3
1
  /// <reference path="./frameworks/Intl.d.ts" />
4
2
  /// <reference path="./frameworks/moment.d.ts" />
5
3
  /// <reference path="./frameworks/detectizr.d.ts" />
6
4
  /// <reference path="./frameworks/dom-to-image-more.d.ts" />
7
5
  /// <reference path="./frameworks/i18nextXHRBackend.d.ts" />
8
- /// <reference path="./frameworks/jquery-i18next.d.ts" />
9
- /// <reference path="./frameworks/jquery.ui.touch-punch.d.ts" />
10
- /// <reference path="./frameworks-modified/bootstrap-select.d.ts" />
11
6
  /// <reference path="./frameworks-modified/i18next.d.ts" />
12
- /// <reference path="./frameworks-modified/jquery.autocolumnlist.d.ts" />
13
- /// <reference path="./frameworks-modified/jquery.resizable.d.ts" />
14
7
  /// <reference path="./frameworks-modified/spectrum.d.ts" />
15
8
  /// <reference path="./frameworks-modified/switchery.d.ts" />
16
9
  /// <reference path="./frameworks-modified/toastr.d.ts" />
10
+ /// <reference path="./frameworks-modified/autocolumnlist.d.ts" />
17
11
  declare module FintaChart {
18
12
  /**
19
13
  * Interface contains method to cleanup internal resources
@@ -353,6 +347,8 @@ interface Document {
353
347
  msFullscreenElement?: Element;
354
348
  msFullscreenEnabled?: boolean;
355
349
  webkitFullscreenEnabled?: boolean;
350
+ querySelector<E extends Element = any>(selectors: string): E | null;
351
+ querySelectorAll<E extends Element = any>(selectors: string): NodeListOf<E>;
356
352
  mozCancelFullScreen(): any;
357
353
  msExitFullscreen(): any;
358
354
  webkitExitFullscreen(): any;
@@ -361,10 +357,16 @@ interface Element {
361
357
  ALLOW_KEYBOARD_INPUT?: number;
362
358
  mozFullScreenElement: any;
363
359
  msFullscreenElement: any;
360
+ querySelector<E extends Element = any>(selectors: string): E | null;
361
+ querySelectorAll<E extends Element = any>(selectors: string): NodeListOf<E>;
362
+ closest<E extends Element = any>(selectors: string): E | null;
364
363
  mozRequestFullScreen(): any;
365
364
  msRequestFullscreen(): any;
366
365
  webkitRequestFullscreen(flag?: number): any;
367
366
  }
367
+ interface Event {
368
+ key?: string;
369
+ }
368
370
  declare module FintaChart {
369
371
  /**
370
372
  * Represents html extensions
@@ -403,35 +405,35 @@ declare module FintaChart {
403
405
  * @param value
404
406
  * @return
405
407
  */
406
- static cleanupHtmlCode(value: string | JQuery): JQuery;
408
+ static cleanupHtmlCode(value: string | HTMLElement): HTMLElement;
407
409
  /**
408
410
  * Sets back ground color
409
411
  *
410
412
  * @param control
411
413
  * @param backgroundColors
412
414
  */
413
- static background(control: JQuery, backgroundColors: string[] | string): void;
415
+ static background(control: HTMLElement, backgroundColors: string[] | string): void;
414
416
  /**
415
417
  * Sets back ground color
416
418
  *
417
419
  * @param control
418
420
  * @param color
419
421
  */
420
- static backgroundColor(control: JQuery, color: string): void;
422
+ static backgroundColor(control: HTMLElement, color: string): void;
421
423
  /**
422
424
  * Set background color with gradient
423
425
  *
424
426
  * @param control
425
427
  * @param colors
426
428
  */
427
- static gradientBackground(control: JQuery, colors: string[]): void;
429
+ static gradientBackground(control: HTMLElement, colors: string[]): void;
428
430
  /**
429
431
  * Sets visibility
430
432
  *
431
433
  * @param control
432
434
  * @param visible
433
435
  */
434
- static visibility(control: JQuery, visible: boolean): void;
436
+ static visibility(control: HTMLElement, visible: boolean): void;
435
437
  /**
436
438
  * Updates canvas size
437
439
  *
@@ -444,23 +446,298 @@ declare module FintaChart {
444
446
  static downloadFile(data: string, fileName: string, fileType?: string): void;
445
447
  }
446
448
  }
447
- interface JQuery {
448
- jqAppend(tag: string, ...classes: string[]): JQuery;
449
- jqAppendCanvas(): JQuery;
450
- jqBorder(border: string, theme: FintaChart.IStrokeTheme): JQuery;
451
- jqClientToLocalPoint(clientX: number, clientY: number): FintaChart.IPoint;
452
- jqContentSize(): FintaChart.ISize;
453
- jqFill(theme: FintaChart.IFillTheme): JQuery;
454
- jqFrame(frame: FintaChart.IBounds): void;
455
- jqLocalToClientPoint(clientX: number, clientY: number): FintaChart.IPoint;
456
- jqLocalize(key: string, defaultValue?: string): JQuery;
457
- jqPosition(left: number, top: number): JQuery;
458
- jqPrepend(tag: string, ...classes: string[]): JQuery;
459
- jqSize(): FintaChart.ISize;
460
- jqTextStyle(theme: FintaChart.ITextTheme): JQuery;
461
- jqTop(offset: string): JQuery;
449
+ declare module FintaChart {
450
+ /**
451
+ * Native DOM utility functions replacing legacy patterns.
452
+ *
453
+ * @category Utils
454
+ */
455
+ class DomUtils {
456
+ /**
457
+ * Creates an HTMLElement from an HTML string.
458
+ * If the string contains multiple root elements, wraps them in a div.
459
+ *
460
+ * @param html The HTML string to parse.
461
+ * @return The created element.
462
+ */
463
+ static createElement(html: string): HTMLElement;
464
+ /**
465
+ * Creates an array of HTMLElements from an HTML string.
466
+ * Unlike createElement, this preserves multiple root elements
467
+ * without wrapping them in a container div.
468
+ *
469
+ * @param html The HTML string to parse.
470
+ * @return Array of created elements.
471
+ */
472
+ static createElements(html: string): HTMLElement[];
473
+ /**
474
+ * Creates and appends a child element with optional CSS classes.
475
+ *
476
+ * @param parent The parent element.
477
+ * @param tag The tag name for the new element.
478
+ * @param classes CSS classes to add.
479
+ * @return The created element.
480
+ */
481
+ static appendElement(parent: HTMLElement, tag: string, ...classes: string[]): HTMLElement;
482
+ /**
483
+ * Creates and prepends a child element with optional CSS classes.
484
+ *
485
+ * @param parent The parent element.
486
+ * @param tag The tag name for the new element.
487
+ * @param classes CSS classes to add.
488
+ * @return The created element.
489
+ */
490
+ static prependElement(parent: HTMLElement, tag: string, ...classes: string[]): HTMLElement;
491
+ /**
492
+ * Creates and appends an absolutely-positioned canvas element.
493
+ *
494
+ * @param parent The parent element.
495
+ * @return The created canvas element.
496
+ */
497
+ static appendCanvas(parent: HTMLElement): HTMLCanvasElement;
498
+ /**
499
+ * Applies border style from a stroke theme.
500
+ *
501
+ * @param el The target element.
502
+ * @param border The CSS border property name (e.g. 'border', 'border-top').
503
+ * @param theme The stroke theme.
504
+ */
505
+ static applyBorder(el: HTMLElement, border: string, theme: IStrokeTheme): void;
506
+ /**
507
+ * Applies border style with fixed 0.05em width from a stroke theme.
508
+ *
509
+ * @param el The target element.
510
+ * @param border The CSS border property name.
511
+ * @param theme The stroke theme.
512
+ */
513
+ static applyBorderBFT(el: HTMLElement, border: string, theme: IStrokeTheme): void;
514
+ /**
515
+ * Applies fill background color from a fill theme.
516
+ *
517
+ * @param el The target element.
518
+ * @param theme The fill theme.
519
+ */
520
+ static applyFill(el: HTMLElement, theme: IFillTheme): void;
521
+ /**
522
+ * Applies text style from a text theme.
523
+ *
524
+ * @param el The target element.
525
+ * @param theme The text theme.
526
+ */
527
+ static applyTextStyle(el: HTMLElement, theme: ITextTheme): void;
528
+ /**
529
+ * Sets a CSS property on an element.
530
+ *
531
+ * @param el The target element.
532
+ * @param prop The CSS property name.
533
+ * @param value The CSS property value.
534
+ */
535
+ static css(el: HTMLElement, prop: string, value: string | number): void;
536
+ /**
537
+ * Converts client (viewport) coordinates to local element coordinates.
538
+ *
539
+ * @param el The reference element.
540
+ * @param clientX Client X coordinate.
541
+ * @param clientY Client Y coordinate.
542
+ * @return Local point coordinates.
543
+ */
544
+ static clientToLocalPoint(el: HTMLElement, clientX: number, clientY: number): IPoint;
545
+ /**
546
+ * Converts local element coordinates to client (viewport) coordinates.
547
+ *
548
+ * @param el The reference element.
549
+ * @param localX Local X coordinate.
550
+ * @param localY Local Y coordinate.
551
+ * @return Client point coordinates.
552
+ */
553
+ static localToClientPoint(el: HTMLElement, localX: number, localY: number): IPoint;
554
+ /**
555
+ * Returns the content size (inner dimensions excluding borders, including padding).
556
+ * Equivalent to legacy innerWidth/innerHeight helpers.
557
+ *
558
+ * @param el The element.
559
+ * @return The content size.
560
+ */
561
+ static contentSize(el: HTMLElement): ISize;
562
+ /**
563
+ * Returns the outer size including borders.
564
+ * Equivalent to legacy outerWidth/outerHeight helpers.
565
+ *
566
+ * @param el The element.
567
+ * @return The outer size.
568
+ */
569
+ static outerSize(el: HTMLElement): ISize;
570
+ /**
571
+ * Sets the position and size of an element.
572
+ *
573
+ * @param el The target element.
574
+ * @param frame The bounds to apply.
575
+ */
576
+ static setFrame(el: HTMLElement, frame: IBounds): void;
577
+ /**
578
+ * Sets the CSS position (left, top) of an element.
579
+ *
580
+ * @param el The target element.
581
+ * @param left Left offset in pixels.
582
+ * @param top Top offset in pixels.
583
+ */
584
+ static setPosition(el: HTMLElement, left: number, top: number): void;
585
+ /**
586
+ * Centers element horizontally in the viewport with a given top offset.
587
+ * Replaces legacy jqTop extension.
588
+ *
589
+ * @param el The target element.
590
+ * @param topOffset The top CSS value (e.g. '6rem').
591
+ */
592
+ static centerHorizontally(el: HTMLElement, topOffset: string): void;
593
+ /**
594
+ * Shows an element by clearing its display style.
595
+ *
596
+ * @param el The element to show.
597
+ */
598
+ static show(el: HTMLElement | null): void;
599
+ /**
600
+ * Hides an element by setting display to none.
601
+ *
602
+ * @param el The element to hide.
603
+ */
604
+ static hide(el: HTMLElement | null): void;
605
+ /**
606
+ * Toggles element visibility.
607
+ *
608
+ * @param el The element to toggle.
609
+ * @param visible If provided, forces visible/hidden state.
610
+ */
611
+ static toggle(el: HTMLElement | null, visible?: boolean): void;
612
+ /**
613
+ * Sets the i18n data attribute and optional default text.
614
+ *
615
+ * @param el The target element.
616
+ * @param key The i18n key.
617
+ * @param defaultValue Optional default text.
618
+ */
619
+ static localize(el: HTMLElement, key: string, defaultValue?: string): void;
620
+ /**
621
+ * Finds a single descendant matching the selector.
622
+ *
623
+ * @param el The parent element.
624
+ * @param selector CSS selector.
625
+ * @return The matching element or null.
626
+ */
627
+ static find(el: HTMLElement, selector: string): HTMLElement | null;
628
+ /**
629
+ * Finds all descendants matching the selector.
630
+ *
631
+ * @param el The parent element.
632
+ * @param selector CSS selector.
633
+ * @return Array of matching elements.
634
+ */
635
+ static findAll(el: HTMLElement, selector: string): HTMLElement[];
636
+ /**
637
+ * Removes all child elements matching a tag from an element.
638
+ * Used for HTML sanitization.
639
+ *
640
+ * @param el The parent element.
641
+ * @param tags Tag names to remove.
642
+ */
643
+ static removeChildrenByTag(el: HTMLElement, ...tags: string[]): void;
644
+ /**
645
+ * Inserts an element after a reference element.
646
+ *
647
+ * @param newElement The element to insert.
648
+ * @param referenceElement The reference element.
649
+ * @return The inserted element.
650
+ */
651
+ static insertAfter(newElement: HTMLElement, referenceElement: HTMLElement): HTMLElement;
652
+ /**
653
+ * Deep clones an object. Replaces $.extend(true, {}, obj).
654
+ *
655
+ * @param obj The object to clone.
656
+ * @return The cloned object.
657
+ */
658
+ static deepClone<T>(obj: T): T;
659
+ }
462
660
  }
463
661
  declare module FintaChart {
662
+ /**
663
+ * Draggable position info passed to callbacks.
664
+ */
665
+ interface IDraggablePosition {
666
+ left: number;
667
+ top: number;
668
+ }
669
+ /**
670
+ * Configuration options for makeDraggable.
671
+ */
672
+ interface IDraggableOptions {
673
+ /** Element used as drag handle. If not set, the element itself is the handle. */
674
+ handle?: HTMLElement | string;
675
+ /** Constrains dragging within the given element, or "window" for viewport. */
676
+ containment?: HTMLElement | string;
677
+ /** Restricts dragging to a single axis: 'x' or 'y'. */
678
+ axis?: 'x' | 'y';
679
+ /** Called when dragging starts. */
680
+ onStart?: () => void;
681
+ /** Called during dragging. */
682
+ onDrag?: (position: IDraggablePosition) => void;
683
+ /** Called when dragging stops. */
684
+ onStop?: (position: IDraggablePosition) => void;
685
+ }
686
+ /**
687
+ * Controller returned by makeDraggable for managing the draggable instance.
688
+ */
689
+ interface IDraggableController {
690
+ /** Destroys the draggable behavior, removing all event listeners. */
691
+ destroy(): void;
692
+ /** Enables or disables dragging. */
693
+ setEnabled(enabled: boolean): void;
694
+ }
695
+ /**
696
+ * Makes an element draggable using native pointer events.
697
+ * Replaces legacy UI .draggable().
698
+ *
699
+ * @param el The element to make draggable.
700
+ * @param options Configuration options.
701
+ * @return A controller for managing the draggable.
702
+ */
703
+ function makeDraggable(el: HTMLElement, options?: IDraggableOptions): IDraggableController;
704
+ }
705
+ declare module FintaChart {
706
+ /**
707
+ * Configuration options for makeResizable.
708
+ */
709
+ interface IResizableOptions {
710
+ /** Direction of resizing: 'horizontal' or 'vertical'. */
711
+ direction: 'horizontal' | 'vertical';
712
+ /** Minimum width in pixels (for horizontal). */
713
+ minWidth?: number;
714
+ /** Minimum height in pixels (for vertical). */
715
+ minHeight?: number;
716
+ /** Container element for boundary constraints. */
717
+ container?: HTMLElement;
718
+ /** Called when resizing starts. */
719
+ onStart?: () => void;
720
+ /** Called during resizing. */
721
+ onResize?: () => void;
722
+ /** Called when resizing stops. */
723
+ onStop?: () => void;
724
+ }
725
+ /**
726
+ * Controller returned by makeResizable for managing the resizable instance.
727
+ */
728
+ interface IResizableController {
729
+ /** Destroys the resizable behavior, removing all event listeners. */
730
+ destroy(): void;
731
+ }
732
+ /**
733
+ * Makes an element resizable by adding drag handles on its edges.
734
+ * Replaces legacy UI .resizable() with custom implementation.
735
+ *
736
+ * @param el The element to make resizable.
737
+ * @param options Configuration options.
738
+ * @return A controller for managing the resizable.
739
+ */
740
+ function makeResizable(el: HTMLElement, options: IResizableOptions): IResizableController;
464
741
  }
465
742
  declare module FintaChart {
466
743
  }
@@ -485,9 +762,6 @@ declare module FintaChart {
485
762
  declare module FintaChart {
486
763
  function createChart(container: HTMLElement, config: IChartConfig): Chart;
487
764
  }
488
- interface JQuery {
489
- FintaChart(config: FintaChart.IChartConfig): FintaChart.Chart;
490
- }
491
765
  declare module FintaChart {
492
766
  /**
493
767
  * Represents string padding options.
@@ -531,15 +805,12 @@ declare module FintaChart {
531
805
  static reverse(str: string): string;
532
806
  }
533
807
  }
534
- interface JQuery {
535
- tcd(): FintaChart.ITcdJQuery;
536
- }
537
808
  declare module FintaChart {
538
809
  /**
539
- * Represents jQuery
810
+ * Represents a chainable DOM helper
540
811
  *
541
812
  */
542
- interface ITcdJQuery {
813
+ interface ITcdDomHelper {
543
814
  /**
544
815
  * Returns shape settings drag panel
545
816
  *
@@ -588,7 +859,7 @@ declare module FintaChart {
588
859
  * @param config
589
860
  * @return
590
861
  */
591
- numericField(config: INumericFieldConfig): JQuery;
862
+ numericField(config: INumericFieldConfig): HTMLElement;
592
863
  /**
593
864
  * Returns scroll bar
594
865
  *
@@ -637,6 +908,10 @@ declare module FintaChart {
637
908
  */
638
909
  waitingBar(chart: Chart): IWaitingBar;
639
910
  }
911
+ /**
912
+ * Standalone native-element factory. Replaces $(el).tcd() pattern.
913
+ */
914
+ function tcd(el: HTMLElement): ITcdDomHelper;
640
915
  }
641
916
  declare module FintaChart {
642
917
  type TDataRowsValue = Date | number;
@@ -2113,7 +2388,7 @@ declare module FintaChart {
2113
2388
  /**
2114
2389
  * Event object
2115
2390
  */
2116
- evt: JQueryEventObject;
2391
+ evt: Event;
2117
2392
  /**
2118
2393
  * Pane
2119
2394
  */
@@ -2752,6 +3027,16 @@ declare module FintaChart {
2752
3027
  closeMarketFillColor: string;
2753
3028
  }
2754
3029
  }
3030
+ declare const defaultTheme: any;
3031
+ declare const darkTheme: any;
3032
+ declare const fintatechDarkTheme: any;
3033
+ declare const beetTheme: any;
3034
+ declare const grayTheme: any;
3035
+ declare const oliveTheme: any;
3036
+ declare const orangeTheme: any;
3037
+ declare const purpleTheme: any;
3038
+ declare const skyTheme: any;
3039
+ declare const tealTheme: any;
2755
3040
  declare module FintaChart {
2756
3041
  enum StrokePriority {
2757
3042
  COLOR = "color"
@@ -2785,6 +3070,19 @@ declare module FintaChart {
2785
3070
  DASH: number[];
2786
3071
  DASH_DOT: number[];
2787
3072
  };
3073
+ const Themes: {
3074
+ readonly default: any;
3075
+ readonly light: any;
3076
+ readonly dark: any;
3077
+ readonly fintatechDark: any;
3078
+ readonly beet: any;
3079
+ readonly gray: any;
3080
+ readonly olive: any;
3081
+ readonly orange: any;
3082
+ readonly purple: any;
3083
+ readonly sky: any;
3084
+ readonly teal: any;
3085
+ };
2788
3086
  /**
2789
3087
  * Represents stroke theme
2790
3088
  */
@@ -2958,6 +3256,13 @@ declare module FintaChart {
2958
3256
  static isLight(chartTheme: any): boolean;
2959
3257
  }
2960
3258
  }
3259
+ declare module FintaChart {
3260
+ class ThemeUtils {
3261
+ private static isObject;
3262
+ static deepMerge<T extends object>(target: T, source: Partial<T>): T;
3263
+ private static mergeInto;
3264
+ }
3265
+ }
2961
3266
  declare module FintaChart {
2962
3267
  /**
2963
3268
  * Represents container dislocation
@@ -2987,12 +3292,14 @@ declare module FintaChart {
2987
3292
  private _inFullWindowMode;
2988
3293
  private _scrollbar;
2989
3294
  private _toolbar;
3295
+ private _onFullscreenChanged;
3296
+ private _onFullWindowChanged;
2990
3297
  /**
2991
3298
  * Creates an instance of ChartContainer.
2992
3299
  *
2993
3300
  * @param parent
2994
3301
  */
2995
- constructor(parent: JQuery);
3302
+ constructor(parent: HTMLElement);
2996
3303
  /**
2997
3304
  * Get shape settings drag pane
2998
3305
  */
@@ -3013,7 +3320,7 @@ declare module FintaChart {
3013
3320
  /**
3014
3321
  * Get parent
3015
3322
  */
3016
- get parent(): JQuery;
3323
+ get parent(): HTMLElement;
3017
3324
  /**
3018
3325
  * Get scroll bar
3019
3326
  */
@@ -3061,10 +3368,18 @@ declare module FintaChart {
3061
3368
  * Loads html resource.
3062
3369
  *
3063
3370
  * @param relativePath The path to the resource relative to the root HTML dialogs path.
3064
- * @param clone The flag that indicates whether resulting JQuery element should be cloned.
3065
- * @return Promise which will be resolved with JQuery element.
3371
+ * @param clone The flag that indicates whether resulting element should be cloned.
3372
+ * @return Promise which will be resolved with HTMLElement.
3373
+ */
3374
+ static loadHtml(relativePath: string, clone?: boolean): Promise<HTMLElement>;
3375
+ /**
3376
+ * Loads html resource as native HTMLElement.
3377
+ *
3378
+ * @param relativePath The path to the resource relative to the root HTML dialogs path.
3379
+ * @param clone The flag that indicates whether resulting element should be cloned.
3380
+ * @return Promise which will be resolved with HTMLElement.
3066
3381
  */
3067
- static loadHtml(relativePath: string, clone?: boolean): Promise<JQuery>;
3382
+ static loadHtmlElement(relativePath: string, clone?: boolean): Promise<HTMLElement>;
3068
3383
  private static getUri;
3069
3384
  }
3070
3385
  }
@@ -3085,7 +3400,13 @@ declare module FintaChart {
3085
3400
  * @param chart The chart.
3086
3401
  * @param element The element to localize.
3087
3402
  */
3088
- static localize(chart: Chart, element?: JQuery): Promise<void>;
3403
+ static localize(chart: Chart, element?: HTMLElement): Promise<void>;
3404
+ /**
3405
+ * Localizes an HTMLElement using the internal localization adapter.
3406
+ *
3407
+ * @param element The element to localize.
3408
+ */
3409
+ static localizeElement(element: HTMLElement): void;
3089
3410
  /**
3090
3411
  * @description Localizes text
3091
3412
  * @static
@@ -3126,6 +3447,9 @@ declare module FintaChart {
3126
3447
  private static isInitialized;
3127
3448
  private static init;
3128
3449
  private static prepare;
3450
+ private static _localizeElement;
3451
+ private static _applyLocalization;
3452
+ private static _applyLocalizedValue;
3129
3453
  private static _localize;
3130
3454
  }
3131
3455
  }
@@ -3188,7 +3512,7 @@ declare module FintaChart {
3188
3512
  private static readonly _svgClass;
3189
3513
  private static readonly _svgPerName;
3190
3514
  private static readonly _htmlElementsPerSvgName;
3191
- private static _container;
3515
+ private static _nativeContainer;
3192
3516
  private static _config;
3193
3517
  /**
3194
3518
  * Initializes
@@ -3201,12 +3525,14 @@ declare module FintaChart {
3201
3525
  *
3202
3526
  * @param htmlElement The HTML element.
3203
3527
  */
3204
- static load(htmlElement?: JQuery): void;
3528
+ static load(htmlElement?: HTMLElement): void;
3205
3529
  private static getPath;
3206
3530
  private static getContainer;
3207
3531
  private static subscribe;
3532
+ private static resolveNativeElement;
3208
3533
  private static loadElement;
3209
3534
  private static loadFile;
3535
+ private static sanitizeSvg;
3210
3536
  private static updateElements;
3211
3537
  private static updateElement;
3212
3538
  }
@@ -4302,7 +4628,7 @@ declare module FintaChart {
4302
4628
  /**
4303
4629
  * The parent element.
4304
4630
  */
4305
- parent: JQuery;
4631
+ parent: HTMLElement;
4306
4632
  /**
4307
4633
  * The size of the canvas.
4308
4634
  */
@@ -4313,17 +4639,17 @@ declare module FintaChart {
4313
4639
  *
4314
4640
  */
4315
4641
  class CanvasLayer extends Component {
4316
- private _canvas;
4317
- private _parent;
4642
+ private _canvasEl;
4643
+ private _parentEl;
4318
4644
  private _renderer;
4319
4645
  /**
4320
4646
  * The canvas element.
4321
4647
  */
4322
- get canvas(): JQuery;
4648
+ get canvas(): HTMLCanvasElement;
4323
4649
  /**
4324
4650
  * The parent container.
4325
4651
  */
4326
- get parent(): JQuery;
4652
+ get parent(): HTMLElement;
4327
4653
  /**
4328
4654
  * The renderer.
4329
4655
  */
@@ -4375,7 +4701,7 @@ declare module FintaChart {
4375
4701
  /**
4376
4702
  * The parent html container.
4377
4703
  */
4378
- readonly container: JQuery;
4704
+ readonly container: HTMLElement;
4379
4705
  /**
4380
4706
  * Refreshes component.
4381
4707
  */
@@ -4386,14 +4712,14 @@ declare module FintaChart {
4386
4712
  */
4387
4713
  abstract class HtmlComponent extends VisualComponent implements IHtmlComponent {
4388
4714
  private _container;
4389
- get container(): JQuery;
4715
+ get container(): HTMLElement;
4390
4716
  dispose(): void;
4391
4717
  resize(): void;
4392
4718
  refresh(): void;
4393
4719
  /**
4394
4720
  * Creates html component's container.
4395
4721
  */
4396
- protected abstract createContainer(): JQuery;
4722
+ protected abstract createContainer(): HTMLElement;
4397
4723
  /**
4398
4724
  * Destroy html component's container
4399
4725
  */
@@ -4510,7 +4836,7 @@ declare module FintaChart {
4510
4836
  /**
4511
4837
  * The parent container.
4512
4838
  */
4513
- container: JQuery;
4839
+ container: HTMLElement;
4514
4840
  /**
4515
4841
  * The frame rectangle.
4516
4842
  */
@@ -4522,8 +4848,8 @@ declare module FintaChart {
4522
4848
  abstract class HtmlControl extends Control implements IHtmlControl {
4523
4849
  private _frame;
4524
4850
  private _container;
4525
- get container(): JQuery;
4526
- protected set container(value: JQuery);
4851
+ get container(): HTMLElement;
4852
+ protected set container(value: HTMLElement);
4527
4853
  get frame(): Bounds;
4528
4854
  dispose(): void;
4529
4855
  hitTest(point: IPoint): boolean;
@@ -4533,7 +4859,7 @@ declare module FintaChart {
4533
4859
  *
4534
4860
  * @return Container element.
4535
4861
  */
4536
- protected abstract createContainer(): JQuery;
4862
+ protected abstract createContainer(): HTMLElement;
4537
4863
  /**
4538
4864
  * Removes container element.
4539
4865
  */
@@ -4629,7 +4955,7 @@ declare module FintaChart {
4629
4955
  *
4630
4956
  * @param container
4631
4957
  */
4632
- constructor(container: JQuery);
4958
+ constructor(container: HTMLElement);
4633
4959
  dispose(): void;
4634
4960
  /**
4635
4961
  * Finds SIMPLE Dropdown item
@@ -4662,32 +4988,6 @@ declare module FintaChart {
4662
4988
  private refresh;
4663
4989
  }
4664
4990
  }
4665
- /**
4666
- * Represents Extended JQuery
4667
- */
4668
- interface JQuery {
4669
- /**
4670
- * Extended JQuery numeric field
4671
- *
4672
- * @return Numeric field
4673
- */
4674
- jqNumericField(): JQuery;
4675
- /**
4676
- * Extended JQuery numeric field
4677
- *
4678
- * @param method
4679
- * @param params
4680
- * @return Numeric field
4681
- */
4682
- jqNumericField(method: string, ...params: unknown[]): unknown;
4683
- /**
4684
- * Extended JQuery numeric field
4685
- *
4686
- * @param settings
4687
- * @return Numeric field
4688
- */
4689
- jqNumericField(settings: object): JQuery;
4690
- }
4691
4991
  declare module FintaChart {
4692
4992
  /**
4693
4993
  * Represents Numeric Field Config
@@ -4724,11 +5024,20 @@ declare module FintaChart {
4724
5024
  * @param value
4725
5025
  * @param obj
4726
5026
  */
4727
- onChange(value: number, obj: JQuery): void;
5027
+ onChange(value: number, obj: HTMLInputElement): void;
4728
5028
  }
4729
5029
  class NumericField {
4730
- static getValue(control: JQuery): number;
4731
- static setValue(control: JQuery, value: number): void;
5030
+ /**
5031
+ * Initializes a numeric field on the given HTMLInputElement.
5032
+ */
5033
+ static init(el: HTMLInputElement, options: Partial<INumericFieldConfig>): void;
5034
+ static getValue(control: HTMLElement): number;
5035
+ static setValue(control: HTMLElement, value: number): void;
5036
+ static enable(control: HTMLElement): void;
5037
+ static disable(control: HTMLElement): void;
5038
+ static highlightInvalid(control: HTMLElement): void;
5039
+ static nohighlightInvalid(control: HTMLElement): void;
5040
+ static setBounds(control: HTMLElement, min: number, max: number): void;
4732
5041
  }
4733
5042
  }
4734
5043
  declare module FintaChart {
@@ -4760,7 +5069,7 @@ declare module FintaChart {
4760
5069
  /**
4761
5070
  * Context Menu Config menu container
4762
5071
  */
4763
- menuContainer?: JQuery;
5072
+ menuContainer?: HTMLElement;
4764
5073
  /**
4765
5074
  * Is show Context Menu on click
4766
5075
  */
@@ -4771,7 +5080,7 @@ declare module FintaChart {
4771
5080
  * @param selectedMenu
4772
5081
  * @param isChecked
4773
5082
  */
4774
- onItemSelected(selectedMenu: JQuery, isChecked?: boolean): void;
5083
+ onItemSelected(selectedMenu: HTMLElement, isChecked?: boolean): void;
4775
5084
  /**
4776
5085
  * On Context Menu show
4777
5086
  */
@@ -4782,9 +5091,13 @@ declare module FintaChart {
4782
5091
  *
4783
5092
  */
4784
5093
  class ContextMenu<TConfig extends IContextMenuConfig> implements IDisposable {
4785
- private static Id;
4786
- private _eventSuffix;
4787
5094
  private _isShown;
5095
+ private _docClickHandler;
5096
+ private _docTouchHandler;
5097
+ private _winScrollHandler;
5098
+ private _winResizeHandler;
5099
+ private _bodyMenuOpenHandler;
5100
+ private _menuClickTouchHandler;
4788
5101
  /**
4789
5102
  * Context Menu's config
4790
5103
  */
@@ -4792,14 +5105,14 @@ declare module FintaChart {
4792
5105
  /**
4793
5106
  * Get Context Menu's container
4794
5107
  */
4795
- get container(): JQuery;
5108
+ get container(): HTMLElement;
4796
5109
  /**
4797
5110
  * Creates an instance of ContextMenu.
4798
5111
  *
4799
5112
  * @param config
4800
5113
  * @param targetDomObject
4801
5114
  */
4802
- constructor(config: TConfig, targetDomObject?: JQuery);
5115
+ constructor(config: TConfig, targetDomObject?: HTMLElement);
4803
5116
  dispose(): void;
4804
5117
  /**
4805
5118
  * Hides Context Menu
@@ -4810,7 +5123,7 @@ declare module FintaChart {
4810
5123
  *
4811
5124
  * @param event
4812
5125
  */
4813
- show(event: JQueryEventObject): void;
5126
+ show(event: Event): void;
4814
5127
  private static _getSubMenuPosition;
4815
5128
  private static _toggleSubMenu;
4816
5129
  private calculateMenuPosition;
@@ -4850,7 +5163,7 @@ declare module FintaChart {
4850
5163
  * @param targetDomObject
4851
5164
  * @param config
4852
5165
  */
4853
- constructor(targetDomObject: JQuery, config: IChartContextMenuConfig);
5166
+ constructor(targetDomObject: HTMLElement, config: IChartContextMenuConfig);
4854
5167
  dispose(): void;
4855
5168
  private init;
4856
5169
  private onShow;
@@ -4877,10 +5190,11 @@ declare module FintaChart {
4877
5190
  * @param domObjects
4878
5191
  * @param config
4879
5192
  */
4880
- constructor(domObjects: JQuery, config: Spectrum.Options);
4881
- static get(control: JQuery): string;
4882
- static set(control: JQuery, color: string): void;
4883
- static enable(control: JQuery, enable: boolean): void;
5193
+ constructor(domObjects: HTMLElement, config: Spectrum.Options);
5194
+ static get(control: HTMLElement): string;
5195
+ static set(control: HTMLElement, color: string): void;
5196
+ static hide(control: HTMLElement): void;
5197
+ static enable(control: HTMLElement, enable: boolean): void;
4884
5198
  enable(value?: boolean): void;
4885
5199
  private static initParams;
4886
5200
  private static palette;
@@ -4896,11 +5210,11 @@ declare module FintaChart {
4896
5210
  /**
4897
5211
  * Control Drag Pane Config container
4898
5212
  */
4899
- container?: JQuery;
5213
+ container?: HTMLElement;
4900
5214
  /**
4901
5215
  * Control Drag Pane Config root container
4902
5216
  */
4903
- rootContainer?: JQuery;
5217
+ rootContainer?: HTMLElement;
4904
5218
  }
4905
5219
  /**
4906
5220
  * Provides model of Control Drag Pane
@@ -4910,11 +5224,19 @@ declare module FintaChart {
4910
5224
  /**
4911
5225
  * Control Drag Pane's container
4912
5226
  */
4913
- protected container: JQuery;
5227
+ protected container: HTMLElement;
4914
5228
  /**
4915
5229
  * Control Drag Pane's root container
4916
5230
  */
4917
- protected rootContainer: JQuery;
5231
+ protected rootContainer: HTMLElement;
5232
+ /**
5233
+ * Draggable controller instance
5234
+ */
5235
+ private _draggableController;
5236
+ /**
5237
+ * Bound resize handler reference for cleanup
5238
+ */
5239
+ private _resizeHandler;
4918
5240
  get visible(): boolean;
4919
5241
  /**
4920
5242
  * Creates an instance of DragPane.
@@ -5163,7 +5485,7 @@ declare module FintaChart {
5163
5485
  *
5164
5486
  * @param selector
5165
5487
  */
5166
- constructor(selector: JQuery);
5488
+ constructor(selector: HTMLElement);
5167
5489
  /**
5168
5490
  * Retrieves selected Text Style Selector state
5169
5491
  *
@@ -5242,7 +5564,7 @@ declare module FintaChart {
5242
5564
  * @param rootContainer
5243
5565
  * @param config
5244
5566
  */
5245
- constructor(rootContainer: JQuery, config: IInstrumentSearchConfig);
5567
+ constructor(rootContainer: HTMLElement, config: IInstrumentSearchConfig);
5246
5568
  /**
5247
5569
  * Retrieves Instrument Search's by symbol
5248
5570
  *
@@ -5263,6 +5585,7 @@ declare module FintaChart {
5263
5585
  set(instrument?: IInstrument): void;
5264
5586
  enable(): void;
5265
5587
  disable(): void;
5588
+ private static escapeHtml;
5266
5589
  private static generateListElement;
5267
5590
  private generateExchangeFilters;
5268
5591
  private generateSearchResults;
@@ -5454,7 +5777,7 @@ declare module FintaChart {
5454
5777
  * @param rootElement
5455
5778
  * @param config
5456
5779
  */
5457
- constructor(rootElement: JQuery, config: ITemplatesConfig);
5780
+ constructor(rootElement: HTMLElement, config: ITemplatesConfig);
5458
5781
  /**
5459
5782
  * Set Templates Manager's new chart
5460
5783
  */
@@ -5504,13 +5827,17 @@ declare module FintaChart {
5504
5827
  private _hasCustomPicker;
5505
5828
  private _isActive;
5506
5829
  private _last;
5830
+ private _windowScrollHandler;
5831
+ private _windowResizeHandler;
5832
+ private _bodyClickHandler;
5833
+ private _bodyTouchHandler;
5507
5834
  /**
5508
5835
  * Creates an instance of TimeFramePicker.
5509
5836
  *
5510
5837
  * @param rootContainer
5511
5838
  * @param config
5512
5839
  */
5513
- constructor(rootContainer: JQuery, config: ITimeFramePickerConfig);
5840
+ constructor(rootContainer: HTMLElement, config: ITimeFramePickerConfig);
5514
5841
  /**
5515
5842
  * Get Time Frame Picker's chart
5516
5843
  */
@@ -5553,7 +5880,7 @@ declare module FintaChart {
5553
5880
  /**
5554
5881
  * Toolbar Config parent
5555
5882
  */
5556
- parent: JQuery;
5883
+ parent: HTMLElement;
5557
5884
  /**
5558
5885
  * Is show view mode
5559
5886
  */
@@ -5568,11 +5895,13 @@ declare module FintaChart {
5568
5895
  private _container;
5569
5896
  private _controls;
5570
5897
  private _draggableElements;
5898
+ private _draggableControllers;
5571
5899
  private _leftToolbarScroll;
5572
5900
  private _rootContainer;
5573
5901
  private _toolbarScroll;
5574
5902
  private _locked;
5575
5903
  private _lastOrderTime;
5904
+ private _disponsed;
5576
5905
  private _autoScaleBtn;
5577
5906
  private _logScaleBtn;
5578
5907
  private _percentScaleBtn;
@@ -5594,13 +5923,13 @@ declare module FintaChart {
5594
5923
  /**
5595
5924
  * Get Toolbar's container
5596
5925
  */
5597
- get container(): JQuery;
5926
+ get container(): HTMLElement;
5598
5927
  /**
5599
5928
  * Toolbar's activate button
5600
5929
  *
5601
5930
  * @param draggable
5602
5931
  */
5603
- activateButton(draggable: JQuery): void;
5932
+ activateButton(draggable: HTMLElement): void;
5604
5933
  getBottomToolbarRightSide(): HTMLElement;
5605
5934
  /**
5606
5935
  * Activates Toolbar's draggable by it self
@@ -5616,7 +5945,7 @@ declare module FintaChart {
5616
5945
  *
5617
5946
  * @param container
5618
5947
  */
5619
- prependTo(container: JQuery): void;
5948
+ prependTo(container: HTMLElement): void;
5620
5949
  /**
5621
5950
  * Shows Toolbar's supported time frames
5622
5951
  */
@@ -5748,13 +6077,14 @@ declare module FintaChart {
5748
6077
  private _itemsContainer;
5749
6078
  private _itemsWrapper;
5750
6079
  private _isDisabled;
6080
+ private _hoverCloseTimer;
5751
6081
  /**
5752
6082
  * Creates an instance of ToolbarDropDownButton.
5753
6083
  *
5754
6084
  * @param rootElement
5755
6085
  * @param config
5756
6086
  */
5757
- constructor(rootElement: JQuery, config: IToolbarDropDownButtonConfig);
6087
+ constructor(rootElement: HTMLElement, config: IToolbarDropDownButtonConfig);
5758
6088
  /**
5759
6089
  * Get Toolbar Drop Down Button's chart
5760
6090
  */
@@ -5766,7 +6096,7 @@ declare module FintaChart {
5766
6096
  * @param templateDropdown
5767
6097
  * @param chart
5768
6098
  */
5769
- alignDropdown(templateDropdown: JQuery, chart: Chart): void;
6099
+ alignDropdown(templateDropdown: HTMLElement, chart: Chart): void;
5770
6100
  /**
5771
6101
  * Activates Toolbar Drop Down Button
5772
6102
  */
@@ -5788,9 +6118,11 @@ declare module FintaChart {
5788
6118
  private activeIcon;
5789
6119
  private deactivateButton;
5790
6120
  private fireFromHead;
6121
+ private scheduleHoverClose;
5791
6122
  private hideDropDown;
5792
6123
  private init;
5793
6124
  private setValue;
6125
+ private showDropDownForHover;
5794
6126
  private showDropDown;
5795
6127
  private toggleButton;
5796
6128
  private toggleDropDown;
@@ -7031,7 +7363,7 @@ declare module FintaChart {
7031
7363
  * @param crossHair
7032
7364
  */
7033
7365
  constructor(crossHair?: CrossHair);
7034
- protected createContainer(): JQuery;
7366
+ protected createContainer(): HTMLElement;
7035
7367
  applyTheme(): void;
7036
7368
  resize(): void;
7037
7369
  refresh(): void;
@@ -7096,11 +7428,11 @@ declare module FintaChart {
7096
7428
  *
7097
7429
  * @param container
7098
7430
  */
7099
- constructor(container: JQuery);
7431
+ constructor(container: HTMLElement);
7100
7432
  /**
7101
7433
  * Get Keyboard Setting's container
7102
7434
  */
7103
- set container(container: JQuery);
7435
+ set container(container: HTMLElement);
7104
7436
  /**
7105
7437
  * Initializes Keyboard Settings
7106
7438
  *
@@ -7115,6 +7447,7 @@ declare module FintaChart {
7115
7447
  * Set default Keyboard Setting
7116
7448
  */
7117
7449
  resetToDefaults(): void;
7450
+ private _keydownHandler;
7118
7451
  /**
7119
7452
  * Subscribes
7120
7453
  */
@@ -7134,6 +7467,15 @@ declare module FintaChart {
7134
7467
  ALT: number;
7135
7468
  ESC: number;
7136
7469
  };
7470
+ /** Minimal event shape needed by hotkey matching. */
7471
+ interface IKeyLike {
7472
+ ctrlKey?: boolean;
7473
+ metaKey?: boolean;
7474
+ altKey?: boolean;
7475
+ shiftKey?: boolean;
7476
+ keyCode?: number;
7477
+ type: string;
7478
+ }
7137
7479
  /**
7138
7480
  * Describes all the actions to hotkeys in the chart.
7139
7481
  * Also lead to description translations
@@ -7215,7 +7557,7 @@ declare module FintaChart {
7215
7557
  * @param chart The chart.
7216
7558
  * @param event
7217
7559
  */
7218
- action?(chart: Chart, event?: JQueryEventObject): void;
7560
+ action?(chart: Chart, event?: KeyboardEvent): void;
7219
7561
  }
7220
7562
  interface IHotkeysHandler extends IChartComponent, IStateable<HotkeyCombination[]> {
7221
7563
  /**
@@ -7247,15 +7589,16 @@ declare module FintaChart {
7247
7589
  *
7248
7590
  * @param event
7249
7591
  */
7250
- onEvent(event: JQueryEventObject): void;
7592
+ onEvent(event: KeyboardEvent): void;
7251
7593
  }
7252
7594
  /**
7253
7595
  * Represents hotkeys handler.
7254
7596
  */
7255
7597
  class HotkeysHandler extends ChartComponent implements IHotkeysHandler {
7256
- lastEvent: JQueryEventObject;
7598
+ lastEvent: IKeyLike;
7257
7599
  lastEventTime: number;
7258
7600
  private _hotkeys;
7601
+ private _boundOnEvent;
7259
7602
  private readonly _eventDelay;
7260
7603
  /**
7261
7604
  * Creates an instance of [[HotkeysHandler]].
@@ -7263,16 +7606,16 @@ declare module FintaChart {
7263
7606
  * @param config The configuration.
7264
7607
  */
7265
7608
  constructor(config: IChartComponentConfig);
7266
- onEvent(event: JQueryEventObject): void;
7267
- isEventSimultaneous(event: JQueryEventObject): boolean;
7609
+ onEvent(event: KeyboardEvent): void;
7610
+ isEventSimultaneous(event: IKeyLike): boolean;
7268
7611
  resetToDefaults(): void;
7269
7612
  all(): HotkeyCombination[];
7270
7613
  findById(id: ChartHotkeyType): HotkeyCombination;
7271
7614
  add(hotkey: HotkeyCombination): boolean;
7272
7615
  saveState(): HotkeyCombination[];
7273
7616
  restoreState(state: HotkeyCombination[]): void;
7274
- static eventMatchHotkey<T>(hotkey: HotkeyCombination<T>, event: JQueryEventObject): boolean;
7275
- static getEventCodeCombination(event: JQueryEventObject): string;
7617
+ static eventMatchHotkey<T>(hotkey: HotkeyCombination<T>, event: IKeyLike): boolean;
7618
+ static getEventCodeCombination(event: IKeyLike): string;
7276
7619
  static onCopySnapshotToClipboard(chart: Chart): void;
7277
7620
  static onTogglePercentScale(chart: Chart): void;
7278
7621
  static onMoveFurtherLeft(chart: Chart): void;
@@ -7290,8 +7633,8 @@ declare module FintaChart {
7290
7633
  static onDelete(chart: Chart): void;
7291
7634
  static onUndo(chart: Chart): void;
7292
7635
  static onRedo(chart: Chart): void;
7293
- static onTimeFrameChange(chart: Chart, event: JQueryEventObject): void;
7294
- static onInstrumentChange(chart: Chart, event: JQueryEventObject): void;
7636
+ static onTimeFrameChange(chart: Chart, event: KeyboardEvent): void;
7637
+ static onInstrumentChange(chart: Chart, event: KeyboardEvent): void;
7295
7638
  static onHideInstrumentChange(chart: Chart): void;
7296
7639
  static onOpenIndicators(chart: Chart): void;
7297
7640
  static onToggleLogarithmicScale(chart: Chart): void;
@@ -8280,14 +8623,14 @@ declare module FintaChart {
8280
8623
  * @param name
8281
8624
  * @param container
8282
8625
  */
8283
- protected updateTitle(name: string, container: JQuery): Promise<void>;
8626
+ protected updateTitle(name: string, container: HTMLElement): Promise<void>;
8284
8627
  /**
8285
8628
  * Set localization attribute
8286
8629
  *
8287
8630
  * @param container
8288
8631
  * @param key
8289
8632
  */
8290
- protected updateTitleAttribute(container: JQuery, key: string): Promise<void>;
8633
+ protected updateTitleAttribute(container: HTMLElement, key: string): Promise<void>;
8291
8634
  /**
8292
8635
  * Shift to the future data rows
8293
8636
  *
@@ -9107,7 +9450,7 @@ declare module FintaChart {
9107
9450
  private _supportedTimeFrames;
9108
9451
  private _indicator;
9109
9452
  constructor(indicator: Indicator, initialValue: boolean);
9110
- createHtmlElement(): Promise<JQuery>;
9453
+ createHtmlElement(): Promise<HTMLElement>;
9111
9454
  values(): Record<string, unknown>;
9112
9455
  onLocaleChanged(): Promise<void>;
9113
9456
  private static getTimeFrameLocalizationKey;
@@ -12087,22 +12430,12 @@ declare module FintaChart {
12087
12430
  * @param targetDomObject
12088
12431
  * @param config
12089
12432
  */
12090
- constructor(targetDomObject: JQuery, config: IIndicatorContextMenuConfig);
12433
+ constructor(targetDomObject: HTMLElement, config: IIndicatorContextMenuConfig);
12091
12434
  private applyText;
12092
12435
  private initMenu;
12093
12436
  private static toggleClass;
12094
12437
  }
12095
12438
  }
12096
- /**
12097
- * @ignore
12098
- */
12099
- declare type ISortHandlerFunction = (left: HTMLElement, right: HTMLElement) => number;
12100
- /**
12101
- * @ignore
12102
- */
12103
- interface JQuery {
12104
- sort(fn: ISortHandlerFunction): number;
12105
- }
12106
12439
  declare module FintaChart {
12107
12440
  }
12108
12441
  declare module FintaChart {
@@ -12207,11 +12540,9 @@ declare module FintaChart {
12207
12540
  private _element;
12208
12541
  private _inp_search;
12209
12542
  private _resultContainer;
12210
- private _searchDelayTimer;
12211
12543
  private _currentText;
12212
12544
  private _noResults;
12213
12545
  private _resultsCount;
12214
- private _inputValueOnInit;
12215
12546
  private _selectedFilters;
12216
12547
  private _page;
12217
12548
  private _size;
@@ -12583,7 +12914,7 @@ declare module FintaChart {
12583
12914
  *
12584
12915
  * @param visibility
12585
12916
  */
12586
- toggleVisibility(visibility: JQuery): void;
12917
+ toggleVisibility(visibility: HTMLElement): void;
12587
12918
  /**
12588
12919
  * Refreshes Instrument Compare Settings
12589
12920
  */
@@ -12646,7 +12977,7 @@ declare module FintaChart {
12646
12977
  * @param targetDomObject
12647
12978
  * @param config
12648
12979
  */
12649
- constructor(targetDomObject: JQuery, config: ICompareInstrumentContextMenuConfig);
12980
+ constructor(targetDomObject: HTMLElement, config: ICompareInstrumentContextMenuConfig);
12650
12981
  private init;
12651
12982
  private static toggleClass;
12652
12983
  }
@@ -13110,7 +13441,7 @@ declare module FintaChart {
13110
13441
  cancelAutoScaling(): void;
13111
13442
  verticalAxisLabelMaxWidth(verticalAxis: VerticalAxis): number;
13112
13443
  applyLogoWatermark(): void;
13113
- protected createContainer(): JQuery;
13444
+ protected createContainer(): HTMLElement;
13114
13445
  protected initMotionEvents(): MotionEventArray;
13115
13446
  /**
13116
13447
  * Subscribes
@@ -13525,7 +13856,7 @@ declare module FintaChart {
13525
13856
  * @return
13526
13857
  */
13527
13858
  totalPanesHeight(): number;
13528
- protected createContainer(): JQuery;
13859
+ protected createContainer(): HTMLElement;
13529
13860
  protected initMotionEvents(): MotionEventArray;
13530
13861
  protected subscribe(): void;
13531
13862
  protected unsubscribe(): void;
@@ -13582,7 +13913,7 @@ declare module FintaChart {
13582
13913
  invalidateTheme(): void;
13583
13914
  hitTest(point: IPoint): boolean;
13584
13915
  resize(frame: Bounds): void;
13585
- protected createContainer(): JQuery;
13916
+ protected createContainer(): HTMLElement;
13586
13917
  protected initMotionEvents(): MotionEventArray;
13587
13918
  private applyTheme;
13588
13919
  private onMouseHover;
@@ -14114,7 +14445,7 @@ declare module FintaChart {
14114
14445
  * Provides model of Pane Watermark
14115
14446
  */
14116
14447
  abstract class PaneWatermark extends PaneHtmlComponent {
14117
- protected createContainer(): JQuery;
14448
+ protected createContainer(): HTMLElement;
14118
14449
  }
14119
14450
  }
14120
14451
  declare module FintaChart {
@@ -14149,7 +14480,7 @@ declare module FintaChart {
14149
14480
  applyText(): void;
14150
14481
  applyTheme(): void;
14151
14482
  refresh(): void;
14152
- protected createContainer(): JQuery;
14483
+ protected createContainer(): HTMLElement;
14153
14484
  protected subscribe(): void;
14154
14485
  protected unsubscribe(): void;
14155
14486
  }
@@ -14245,7 +14576,7 @@ declare module FintaChart {
14245
14576
  * @category Market events
14246
14577
  */
14247
14578
  interface IMarketEventPopupBuilder {
14248
- createPopupElement(event: IMarketEvent, chart: Chart): Promise<JQuery>;
14579
+ createPopupElement(event: IMarketEvent, chart: Chart): Promise<HTMLElement>;
14249
14580
  }
14250
14581
  }
14251
14582
  declare module FintaChart {
@@ -14533,6 +14864,7 @@ declare module FintaChart {
14533
14864
  class LocalStorageChartStateHandler extends ChartComponent implements IChartStateHandler {
14534
14865
  autoLoad: boolean;
14535
14866
  autoSave: boolean;
14867
+ private _boundOnBeforeUnload;
14536
14868
  /**
14537
14869
  * Creates an instance of [[LocalStorageChartStateHandler]].
14538
14870
  *
@@ -14545,7 +14877,6 @@ declare module FintaChart {
14545
14877
  protected subscribe(): void;
14546
14878
  protected unsubscribe(): void;
14547
14879
  private static makeKey;
14548
- private static onBeforeUnloadWindow;
14549
14880
  private autoSaveState;
14550
14881
  }
14551
14882
  }
@@ -14586,7 +14917,7 @@ declare module FintaChart {
14586
14917
  /**
14587
14918
  * Scrollbar Config parent
14588
14919
  */
14589
- parent: JQuery;
14920
+ parent: HTMLElement;
14590
14921
  }
14591
14922
  /**
14592
14923
  * Provides model of Scrollbar
@@ -14598,6 +14929,8 @@ declare module FintaChart {
14598
14929
  private _scrollingPaneMinWidth;
14599
14930
  private _scrollingPaneWidth;
14600
14931
  private _isLocked;
14932
+ private _draggableController;
14933
+ private _resizableController;
14601
14934
  /**
14602
14935
  * The parent chart.
14603
14936
  */
@@ -14622,7 +14955,7 @@ declare module FintaChart {
14622
14955
  *
14623
14956
  * @param container The container to append scrollbar to.
14624
14957
  */
14625
- appendTo(container: JQuery): void;
14958
+ appendTo(container: HTMLElement): void;
14626
14959
  lock(): void;
14627
14960
  private init;
14628
14961
  animateScrollingToLastBar(): void;
@@ -14738,6 +15071,8 @@ declare module FintaChart {
14738
15071
  private _mode;
14739
15072
  private _preFullWindowSize;
14740
15073
  private _prevMode;
15074
+ private _boundOnFullScreenChanged;
15075
+ private _boundOnWindowResize;
14741
15076
  constructor(config: IChartComponentConfig);
14742
15077
  private get isInFullWindowMode();
14743
15078
  get mode(): WindowMode;
@@ -14751,8 +15086,6 @@ declare module FintaChart {
14751
15086
  private enterFullScreen;
14752
15087
  private exitFullScreen;
14753
15088
  private onFullScreenChange;
14754
- private static onFullScreenChanged;
14755
- private static onWindowResize;
14756
15089
  private static updateDropDownItemIcon;
14757
15090
  private updateDropdown;
14758
15091
  private toggleWindowMode;
@@ -15677,6 +16010,8 @@ declare module FintaChart {
15677
16010
  CANDLE_VOLUME: string;
15678
16011
  EQUI_VOLUME: string;
15679
16012
  EQUI_VOLUME_SHADOW: string;
16013
+ LINE: string;
16014
+ AREA: string;
15680
16015
  };
15681
16016
  /**
15682
16017
  * Represents plot bar
@@ -16218,7 +16553,7 @@ declare module FintaChart {
16218
16553
  */
16219
16554
  layoutPane(frameInChart: Bounds, isTopPane: boolean): Bounds;
16220
16555
  lock(): void;
16221
- protected createContainer(): JQuery;
16556
+ protected createContainer(): HTMLElement;
16222
16557
  protected initMotionEvents(): MotionEventArray;
16223
16558
  private clientHeight;
16224
16559
  private onDoubleClick;
@@ -17173,7 +17508,7 @@ declare module FintaChart {
17173
17508
  */
17174
17509
  getWidth(): number;
17175
17510
  resize(frame: Bounds, isLeftPane?: boolean): Bounds;
17176
- protected createContainer(): JQuery;
17511
+ protected createContainer(): HTMLElement;
17177
17512
  }
17178
17513
  }
17179
17514
  declare module FintaChart {
@@ -18926,6 +19261,7 @@ declare module FintaChart {
18926
19261
  * @category Shapes
18927
19262
  */
18928
19263
  abstract class MultiPointShape extends Shape {
19264
+ private _enterPressHandler;
18929
19265
  constructor(config: IShapeConfig);
18930
19266
  dispose(): void;
18931
19267
  /**
@@ -20687,6 +21023,7 @@ declare module FintaChart {
20687
21023
  private _tabItemsContainer;
20688
21024
  private _tabPanesContainer;
20689
21025
  private _lineColorInput;
21026
+ private _lineColorPicker;
20690
21027
  private _lineStyleInput;
20691
21028
  private _lineWidthInput;
20692
21029
  private _buyColorInput;
@@ -20718,7 +21055,7 @@ declare module FintaChart {
20718
21055
  private _input_stopPriceHTMLObj;
20719
21056
  private _input_entryPriceHTMLObj;
20720
21057
  private _visibilityConfig;
20721
- constructor(container: JQuery);
21058
+ constructor(container: HTMLElement);
20722
21059
  show(config: IPositionShapeSettingsConfig): void;
20723
21060
  hide(): void;
20724
21061
  /**
@@ -21374,7 +21711,7 @@ declare module FintaChart {
21374
21711
  * @param config The context menu configuration.
21375
21712
  * @param targetDomObject The target DOM element.
21376
21713
  */
21377
- constructor(config: IShapeContextMenu, targetDomObject?: JQuery);
21714
+ constructor(config: IShapeContextMenu, targetDomObject?: HTMLElement);
21378
21715
  }
21379
21716
  }
21380
21717
  declare module FintaChart {
@@ -21388,14 +21725,16 @@ declare module FintaChart {
21388
21725
  }
21389
21726
  class ShapeTemplateSettings {
21390
21727
  private _container;
21728
+ private _initList;
21391
21729
  private _chart;
21392
21730
  private _selectedShape;
21393
21731
  private _currentListTemplates;
21394
21732
  private _setExternalValues;
21733
+ private _bodyClickHandler;
21395
21734
  set selectedShape(shape: Shape | null);
21396
21735
  get selectedShape(): Shape | null;
21397
21736
  get selectedShapeType(): string;
21398
- constructor(container: JQuery, chart: Chart, setValues: (key?: string) => void);
21737
+ constructor(container: HTMLElement, chart: Chart, setValues: (key?: string) => void);
21399
21738
  private init;
21400
21739
  private generateList;
21401
21740
  deleteTemplate(key: string): void;
@@ -21474,6 +21813,7 @@ declare module FintaChart {
21474
21813
  private generateLockItem;
21475
21814
  private generatePaneContainer;
21476
21815
  private generatePaneItem;
21816
+ private appendChildrenFrom;
21477
21817
  private generateSettingsItem;
21478
21818
  private generateSizeItem;
21479
21819
  private generateStickItem;
@@ -21482,6 +21822,7 @@ declare module FintaChart {
21482
21822
  private applyThemeChanges;
21483
21823
  private onChartChanged;
21484
21824
  private handleUIEvents;
21825
+ private onContainerClick;
21485
21826
  private hideAllPaneItems;
21486
21827
  private init;
21487
21828
  private initControls;
@@ -22611,10 +22952,10 @@ declare module FintaChart {
22611
22952
  * @constructor
22612
22953
  * @param {Chart} chart
22613
22954
  * @param {any} config
22614
- * @param {JQuery} [targetDomObject]
22955
+ * @param {HTMLElement} [targetDomObject]
22615
22956
  * @memberof TradingContextMenu
22616
22957
  */
22617
- constructor(chart: Chart, config: any, targetDomObject?: JQuery);
22958
+ constructor(chart: Chart, config: any, targetDomObject?: HTMLElement);
22618
22959
  _calculatePrices(event: IWindowEvent, scaleCoordinateMapper: ScaleCoordinateMapper): void;
22619
22960
  private _addIndicatorAlertMenuItem;
22620
22961
  getMenuList(): void;
@@ -22708,7 +23049,6 @@ declare module FintaChart {
22708
23049
  get removeButton(): Button;
22709
23050
  set removeButton(value: Button);
22710
23051
  private _closeBtnHover;
22711
- private _elementPopup;
22712
23052
  private _isShownPopup;
22713
23053
  constructor(config: IAlertLabelConfig);
22714
23054
  protected _handleMotionEventPencilDevice(gesture: MoveMotionEvent, event: IWindowEvent): boolean;
@@ -22834,15 +23174,6 @@ declare module FintaChart {
22834
23174
  private _drawAlertLine;
22835
23175
  }
22836
23176
  }
22837
- /**
22838
- * @ignore
22839
- */
22840
- interface JQueryEventObject {
22841
- /**
22842
- * Converted JQuery to HTMLElement
22843
- */
22844
- toElement: HTMLElement;
22845
- }
22846
23177
  declare module FintaChart {
22847
23178
  interface IChartObject {
22848
23179
  readonly type?: string;
@@ -22875,9 +23206,11 @@ declare module FintaChart {
22875
23206
  */
22876
23207
  barsCount?: number;
22877
23208
  /**
22878
- * Chart container
23209
+ * Chart container — either an already-resolved HTMLElement, or a CSS
23210
+ * selector string (for parity with the legacy jQuery-era API that the
23211
+ * HTML examples rely on: `container: '#chartContainer'`).
22879
23212
  */
22880
- container?: HTMLElement;
23213
+ container?: HTMLElement | string;
22881
23214
  /**
22882
23215
  * Cross hair type
22883
23216
  */
@@ -23302,7 +23635,7 @@ declare module FintaChart {
23302
23635
  hoveredObject: IChartObject;
23303
23636
  isMoving: boolean;
23304
23637
  _suppressMeasureTool: boolean;
23305
- multiChartRootContainer: JQuery;
23638
+ multiChartRootContainer: HTMLElement;
23306
23639
  preventMouseEvents: boolean;
23307
23640
  selectedObject: SelectedObject;
23308
23641
  showShapeTooltips: boolean;
@@ -23338,6 +23671,9 @@ declare module FintaChart {
23338
23671
  private _options;
23339
23672
  private _panesFrame;
23340
23673
  private _rootDiv;
23674
+ private _boundMouseEvents;
23675
+ private _boundOnLocalize;
23676
+ private _subscribedEvents;
23341
23677
  private _verticalScales;
23342
23678
  private _state;
23343
23679
  private _timeFrame;
@@ -23470,10 +23806,14 @@ declare module FintaChart {
23470
23806
  * Set chart default hot keys
23471
23807
  */
23472
23808
  set defaultHotkeys(combinations: HotkeyCombination[]);
23809
+ /**
23810
+ * Get chart container element (native)
23811
+ */
23812
+ get containerEl(): HTMLElement;
23473
23813
  /**
23474
23814
  * Get chart container
23475
23815
  */
23476
- get container(): JQuery;
23816
+ get container(): HTMLElement;
23477
23817
  /**
23478
23818
  * Get chart cross hair
23479
23819
  */
@@ -23595,10 +23935,14 @@ declare module FintaChart {
23595
23935
  * Get chart replay mode manager
23596
23936
  */
23597
23937
  get replayMode(): ReplayModeManager;
23938
+ /**
23939
+ * Get chart root div element (native)
23940
+ */
23941
+ get rootDivEl(): HTMLElement;
23598
23942
  /**
23599
23943
  * Get chart root div
23600
23944
  */
23601
- get rootDiv(): JQuery;
23945
+ get rootDiv(): HTMLElement;
23602
23946
  /**
23603
23947
  * Get chart horizontal scale
23604
23948
  */
@@ -23726,7 +24070,7 @@ declare module FintaChart {
23726
24070
  * @param event
23727
24071
  * @return Is event handled
23728
24072
  */
23729
- onMouseEvents(event: JQueryEventObject): boolean;
24073
+ onMouseEvents(event: Event): boolean;
23730
24074
  /**
23731
24075
  * Scrolling chart to real time arrow
23732
24076
  */
@@ -23942,11 +24286,11 @@ declare module FintaChart {
23942
24286
  restoreState(state: string | IChartState, preserveObjects?: boolean, toDefault?: boolean): void;
23943
24287
  restoreVisibleRange(recordsState: IRecordsState): void;
23944
24288
  /**
23945
- * Localizes JQuery element
24289
+ * Localizes target element
23946
24290
  *
23947
24291
  * @param element
23948
24292
  */
23949
- localize(element?: JQuery): void;
24293
+ localize(element?: HTMLElement): void;
23950
24294
  /**
23951
24295
  * Localizes text
23952
24296
  *