react-klinecharts-ui 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkUJNJH3BS_cjs = require('./chunk-UJNJH3BS.cjs');
3
+ var chunkFSHI2ZDB_cjs = require('./chunk-FSHI2ZDB.cjs');
4
4
  var react = require('react');
5
5
  var reactKlinecharts = require('react-klinecharts');
6
6
  var jsxRuntime = require('react/jsx-runtime');
@@ -203,7 +203,7 @@ function KlinechartsUIProvider({
203
203
  const extraOverlaysRef = react.useRef(extraOverlays);
204
204
  react.useEffect(() => {
205
205
  if (shouldRegister) {
206
- chunkUJNJH3BS_cjs.registerExtensions();
206
+ chunkFSHI2ZDB_cjs.registerExtensions();
207
207
  }
208
208
  extraOverlaysRef.current?.forEach((overlay) => reactKlinecharts.registerOverlay(overlay));
209
209
  }, [shouldRegister]);
@@ -1678,6 +1678,53 @@ function useScreenshot() {
1678
1678
  clear
1679
1679
  };
1680
1680
  }
1681
+ function useHotkeys() {
1682
+ const { state } = useKlinechartsUI();
1683
+ const registerHotkey = react.useCallback((template) => {
1684
+ reactKlinecharts.registerHotkey(template);
1685
+ }, []);
1686
+ const getHotkey = react.useCallback(
1687
+ (name) => reactKlinecharts.getHotkey(name) ?? null,
1688
+ []
1689
+ );
1690
+ const setHotkeysEnabled = react.useCallback(
1691
+ (enabled, exclude) => {
1692
+ state.chart?.setHotkey(
1693
+ exclude ? { enabled, exclude } : { enabled }
1694
+ );
1695
+ },
1696
+ [state.chart]
1697
+ );
1698
+ const getHotkeysConfig = react.useCallback(
1699
+ () => state.chart?.getHotkey() ?? null,
1700
+ [state.chart]
1701
+ );
1702
+ return {
1703
+ registerHotkey,
1704
+ getHotkey,
1705
+ supportedHotkeys: reactKlinecharts.getSupportedHotkeys(),
1706
+ setHotkeysEnabled,
1707
+ getHotkeysConfig
1708
+ };
1709
+ }
1710
+ function useChartAxes() {
1711
+ const { state } = useKlinechartsUI();
1712
+ const overrideXAxis = react.useCallback(
1713
+ (override) => {
1714
+ if (!state.chart) return;
1715
+ state.chart.overrideXAxis(override);
1716
+ },
1717
+ [state.chart]
1718
+ );
1719
+ const overrideYAxis = react.useCallback(
1720
+ (override) => {
1721
+ if (!state.chart) return;
1722
+ state.chart.overrideYAxis(override);
1723
+ },
1724
+ [state.chart]
1725
+ );
1726
+ return { overrideXAxis, overrideYAxis };
1727
+ }
1681
1728
  function useFullscreen() {
1682
1729
  const { fullscreenContainerRef } = useKlinechartsUIDispatch();
1683
1730
  const [isFullscreen, setIsFullscreen] = react.useState(false);
@@ -2479,7 +2526,7 @@ ${code}`
2479
2526
  ];
2480
2527
  const fn = new Function(...allArgs);
2481
2528
  const shadowValues = SHADOW_KEYS.map(() => void 0);
2482
- const result = fn(...shadowValues, chunkUJNJH3BS_cjs.TA_default, dataList, parsedParams);
2529
+ const result = fn(...shadowValues, chunkFSHI2ZDB_cjs.TA_default, dataList, parsedParams);
2483
2530
  if (!Array.isArray(result)) {
2484
2531
  throw new Error("Script must return an Array.");
2485
2532
  }
@@ -2666,29 +2713,30 @@ function useAlerts() {
2666
2713
  const { alertTriggeredListenerRef } = useKlinechartsUIDispatch();
2667
2714
  const alerts = state.alerts;
2668
2715
  const addAlert = react.useCallback(
2669
- (price, condition, message) => {
2716
+ (price, condition, message, extendData) => {
2670
2717
  const id = `alert_${++alertCounter}`;
2718
+ const precision = state.chart?.getSymbol()?.pricePrecision ?? 2;
2719
+ const resolvedExtendData = {
2720
+ ...extendData,
2721
+ text: extendData?.text ?? message ?? price.toFixed(precision)
2722
+ };
2671
2723
  const alert = {
2672
2724
  id,
2673
2725
  price,
2674
2726
  condition,
2675
2727
  message,
2676
- triggered: false
2728
+ triggered: false,
2729
+ extendData: resolvedExtendData
2677
2730
  };
2678
2731
  dispatch({ type: "SET_ALERTS", alerts: [...state.alerts, alert] });
2679
2732
  if (state.chart) {
2733
+ chunkFSHI2ZDB_cjs.ensureAlertLineRegistered();
2680
2734
  state.chart.createOverlay({
2681
- name: "horizontalStraightLine",
2735
+ name: "alertLine",
2682
2736
  id,
2683
2737
  groupId: "price_alerts",
2684
2738
  points: [{ value: price }],
2685
- styles: {
2686
- line: {
2687
- style: "dashed",
2688
- color: "#ff9800",
2689
- size: 1
2690
- }
2691
- },
2739
+ extendData: resolvedExtendData,
2692
2740
  lock: true
2693
2741
  });
2694
2742
  }
@@ -3375,175 +3423,179 @@ function createDataLoader(datafeed, dispatch) {
3375
3423
 
3376
3424
  Object.defineProperty(exports, "TA", {
3377
3425
  enumerable: true,
3378
- get: function () { return chunkUJNJH3BS_cjs.TA_default; }
3426
+ get: function () { return chunkFSHI2ZDB_cjs.TA_default; }
3379
3427
  });
3380
3428
  Object.defineProperty(exports, "abcd", {
3381
3429
  enumerable: true,
3382
- get: function () { return chunkUJNJH3BS_cjs.abcd_default; }
3430
+ get: function () { return chunkFSHI2ZDB_cjs.abcd_default; }
3431
+ });
3432
+ Object.defineProperty(exports, "alertLine", {
3433
+ enumerable: true,
3434
+ get: function () { return chunkFSHI2ZDB_cjs.alertLine_default; }
3383
3435
  });
3384
3436
  Object.defineProperty(exports, "anyWaves", {
3385
3437
  enumerable: true,
3386
- get: function () { return chunkUJNJH3BS_cjs.anyWaves_default; }
3438
+ get: function () { return chunkFSHI2ZDB_cjs.anyWaves_default; }
3387
3439
  });
3388
3440
  Object.defineProperty(exports, "arrow", {
3389
3441
  enumerable: true,
3390
- get: function () { return chunkUJNJH3BS_cjs.arrow_default; }
3442
+ get: function () { return chunkFSHI2ZDB_cjs.arrow_default; }
3391
3443
  });
3392
3444
  Object.defineProperty(exports, "bollTv", {
3393
3445
  enumerable: true,
3394
- get: function () { return chunkUJNJH3BS_cjs.bollTv_default; }
3446
+ get: function () { return chunkFSHI2ZDB_cjs.bollTv_default; }
3395
3447
  });
3396
3448
  Object.defineProperty(exports, "brush", {
3397
3449
  enumerable: true,
3398
- get: function () { return chunkUJNJH3BS_cjs.brush_default; }
3450
+ get: function () { return chunkFSHI2ZDB_cjs.brush_default; }
3399
3451
  });
3400
3452
  Object.defineProperty(exports, "cci", {
3401
3453
  enumerable: true,
3402
- get: function () { return chunkUJNJH3BS_cjs.cci_default; }
3454
+ get: function () { return chunkFSHI2ZDB_cjs.cci_default; }
3403
3455
  });
3404
3456
  Object.defineProperty(exports, "circle", {
3405
3457
  enumerable: true,
3406
- get: function () { return chunkUJNJH3BS_cjs.circle_default; }
3458
+ get: function () { return chunkFSHI2ZDB_cjs.circle_default; }
3407
3459
  });
3408
3460
  Object.defineProperty(exports, "depthOverlay", {
3409
3461
  enumerable: true,
3410
- get: function () { return chunkUJNJH3BS_cjs.depthOverlay_default; }
3462
+ get: function () { return chunkFSHI2ZDB_cjs.depthOverlay_default; }
3411
3463
  });
3412
3464
  Object.defineProperty(exports, "eightWaves", {
3413
3465
  enumerable: true,
3414
- get: function () { return chunkUJNJH3BS_cjs.eightWaves_default; }
3466
+ get: function () { return chunkFSHI2ZDB_cjs.eightWaves_default; }
3415
3467
  });
3416
3468
  Object.defineProperty(exports, "elliottWave", {
3417
3469
  enumerable: true,
3418
- get: function () { return chunkUJNJH3BS_cjs.elliottWave_default; }
3470
+ get: function () { return chunkFSHI2ZDB_cjs.elliottWave_default; }
3419
3471
  });
3420
3472
  Object.defineProperty(exports, "fibRetracement", {
3421
3473
  enumerable: true,
3422
- get: function () { return chunkUJNJH3BS_cjs.fibRetracement_default; }
3474
+ get: function () { return chunkFSHI2ZDB_cjs.fibRetracement_default; }
3423
3475
  });
3424
3476
  Object.defineProperty(exports, "fibonacciCircle", {
3425
3477
  enumerable: true,
3426
- get: function () { return chunkUJNJH3BS_cjs.fibonacciCircle_default; }
3478
+ get: function () { return chunkFSHI2ZDB_cjs.fibonacciCircle_default; }
3427
3479
  });
3428
3480
  Object.defineProperty(exports, "fibonacciExtension", {
3429
3481
  enumerable: true,
3430
- get: function () { return chunkUJNJH3BS_cjs.fibonacciExtension_default; }
3482
+ get: function () { return chunkFSHI2ZDB_cjs.fibonacciExtension_default; }
3431
3483
  });
3432
3484
  Object.defineProperty(exports, "fibonacciSegment", {
3433
3485
  enumerable: true,
3434
- get: function () { return chunkUJNJH3BS_cjs.fibonacciSegment_default; }
3486
+ get: function () { return chunkFSHI2ZDB_cjs.fibonacciSegment_default; }
3435
3487
  });
3436
3488
  Object.defineProperty(exports, "fibonacciSpeedResistanceFan", {
3437
3489
  enumerable: true,
3438
- get: function () { return chunkUJNJH3BS_cjs.fibonacciSpeedResistanceFan_default; }
3490
+ get: function () { return chunkFSHI2ZDB_cjs.fibonacciSpeedResistanceFan_default; }
3439
3491
  });
3440
3492
  Object.defineProperty(exports, "fibonacciSpiral", {
3441
3493
  enumerable: true,
3442
- get: function () { return chunkUJNJH3BS_cjs.fibonacciSpiral_default; }
3494
+ get: function () { return chunkFSHI2ZDB_cjs.fibonacciSpiral_default; }
3443
3495
  });
3444
3496
  Object.defineProperty(exports, "fiveWaves", {
3445
3497
  enumerable: true,
3446
- get: function () { return chunkUJNJH3BS_cjs.fiveWaves_default; }
3498
+ get: function () { return chunkFSHI2ZDB_cjs.fiveWaves_default; }
3447
3499
  });
3448
3500
  Object.defineProperty(exports, "gannBox", {
3449
3501
  enumerable: true,
3450
- get: function () { return chunkUJNJH3BS_cjs.gannBox_default; }
3502
+ get: function () { return chunkFSHI2ZDB_cjs.gannBox_default; }
3451
3503
  });
3452
3504
  Object.defineProperty(exports, "gannFan", {
3453
3505
  enumerable: true,
3454
- get: function () { return chunkUJNJH3BS_cjs.gannFan_default; }
3506
+ get: function () { return chunkFSHI2ZDB_cjs.gannFan_default; }
3455
3507
  });
3456
3508
  Object.defineProperty(exports, "hma", {
3457
3509
  enumerable: true,
3458
- get: function () { return chunkUJNJH3BS_cjs.hma_default; }
3510
+ get: function () { return chunkFSHI2ZDB_cjs.hma_default; }
3459
3511
  });
3460
3512
  Object.defineProperty(exports, "ichimoku", {
3461
3513
  enumerable: true,
3462
- get: function () { return chunkUJNJH3BS_cjs.ichimoku_default; }
3514
+ get: function () { return chunkFSHI2ZDB_cjs.ichimoku_default; }
3463
3515
  });
3464
3516
  Object.defineProperty(exports, "indicators", {
3465
3517
  enumerable: true,
3466
- get: function () { return chunkUJNJH3BS_cjs.indicators; }
3518
+ get: function () { return chunkFSHI2ZDB_cjs.indicators; }
3467
3519
  });
3468
3520
  Object.defineProperty(exports, "longPosition", {
3469
3521
  enumerable: true,
3470
- get: function () { return chunkUJNJH3BS_cjs.longPosition_default; }
3522
+ get: function () { return chunkFSHI2ZDB_cjs.longPosition_default; }
3471
3523
  });
3472
3524
  Object.defineProperty(exports, "maRibbon", {
3473
3525
  enumerable: true,
3474
- get: function () { return chunkUJNJH3BS_cjs.maRibbon_default; }
3526
+ get: function () { return chunkFSHI2ZDB_cjs.maRibbon_default; }
3475
3527
  });
3476
3528
  Object.defineProperty(exports, "macdTv", {
3477
3529
  enumerable: true,
3478
- get: function () { return chunkUJNJH3BS_cjs.macdTv_default; }
3530
+ get: function () { return chunkFSHI2ZDB_cjs.macdTv_default; }
3479
3531
  });
3480
3532
  Object.defineProperty(exports, "measure", {
3481
3533
  enumerable: true,
3482
- get: function () { return chunkUJNJH3BS_cjs.measure_default; }
3534
+ get: function () { return chunkFSHI2ZDB_cjs.measure_default; }
3483
3535
  });
3484
3536
  Object.defineProperty(exports, "orderLine", {
3485
3537
  enumerable: true,
3486
- get: function () { return chunkUJNJH3BS_cjs.orderLine_default; }
3538
+ get: function () { return chunkFSHI2ZDB_cjs.orderLine_default; }
3487
3539
  });
3488
3540
  Object.defineProperty(exports, "overlays", {
3489
3541
  enumerable: true,
3490
- get: function () { return chunkUJNJH3BS_cjs.overlays; }
3542
+ get: function () { return chunkFSHI2ZDB_cjs.overlays; }
3491
3543
  });
3492
3544
  Object.defineProperty(exports, "parallelChannel", {
3493
3545
  enumerable: true,
3494
- get: function () { return chunkUJNJH3BS_cjs.parallelChannel_default; }
3546
+ get: function () { return chunkFSHI2ZDB_cjs.parallelChannel_default; }
3495
3547
  });
3496
3548
  Object.defineProperty(exports, "parallelogram", {
3497
3549
  enumerable: true,
3498
- get: function () { return chunkUJNJH3BS_cjs.parallelogram_default; }
3550
+ get: function () { return chunkFSHI2ZDB_cjs.parallelogram_default; }
3499
3551
  });
3500
3552
  Object.defineProperty(exports, "pivotPoints", {
3501
3553
  enumerable: true,
3502
- get: function () { return chunkUJNJH3BS_cjs.pivotPoints_default; }
3554
+ get: function () { return chunkFSHI2ZDB_cjs.pivotPoints_default; }
3503
3555
  });
3504
3556
  Object.defineProperty(exports, "ray", {
3505
3557
  enumerable: true,
3506
- get: function () { return chunkUJNJH3BS_cjs.ray_default; }
3558
+ get: function () { return chunkFSHI2ZDB_cjs.ray_default; }
3507
3559
  });
3508
3560
  Object.defineProperty(exports, "rect", {
3509
3561
  enumerable: true,
3510
- get: function () { return chunkUJNJH3BS_cjs.rect_default; }
3562
+ get: function () { return chunkFSHI2ZDB_cjs.rect_default; }
3511
3563
  });
3512
3564
  Object.defineProperty(exports, "registerExtensions", {
3513
3565
  enumerable: true,
3514
- get: function () { return chunkUJNJH3BS_cjs.registerExtensions; }
3566
+ get: function () { return chunkFSHI2ZDB_cjs.registerExtensions; }
3515
3567
  });
3516
3568
  Object.defineProperty(exports, "rsiTv", {
3517
3569
  enumerable: true,
3518
- get: function () { return chunkUJNJH3BS_cjs.rsiTv_default; }
3570
+ get: function () { return chunkFSHI2ZDB_cjs.rsiTv_default; }
3519
3571
  });
3520
3572
  Object.defineProperty(exports, "shortPosition", {
3521
3573
  enumerable: true,
3522
- get: function () { return chunkUJNJH3BS_cjs.shortPosition_default; }
3574
+ get: function () { return chunkFSHI2ZDB_cjs.shortPosition_default; }
3523
3575
  });
3524
3576
  Object.defineProperty(exports, "stochastic", {
3525
3577
  enumerable: true,
3526
- get: function () { return chunkUJNJH3BS_cjs.stochastic_default; }
3578
+ get: function () { return chunkFSHI2ZDB_cjs.stochastic_default; }
3527
3579
  });
3528
3580
  Object.defineProperty(exports, "superTrend", {
3529
3581
  enumerable: true,
3530
- get: function () { return chunkUJNJH3BS_cjs.superTrend_default; }
3582
+ get: function () { return chunkFSHI2ZDB_cjs.superTrend_default; }
3531
3583
  });
3532
3584
  Object.defineProperty(exports, "threeWaves", {
3533
3585
  enumerable: true,
3534
- get: function () { return chunkUJNJH3BS_cjs.threeWaves_default; }
3586
+ get: function () { return chunkFSHI2ZDB_cjs.threeWaves_default; }
3535
3587
  });
3536
3588
  Object.defineProperty(exports, "triangle", {
3537
3589
  enumerable: true,
3538
- get: function () { return chunkUJNJH3BS_cjs.triangle_default; }
3590
+ get: function () { return chunkFSHI2ZDB_cjs.triangle_default; }
3539
3591
  });
3540
3592
  Object.defineProperty(exports, "vwap", {
3541
3593
  enumerable: true,
3542
- get: function () { return chunkUJNJH3BS_cjs.vwap_default; }
3594
+ get: function () { return chunkFSHI2ZDB_cjs.vwap_default; }
3543
3595
  });
3544
3596
  Object.defineProperty(exports, "xabcd", {
3545
3597
  enumerable: true,
3546
- get: function () { return chunkUJNJH3BS_cjs.xabcd_default; }
3598
+ get: function () { return chunkFSHI2ZDB_cjs.xabcd_default; }
3547
3599
  });
3548
3600
  exports.CANDLE_TYPES = CANDLE_TYPES;
3549
3601
  exports.COMPARE_RULES = COMPARE_RULES;
@@ -3562,11 +3614,13 @@ exports.YAXIS_POSITIONS = YAXIS_POSITIONS;
3562
3614
  exports.createDataLoader = createDataLoader;
3563
3615
  exports.useAlerts = useAlerts;
3564
3616
  exports.useAnnotations = useAnnotations;
3617
+ exports.useChartAxes = useChartAxes;
3565
3618
  exports.useCompare = useCompare;
3566
3619
  exports.useCrosshair = useCrosshair;
3567
3620
  exports.useDataExport = useDataExport;
3568
3621
  exports.useDrawingTools = useDrawingTools;
3569
3622
  exports.useFullscreen = useFullscreen;
3623
+ exports.useHotkeys = useHotkeys;
3570
3624
  exports.useIndicators = useIndicators;
3571
3625
  exports.useKlinechartsUI = useKlinechartsUI;
3572
3626
  exports.useKlinechartsUILoading = useKlinechartsUILoading;