dipping-charts 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +216 -0
  3. package/dist/__tests__/FullFeaturedChart.test.d.ts +2 -0
  4. package/dist/__tests__/FullFeaturedChart.test.d.ts.map +1 -0
  5. package/dist/__tests__/indicators-accuracy.test.d.ts +2 -0
  6. package/dist/__tests__/indicators-accuracy.test.d.ts.map +1 -0
  7. package/dist/__tests__/indicators.test.d.ts +2 -0
  8. package/dist/__tests__/indicators.test.d.ts.map +1 -0
  9. package/dist/__tests__/setup.d.ts +1 -0
  10. package/dist/__tests__/setup.d.ts.map +1 -0
  11. package/dist/__tests__/validateCandle.test.d.ts +2 -0
  12. package/dist/__tests__/validateCandle.test.d.ts.map +1 -0
  13. package/dist/chart/index.d.ts +2 -0
  14. package/dist/chart/index.js +5 -0
  15. package/dist/chart/index.js.map +1 -0
  16. package/dist/components/TradingChart.d.ts +24 -0
  17. package/dist/components/TradingChart.d.ts.map +1 -0
  18. package/dist/components/TradingChart.js +100 -0
  19. package/dist/components/TradingChart.js.map +1 -0
  20. package/dist/components/index.d.ts +3 -0
  21. package/dist/components/index.d.ts.map +1 -0
  22. package/dist/dipping-charts.css +1 -0
  23. package/dist/index.d.ts +5 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +28 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/indicators/atr.d.ts +15 -0
  28. package/dist/indicators/atr.d.ts.map +1 -0
  29. package/dist/indicators/atr.js +30 -0
  30. package/dist/indicators/atr.js.map +1 -0
  31. package/dist/indicators/bollingerBands.d.ts +11 -0
  32. package/dist/indicators/bollingerBands.d.ts.map +1 -0
  33. package/dist/indicators/bollingerBands.js +39 -0
  34. package/dist/indicators/bollingerBands.js.map +1 -0
  35. package/dist/indicators/currencyStrength.d.ts +43 -0
  36. package/dist/indicators/currencyStrength.d.ts.map +1 -0
  37. package/dist/indicators/currencyStrength.js +53 -0
  38. package/dist/indicators/currencyStrength.js.map +1 -0
  39. package/dist/indicators/ema.d.ts +11 -0
  40. package/dist/indicators/ema.d.ts.map +1 -0
  41. package/dist/indicators/ema.js +24 -0
  42. package/dist/indicators/ema.js.map +1 -0
  43. package/dist/indicators/index.d.ts +19 -0
  44. package/dist/indicators/index.d.ts.map +1 -0
  45. package/dist/indicators/index.js +23 -0
  46. package/dist/indicators/index.js.map +1 -0
  47. package/dist/indicators/macd.d.ts +11 -0
  48. package/dist/indicators/macd.d.ts.map +1 -0
  49. package/dist/indicators/macd.js +52 -0
  50. package/dist/indicators/macd.js.map +1 -0
  51. package/dist/indicators/rsi.d.ts +11 -0
  52. package/dist/indicators/rsi.d.ts.map +1 -0
  53. package/dist/indicators/rsi.js +29 -0
  54. package/dist/indicators/rsi.js.map +1 -0
  55. package/dist/indicators/sma.d.ts +13 -0
  56. package/dist/indicators/sma.d.ts.map +1 -0
  57. package/dist/indicators/sma.js +22 -0
  58. package/dist/indicators/sma.js.map +1 -0
  59. package/dist/indicators/stochastic.d.ts +15 -0
  60. package/dist/indicators/stochastic.d.ts.map +1 -0
  61. package/dist/indicators/stochastic.js +34 -0
  62. package/dist/indicators/stochastic.js.map +1 -0
  63. package/dist/indicators/types.d.ts +102 -0
  64. package/dist/indicators/types.d.ts.map +1 -0
  65. package/dist/indicators/vwap.d.ts +14 -0
  66. package/dist/indicators/vwap.d.ts.map +1 -0
  67. package/dist/indicators/vwap.js +17 -0
  68. package/dist/indicators/vwap.js.map +1 -0
  69. package/dist/indicators/williamsR.d.ts +17 -0
  70. package/dist/indicators/williamsR.d.ts.map +1 -0
  71. package/dist/indicators/williamsR.js +19 -0
  72. package/dist/indicators/williamsR.js.map +1 -0
  73. package/dist/react/FullFeaturedChart.d.ts +3 -0
  74. package/dist/react/FullFeaturedChart.d.ts.map +1 -0
  75. package/dist/react/FullFeaturedChart.js +640 -0
  76. package/dist/react/FullFeaturedChart.js.map +1 -0
  77. package/dist/react/components/IndicatorSettings.d.ts +20 -0
  78. package/dist/react/components/IndicatorSettings.d.ts.map +1 -0
  79. package/dist/react/components/IndicatorSettings.js +748 -0
  80. package/dist/react/components/IndicatorSettings.js.map +1 -0
  81. package/dist/react/hooks/useChart.d.ts +15 -0
  82. package/dist/react/hooks/useChart.d.ts.map +1 -0
  83. package/dist/react/hooks/useChart.js +155 -0
  84. package/dist/react/hooks/useChart.js.map +1 -0
  85. package/dist/react/hooks/useIndicators.d.ts +10 -0
  86. package/dist/react/hooks/useIndicators.d.ts.map +1 -0
  87. package/dist/react/hooks/useIndicators.js +264 -0
  88. package/dist/react/hooks/useIndicators.js.map +1 -0
  89. package/dist/react/hooks/useLineTools.d.ts +26 -0
  90. package/dist/react/hooks/useLineTools.d.ts.map +1 -0
  91. package/dist/react/hooks/useLineTools.js +189 -0
  92. package/dist/react/hooks/useLineTools.js.map +1 -0
  93. package/dist/react/hooks/useShiftSnap.d.ts +12 -0
  94. package/dist/react/hooks/useShiftSnap.d.ts.map +1 -0
  95. package/dist/react/hooks/useShiftSnap.js +54 -0
  96. package/dist/react/hooks/useShiftSnap.js.map +1 -0
  97. package/dist/react/index.d.ts +14 -0
  98. package/dist/react/index.d.ts.map +1 -0
  99. package/dist/react/index.js +18 -0
  100. package/dist/react/index.js.map +1 -0
  101. package/dist/react/loadLightweightCharts.d.ts +18 -0
  102. package/dist/react/loadLightweightCharts.d.ts.map +1 -0
  103. package/dist/react/loadLightweightCharts.js +32 -0
  104. package/dist/react/loadLightweightCharts.js.map +1 -0
  105. package/dist/react/locale.d.ts +79 -0
  106. package/dist/react/locale.d.ts.map +1 -0
  107. package/dist/react/locale.js +158 -0
  108. package/dist/react/locale.js.map +1 -0
  109. package/dist/react/types.d.ts +130 -0
  110. package/dist/react/types.d.ts.map +1 -0
  111. package/dist/types/index.d.ts +24 -0
  112. package/dist/types/index.d.ts.map +1 -0
  113. package/dist/utils/getToolId.d.ts +9 -0
  114. package/dist/utils/getToolId.d.ts.map +1 -0
  115. package/dist/utils/getToolId.js +12 -0
  116. package/dist/utils/getToolId.js.map +1 -0
  117. package/dist/utils/mockData.d.ts +10 -0
  118. package/dist/utils/mockData.d.ts.map +1 -0
  119. package/dist/utils/mockData.js +61 -0
  120. package/dist/utils/mockData.js.map +1 -0
  121. package/dist/utils/snapCrosshair.d.ts +25 -0
  122. package/dist/utils/snapCrosshair.d.ts.map +1 -0
  123. package/dist/utils/validateCandle.d.ts +30 -0
  124. package/dist/utils/validateCandle.d.ts.map +1 -0
  125. package/dist/utils/validateCandle.js +21 -0
  126. package/dist/utils/validateCandle.js.map +1 -0
  127. package/examples/css/base.css +209 -0
  128. package/examples/css/chart.css +282 -0
  129. package/examples/css/indicators.css +255 -0
  130. package/examples/index.html +163 -0
  131. package/examples/js/chart.js +370 -0
  132. package/examples/js/indicators.js +27 -0
  133. package/examples/js/main.js +6 -0
  134. package/examples/js/ui.js +1641 -0
  135. package/lib/lightweight-charts.standalone.production.js +7 -0
  136. package/package.json +106 -0
  137. package/src/react/FullFeaturedChart.css +1007 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vwap.js","sources":["../../src/indicators/vwap.ts"],"sourcesContent":["import type { CandleData } from '../types';\nimport type { VWAPOptions, IndicatorDataPoint } from './types';\n\n/**\n * Volume Weighted Average Price (VWAP)\n *\n * TP = (High + Low + Close) / 3\n * VWAP = Cumulative(TP * Volume) / Cumulative(Volume)\n *\n * @param candles OHLCV data\n * @param _options reserved for future use\n * @returns IndicatorDataPoint[]\n */\nexport function calculateVWAP(\n candles: CandleData[],\n _options: VWAPOptions = {},\n): IndicatorDataPoint[] {\n const result: IndicatorDataPoint[] = [];\n\n if (!candles || candles.length === 0) return result;\n\n let cumulativeTPV = 0;\n let cumulativeVol = 0;\n\n for (let i = 0; i < candles.length; i++) {\n const tp = (candles[i].high + candles[i].low + candles[i].close) / 3;\n const vol = candles[i].volume;\n cumulativeTPV += tp * vol;\n cumulativeVol += vol;\n\n if (cumulativeVol === 0) continue;\n\n result.push({\n time: candles[i].time,\n value: cumulativeTPV / cumulativeVol,\n });\n }\n\n return result;\n}\n"],"names":["calculateVWAP","candles","_options","result","cumulativeTPV","cumulativeVol","i","tp","vol"],"mappings":"AAaO,SAASA,EACdC,GACAC,IAAwB,IACF;AACtB,QAAMC,IAA+B,CAAA;AAErC,MAAI,CAACF,KAAWA,EAAQ,WAAW,EAAG,QAAOE;AAE7C,MAAIC,IAAgB,GAChBC,IAAgB;AAEpB,WAASC,IAAI,GAAGA,IAAIL,EAAQ,QAAQK,KAAK;AACvC,UAAMC,KAAMN,EAAQK,CAAC,EAAE,OAAOL,EAAQK,CAAC,EAAE,MAAML,EAAQK,CAAC,EAAE,SAAS,GAC7DE,IAAMP,EAAQK,CAAC,EAAE;AAIvB,IAHAF,KAAiBG,IAAKC,GACtBH,KAAiBG,GAEbH,MAAkB,KAEtBF,EAAO,KAAK;AAAA,MACV,MAAMF,EAAQK,CAAC,EAAE;AAAA,MACjB,OAAOF,IAAgBC;AAAA,IAAA,CACxB;AAAA,EACH;AAEA,SAAOF;AACT;"}
@@ -0,0 +1,17 @@
1
+ import { CandleData } from '../types';
2
+ import { WilliamsROptions, IndicatorDataPoint } from './types';
3
+ /**
4
+ * Williams %R
5
+ *
6
+ * %R = (Highest High - Close) / (Highest High - Lowest Low) * -100
7
+ *
8
+ * Range: -100 to 0
9
+ * - Above -20: overbought
10
+ * - Below -80: oversold
11
+ *
12
+ * @param candles OHLCV data
13
+ * @param options period (default 14)
14
+ * @returns IndicatorDataPoint[]
15
+ */
16
+ export declare function calculateWilliamsR(candles: CandleData[], options?: WilliamsROptions): IndicatorDataPoint[];
17
+ //# sourceMappingURL=williamsR.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"williamsR.d.ts","sourceRoot":"","sources":["../../src/indicators/williamsR.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEpE;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,UAAU,EAAE,EACrB,OAAO,GAAE,gBAAiC,GACzC,kBAAkB,EAAE,CAuBtB"}
@@ -0,0 +1,19 @@
1
+ function g(t, n = { period: 14 }) {
2
+ const { period: e } = n, h = [];
3
+ if (!t || t.length < e) return h;
4
+ for (let i = e - 1; i < t.length; i++) {
5
+ let r = -1 / 0, l = 1 / 0;
6
+ for (let o = i - e + 1; o <= i; o++)
7
+ t[o].high > r && (r = t[o].high), t[o].low < l && (l = t[o].low);
8
+ const f = r - l, u = f === 0 ? -50 : (r - t[i].close) / f * -100;
9
+ h.push({
10
+ time: t[i].time,
11
+ value: u
12
+ });
13
+ }
14
+ return h;
15
+ }
16
+ export {
17
+ g as calculateWilliamsR
18
+ };
19
+ //# sourceMappingURL=williamsR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"williamsR.js","sources":["../../src/indicators/williamsR.ts"],"sourcesContent":["import type { CandleData } from '../types';\nimport type { WilliamsROptions, IndicatorDataPoint } from './types';\n\n/**\n * Williams %R\n *\n * %R = (Highest High - Close) / (Highest High - Lowest Low) * -100\n *\n * Range: -100 to 0\n * - Above -20: overbought\n * - Below -80: oversold\n *\n * @param candles OHLCV data\n * @param options period (default 14)\n * @returns IndicatorDataPoint[]\n */\nexport function calculateWilliamsR(\n candles: CandleData[],\n options: WilliamsROptions = { period: 14 },\n): IndicatorDataPoint[] {\n const { period } = options;\n const result: IndicatorDataPoint[] = [];\n\n if (!candles || candles.length < period) return result;\n\n for (let i = period - 1; i < candles.length; i++) {\n let hh = -Infinity;\n let ll = Infinity;\n for (let j = i - period + 1; j <= i; j++) {\n if (candles[j].high > hh) hh = candles[j].high;\n if (candles[j].low < ll) ll = candles[j].low;\n }\n const range = hh - ll;\n const wr = range === 0 ? -50 : ((hh - candles[i].close) / range) * -100;\n\n result.push({\n time: candles[i].time,\n value: wr,\n });\n }\n\n return result;\n}\n"],"names":["calculateWilliamsR","candles","options","period","result","hh","ll","j","range","wr"],"mappings":"AAgBO,SAASA,EACdC,GACAC,IAA4B,EAAE,QAAQ,MAChB;AACtB,QAAM,EAAE,QAAAC,MAAWD,GACbE,IAA+B,CAAA;AAErC,MAAI,CAACH,KAAWA,EAAQ,SAASE,EAAQ,QAAOC;AAEhD,WAAS,IAAID,IAAS,GAAG,IAAIF,EAAQ,QAAQ,KAAK;AAChD,QAAII,IAAK,QACLC,IAAK;AACT,aAASC,IAAI,IAAIJ,IAAS,GAAGI,KAAK,GAAGA;AACnC,MAAIN,EAAQM,CAAC,EAAE,OAAOF,MAAIA,IAAKJ,EAAQM,CAAC,EAAE,OACtCN,EAAQM,CAAC,EAAE,MAAMD,MAAIA,IAAKL,EAAQM,CAAC,EAAE;AAE3C,UAAMC,IAAQH,IAAKC,GACbG,IAAKD,MAAU,IAAI,OAAQH,IAAKJ,EAAQ,CAAC,EAAE,SAASO,IAAS;AAEnE,IAAAJ,EAAO,KAAK;AAAA,MACV,MAAMH,EAAQ,CAAC,EAAE;AAAA,MACjB,OAAOQ;AAAA,IAAA,CACR;AAAA,EACH;AAEA,SAAOL;AACT;"}
@@ -0,0 +1,3 @@
1
+ import { FullFeaturedChartProps } from './types';
2
+ export declare function FullFeaturedChart({ locale: localeProp, data, width, height, className, enableTimeframes, enableIndicators, enableDrawingTools, defaultTimeframe, timeframeAvailability, onTimeframeChange, realtimeCandle, loading, error, symbol: _symbol, statusBadge, priceLines, initialLineTools, onLineToolsChange, onDrawingToolClick, showVolume, indicatorStorageKey, initialIndicatorState, onIndicatorStateChange, }: FullFeaturedChartProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=FullFeaturedChart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FullFeaturedChart.d.ts","sourceRoot":"","sources":["../../src/react/FullFeaturedChart.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,sBAAsB,EAAqE,MAAM,SAAS,CAAC;AAIzH,OAAO,yBAAyB,CAAC;AAgEjC,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EAAE,UAAiB,EACzB,IAAI,EACJ,KAAK,EACL,MAAY,EACZ,SAAc,EACd,gBAAuB,EACvB,gBAAuB,EACvB,kBAAyB,EACzB,gBAAuB,EACvB,qBAAsD,EACtD,iBAAiB,EACjB,cAAc,EACd,OAAe,EACf,KAAY,EACZ,MAAM,EAAE,OAAO,EACf,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,UAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,GACvB,EAAE,sBAAsB,2CA8vBxB"}