react-native-wagmi-charts 1.8.0 → 2.0.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 (213) hide show
  1. package/.DS_Store +0 -0
  2. package/README.md +331 -196
  3. package/example/.DS_Store +0 -0
  4. package/example/src/LineChart.tsx +10 -4
  5. package/example/src/data/line-data.json +20 -20
  6. package/lib/commonjs/charts/candle/utils/getDomain.js +19 -0
  7. package/lib/commonjs/charts/candle/utils/getDomain.js.map +1 -0
  8. package/lib/commonjs/charts/candle/utils/getHeight.js +19 -0
  9. package/lib/commonjs/charts/candle/utils/getHeight.js.map +1 -0
  10. package/lib/commonjs/charts/candle/utils/getPrice.js +20 -0
  11. package/lib/commonjs/charts/candle/utils/getPrice.js.map +1 -0
  12. package/lib/commonjs/charts/candle/utils/getY.js +19 -0
  13. package/lib/commonjs/charts/candle/utils/getY.js.map +1 -0
  14. package/lib/commonjs/charts/candle/utils/index.js +58 -0
  15. package/lib/commonjs/charts/candle/utils/index.js.map +1 -0
  16. package/lib/commonjs/charts/line/Chart.js +9 -3
  17. package/lib/commonjs/charts/line/Chart.js.map +1 -1
  18. package/lib/commonjs/charts/line/ChartPath.js +73 -17
  19. package/lib/commonjs/charts/line/ChartPath.js.map +1 -1
  20. package/lib/commonjs/charts/line/Context.js +1 -0
  21. package/lib/commonjs/charts/line/Context.js.map +1 -1
  22. package/lib/commonjs/charts/line/Cursor.js +1 -0
  23. package/lib/commonjs/charts/line/Cursor.js.map +1 -1
  24. package/lib/commonjs/charts/line/CursorCrosshair.js +10 -3
  25. package/lib/commonjs/charts/line/CursorCrosshair.js.map +1 -1
  26. package/lib/commonjs/charts/line/CursorLine.js +6 -6
  27. package/lib/commonjs/charts/line/CursorLine.js.map +1 -1
  28. package/lib/commonjs/charts/line/DatetimeText.js +2 -0
  29. package/lib/commonjs/charts/line/DatetimeText.js.map +1 -1
  30. package/lib/commonjs/charts/line/Dot.js +67 -62
  31. package/lib/commonjs/charts/line/Dot.js.map +1 -1
  32. package/lib/commonjs/charts/line/Gradient.js +8 -25
  33. package/lib/commonjs/charts/line/Gradient.js.map +1 -1
  34. package/lib/commonjs/charts/line/Group.js +5 -25
  35. package/lib/commonjs/charts/line/Group.js.map +1 -1
  36. package/lib/commonjs/charts/line/Highlight.js +92 -0
  37. package/lib/commonjs/charts/line/Highlight.js.map +1 -0
  38. package/lib/commonjs/charts/line/HorizontalLine.js +6 -6
  39. package/lib/commonjs/charts/line/HorizontalLine.js.map +1 -1
  40. package/lib/commonjs/charts/line/Path.js +19 -30
  41. package/lib/commonjs/charts/line/Path.js.map +1 -1
  42. package/lib/commonjs/charts/line/PriceText.js +2 -0
  43. package/lib/commonjs/charts/line/PriceText.js.map +1 -1
  44. package/lib/commonjs/charts/line/Tooltip.js +2 -0
  45. package/lib/commonjs/charts/line/Tooltip.js.map +1 -1
  46. package/lib/commonjs/charts/line/index.js +47 -20
  47. package/lib/commonjs/charts/line/index.js.map +1 -1
  48. package/lib/commonjs/charts/line/useAnimatedPath.js +44 -0
  49. package/lib/commonjs/charts/line/useAnimatedPath.js.map +1 -0
  50. package/lib/commonjs/charts/line/{utils.js → utils/getArea.js} +2 -49
  51. package/lib/commonjs/charts/line/utils/getArea.js.map +1 -0
  52. package/lib/commonjs/charts/line/utils/getDomain.js +16 -0
  53. package/lib/commonjs/charts/line/utils/getDomain.js.map +1 -0
  54. package/lib/commonjs/charts/line/utils/getPath.js +34 -0
  55. package/lib/commonjs/charts/line/utils/getPath.js.map +1 -0
  56. package/lib/commonjs/charts/line/utils/index.js +71 -0
  57. package/lib/commonjs/charts/line/utils/index.js.map +1 -0
  58. package/lib/commonjs/charts/line/{interpolatePath.js → utils/interpolatePath.js} +1 -1
  59. package/lib/commonjs/charts/line/{interpolatePath.js.map → utils/interpolatePath.js.map} +1 -1
  60. package/lib/commonjs/charts/line/utils/lineChartDataPropToArray.js +27 -0
  61. package/lib/commonjs/charts/line/utils/lineChartDataPropToArray.js.map +1 -0
  62. package/lib/commonjs/index.js +8 -8
  63. package/lib/commonjs/index.js.map +1 -1
  64. package/lib/commonjs/utils/formatDatetime.js +21 -0
  65. package/lib/commonjs/utils/formatDatetime.js.map +1 -0
  66. package/lib/commonjs/utils/formatPrice.js +46 -0
  67. package/lib/commonjs/utils/formatPrice.js.map +1 -0
  68. package/lib/commonjs/utils/index.js +45 -0
  69. package/lib/commonjs/utils/index.js.map +1 -0
  70. package/lib/commonjs/{utils.js → utils/usePrevious.js} +1 -57
  71. package/lib/commonjs/utils/usePrevious.js.map +1 -0
  72. package/lib/module/charts/candle/utils/getDomain.js +12 -0
  73. package/lib/module/charts/candle/utils/getDomain.js.map +1 -0
  74. package/lib/module/charts/candle/utils/getHeight.js +11 -0
  75. package/lib/module/charts/candle/utils/getHeight.js.map +1 -0
  76. package/lib/module/charts/candle/utils/getPrice.js +12 -0
  77. package/lib/module/charts/candle/utils/getPrice.js.map +1 -0
  78. package/lib/module/charts/candle/utils/getY.js +11 -0
  79. package/lib/module/charts/candle/utils/getY.js.map +1 -0
  80. package/lib/module/charts/candle/utils/index.js +5 -0
  81. package/lib/module/charts/candle/utils/index.js.map +1 -0
  82. package/lib/module/charts/line/Chart.js +9 -4
  83. package/lib/module/charts/line/Chart.js.map +1 -1
  84. package/lib/module/charts/line/ChartPath.js +69 -17
  85. package/lib/module/charts/line/ChartPath.js.map +1 -1
  86. package/lib/module/charts/line/Context.js +1 -0
  87. package/lib/module/charts/line/Context.js.map +1 -1
  88. package/lib/module/charts/line/Cursor.js +1 -0
  89. package/lib/module/charts/line/Cursor.js.map +1 -1
  90. package/lib/module/charts/line/CursorCrosshair.js +10 -4
  91. package/lib/module/charts/line/CursorCrosshair.js.map +1 -1
  92. package/lib/module/charts/line/CursorLine.js +4 -3
  93. package/lib/module/charts/line/CursorLine.js.map +1 -1
  94. package/lib/module/charts/line/DatetimeText.js +1 -0
  95. package/lib/module/charts/line/DatetimeText.js.map +1 -1
  96. package/lib/module/charts/line/Dot.js +66 -63
  97. package/lib/module/charts/line/Dot.js.map +1 -1
  98. package/lib/module/charts/line/Gradient.js +8 -24
  99. package/lib/module/charts/line/Gradient.js.map +1 -1
  100. package/lib/module/charts/line/Group.js +2 -24
  101. package/lib/module/charts/line/Group.js.map +1 -1
  102. package/lib/module/charts/line/Highlight.js +69 -0
  103. package/lib/module/charts/line/Highlight.js.map +1 -0
  104. package/lib/module/charts/line/HorizontalLine.js +4 -3
  105. package/lib/module/charts/line/HorizontalLine.js.map +1 -1
  106. package/lib/module/charts/line/Path.js +17 -29
  107. package/lib/module/charts/line/Path.js.map +1 -1
  108. package/lib/module/charts/line/PriceText.js +1 -0
  109. package/lib/module/charts/line/PriceText.js.map +1 -1
  110. package/lib/module/charts/line/Tooltip.js +1 -0
  111. package/lib/module/charts/line/Tooltip.js.map +1 -1
  112. package/lib/module/charts/line/index.js +12 -8
  113. package/lib/module/charts/line/index.js.map +1 -1
  114. package/lib/module/charts/line/useAnimatedPath.js +34 -0
  115. package/lib/module/charts/line/useAnimatedPath.js.map +1 -0
  116. package/lib/module/charts/line/utils/getArea.js +19 -0
  117. package/lib/module/charts/line/utils/getArea.js.map +1 -0
  118. package/lib/module/charts/line/utils/getDomain.js +9 -0
  119. package/lib/module/charts/line/utils/getDomain.js.map +1 -0
  120. package/lib/module/charts/line/utils/getPath.js +21 -0
  121. package/lib/module/charts/line/utils/getPath.js.map +1 -0
  122. package/lib/module/charts/line/utils/index.js +6 -0
  123. package/lib/module/charts/line/utils/index.js.map +1 -0
  124. package/lib/module/charts/line/{interpolatePath.js → utils/interpolatePath.js} +1 -1
  125. package/lib/module/charts/line/{interpolatePath.js.map → utils/interpolatePath.js.map} +1 -1
  126. package/lib/module/charts/line/utils/lineChartDataPropToArray.js +20 -0
  127. package/lib/module/charts/line/utils/lineChartDataPropToArray.js.map +1 -0
  128. package/lib/module/index.js +1 -1
  129. package/lib/module/index.js.map +1 -1
  130. package/lib/module/utils/formatDatetime.js +14 -0
  131. package/lib/module/utils/formatDatetime.js.map +1 -0
  132. package/lib/module/{utils.js → utils/formatPrice.js} +1 -29
  133. package/lib/module/utils/formatPrice.js.map +1 -0
  134. package/lib/module/utils/index.js +4 -0
  135. package/lib/module/utils/index.js.map +1 -0
  136. package/lib/module/utils/usePrevious.js +14 -0
  137. package/lib/module/utils/usePrevious.js.map +1 -0
  138. package/lib/typescript/src/charts/candle/utils/getDomain.d.ts +2 -0
  139. package/lib/typescript/src/charts/candle/utils/getHeight.d.ts +6 -0
  140. package/lib/typescript/src/charts/candle/utils/getPrice.d.ts +6 -0
  141. package/lib/typescript/src/charts/candle/utils/getY.d.ts +6 -0
  142. package/lib/typescript/src/charts/candle/utils/index.d.ts +4 -0
  143. package/lib/typescript/src/charts/line/Chart.d.ts +5 -1
  144. package/lib/typescript/src/charts/line/ChartPath.d.ts +10 -1
  145. package/lib/typescript/src/charts/line/Context.d.ts +3 -0
  146. package/lib/typescript/src/charts/line/Cursor.d.ts +3 -0
  147. package/lib/typescript/src/charts/line/CursorCrosshair.d.ts +4 -1
  148. package/lib/typescript/src/charts/line/CursorLine.d.ts +4 -1
  149. package/lib/typescript/src/charts/line/DatetimeText.d.ts +3 -0
  150. package/lib/typescript/src/charts/line/Dot.d.ts +10 -7
  151. package/lib/typescript/src/charts/line/Gradient.d.ts +3 -0
  152. package/lib/typescript/src/charts/line/Group.d.ts +1 -2
  153. package/lib/typescript/src/charts/line/Highlight.d.ts +15 -0
  154. package/lib/typescript/src/charts/line/HorizontalLine.d.ts +4 -1
  155. package/lib/typescript/src/charts/line/Path.d.ts +5 -1
  156. package/lib/typescript/src/charts/line/PriceText.d.ts +3 -0
  157. package/lib/typescript/src/charts/line/Tooltip.d.ts +3 -0
  158. package/lib/typescript/src/charts/line/index.d.ts +15 -25
  159. package/lib/typescript/src/charts/line/useAnimatedPath.d.ts +8 -0
  160. package/lib/typescript/src/charts/line/utils/getArea.d.ts +9 -0
  161. package/lib/typescript/src/charts/line/utils/getDomain.d.ts +2 -0
  162. package/lib/typescript/src/charts/line/utils/getPath.d.ts +11 -0
  163. package/lib/typescript/src/charts/line/utils/index.d.ts +5 -0
  164. package/lib/typescript/src/charts/line/{interpolatePath.d.ts → utils/interpolatePath.d.ts} +1 -1
  165. package/lib/typescript/src/charts/line/utils/lineChartDataPropToArray.d.ts +2 -0
  166. package/lib/typescript/src/index.d.ts +1 -1
  167. package/lib/typescript/src/utils/formatDatetime.d.ts +8 -0
  168. package/lib/typescript/src/utils/formatPrice.d.ts +8 -0
  169. package/lib/typescript/src/utils/index.d.ts +3 -0
  170. package/lib/typescript/src/utils/usePrevious.d.ts +1 -0
  171. package/package.json +4 -2
  172. package/src/charts/candle/utils/getDomain.ts +9 -0
  173. package/src/charts/candle/utils/getHeight.ts +21 -0
  174. package/src/charts/candle/utils/getPrice.ts +17 -0
  175. package/src/charts/candle/utils/getY.ts +16 -0
  176. package/src/charts/candle/utils/index.ts +4 -0
  177. package/src/charts/line/Chart.tsx +9 -3
  178. package/src/charts/line/ChartPath.tsx +109 -33
  179. package/src/charts/line/Context.tsx +2 -0
  180. package/src/charts/line/Cursor.tsx +2 -0
  181. package/src/charts/line/CursorCrosshair.tsx +20 -5
  182. package/src/charts/line/CursorLine.tsx +5 -3
  183. package/src/charts/line/DatetimeText.tsx +2 -0
  184. package/src/charts/line/Dot.tsx +83 -86
  185. package/src/charts/line/Gradient.tsx +7 -34
  186. package/src/charts/line/Group.tsx +4 -47
  187. package/src/charts/line/Highlight.tsx +78 -0
  188. package/src/charts/line/HorizontalLine.tsx +5 -3
  189. package/src/charts/line/Path.tsx +14 -38
  190. package/src/charts/line/PriceText.tsx +2 -0
  191. package/src/charts/line/Tooltip.tsx +2 -0
  192. package/src/charts/line/index.ts +11 -7
  193. package/src/charts/line/useAnimatedPath.ts +47 -0
  194. package/src/charts/line/utils/getArea.ts +38 -0
  195. package/src/charts/line/utils/getDomain.ts +7 -0
  196. package/src/charts/line/utils/getPath.ts +48 -0
  197. package/src/charts/line/utils/index.ts +5 -0
  198. package/src/charts/line/{interpolatePath.ts → utils/interpolatePath.ts} +1 -1
  199. package/src/charts/line/utils/lineChartDataPropToArray.ts +25 -0
  200. package/src/index.ts +1 -1
  201. package/src/utils/formatDatetime.ts +16 -0
  202. package/src/{utils.ts → utils/formatPrice.ts} +0 -31
  203. package/src/utils/index.ts +3 -0
  204. package/src/utils/usePrevious.ts +13 -0
  205. package/yarn.lock +8 -1
  206. package/lib/commonjs/charts/line/utils.js.map +0 -1
  207. package/lib/commonjs/utils.js.map +0 -1
  208. package/lib/module/charts/line/utils.js +0 -60
  209. package/lib/module/charts/line/utils.js.map +0 -1
  210. package/lib/module/utils.js.map +0 -1
  211. package/lib/typescript/src/charts/line/utils.d.ts +0 -20
  212. package/lib/typescript/src/utils.d.ts +0 -17
  213. package/src/charts/line/utils.ts +0 -100
@@ -1 +0,0 @@
1
- {"version":3,"sources":["utils.ts"],"names":["React","formatPrice","value","_value","defaultPrice","_defaultPrice","precision","toString","replace","decimals","Number","Math","min","slice","search","res","toFixed","vals","split","length","formatDatetime","locale","options","d","Date","toLocaleString","usePrevious","ref","useRef","useEffect","current"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA;AACA;AACA;;AACA,OAAO,SAASC,WAAT,CAAqB;AAC1BC,EAAAA,KAAK,EAAEC,MADmB;AAE1BC,EAAAA,YAAY,EAAEC,aAAa,GAAG,EAFJ;AAG1BC,EAAAA;AAH0B,CAArB,EAQJ;AACD;;AADC;;AAGD,MAAIF,YAAY,GAAGC,aAAnB;;AACA,MAAI,OAAOD,YAAP,KAAwB,QAA5B,EAAsC;AACpCA,IAAAA,YAAY,GAAIA,YAAD,CAAyBG,QAAzB,EAAf;AACD;;AAED,MAAIL,KAAK,GAAGC,MAAM,uBAAIC,YAAJ,4EAAI,eAAcI,OAAlB,0DAAI,2CAAwB,GAAxB,EAA6B,EAA7B,CAAJ,CAAlB;;AACA,MAAI,CAACN,KAAL,EAAY;AACV,WAAQ,MAAR;AACD;;AAED,MAAIO,QAAQ,GACVH,SADU,aACVA,SADU,cACVA,SADU,GAETI,MAAM,CAACR,KAAD,CAAN,GAAgB,CAAhB,GACGS,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYV,KAAK,CAACK,QAAN,GAAiBM,KAAjB,CAAuB,CAAvB,EAA0BC,MAA1B,CAAiC,OAAjC,IAA4C,CAAxD,CADH,GAEG,CAJN;AAMA,MAAIC,GAAG,GAAI,GAAEL,MAAM,CAACR,KAAD,CAAN,CAAcc,OAAd,CAAsBP,QAAtB,CAAgC,EAA7C;AACA,QAAMQ,IAAI,GAAGF,GAAG,CAACG,KAAJ,CAAU,GAAV,CAAb;;AACA,MAAID,IAAI,CAACE,MAAL,GAAc,CAAlB,EAAqB;AACnBJ,IAAAA,GAAG,GAAGE,IAAI,CAAC,CAAD,CAAJ,CAAQT,OAAR,CAAgB,uBAAhB,EAAyC,GAAzC,CAAN;;AACA,QAAIS,IAAI,CAACE,MAAL,KAAgB,CAApB,EAAuB;AACrB,aAAOJ,GAAG,GAAG,GAAN,GAAYE,IAAI,CAAC,CAAD,CAAvB;AACD;AACF;;AACD,SAAOF,GAAP;AACD;AAED;AACA;AACA;;AACA,OAAO,SAASK,cAAT,CAAwB;AAC7BlB,EAAAA,KAD6B;AAE7BmB,EAAAA,MAAM,GAAG,OAFoB;AAG7BC,EAAAA,OAAO,GAAG;AAHmB,CAAxB,EAQJ;AACD;;AACA,QAAMC,CAAC,GAAG,IAAIC,IAAJ,CAAStB,KAAT,CAAV;AACA,SAAOqB,CAAC,CAACE,cAAF,CAAiBJ,MAAjB,EAAyBC,OAAzB,CAAP;AACD;AAED,OAAO,SAASI,WAAT,CAAwBxB,KAAxB,EAAkC;AACvC;AACA;AACA,QAAMyB,GAAG,GAAG3B,KAAK,CAAC4B,MAAN,EAAZ,CAHuC,CAIvC;;AACA5B,EAAAA,KAAK,CAAC6B,SAAN,CAAgB,MAAM;AACpBF,IAAAA,GAAG,CAACG,OAAJ,GAAc5B,KAAd;AACD,GAFD,EAEG,CAACA,KAAD,CAFH,EALuC,CAO1B;AACb;;AACA,SAAOyB,GAAG,CAACG,OAAX;AACD","sourcesContent":["import * as React from 'react';\n\n/**\n * @worklet\n */\nexport function formatPrice({\n value: _value,\n defaultPrice: _defaultPrice = '',\n precision,\n}: {\n value: string;\n defaultPrice?: string;\n precision?: number;\n}) {\n 'worklet';\n\n let defaultPrice = _defaultPrice;\n if (typeof defaultPrice === 'number') {\n defaultPrice = (defaultPrice as number).toString();\n }\n\n let value = _value || defaultPrice?.replace?.(',', '');\n if (!value) {\n return `0.00`;\n }\n\n let decimals =\n precision ??\n (Number(value) < 1\n ? Math.min(8, value.toString().slice(2).search(/[^0]/g) + 3)\n : 2);\n\n let res = `${Number(value).toFixed(decimals)}`;\n const vals = res.split('.');\n if (vals.length > 0) {\n res = vals[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n if (vals.length === 2) {\n return res + '.' + vals[1];\n }\n }\n return res;\n}\n\n/**\n * @worklet\n */\nexport function formatDatetime({\n value,\n locale = 'en-US',\n options = {},\n}: {\n value: number;\n locale?: string;\n options?: Intl.DateTimeFormatOptions;\n}) {\n 'worklet';\n const d = new Date(value);\n return d.toLocaleString(locale, options);\n}\n\nexport function usePrevious<T>(value: T) {\n // The ref object is a generic container whose current property is mutable ...\n // ... and can hold any value, similar to an instance property on a class\n const ref = React.useRef<T>();\n // Store current value in ref\n React.useEffect(() => {\n ref.current = value;\n }, [value]); // Only re-run if value changes\n // Return previous value (happens before update in useEffect above)\n return ref.current;\n}\n"]}
@@ -1,20 +0,0 @@
1
- import type { TLineChartData, TLineChartPoint, YDomain } from './types';
2
- import type { TLineChartDataProp } from './types';
3
- export declare function getDomain(rows: TLineChartPoint[]): [number, number];
4
- export declare function lineChartDataPropToArray(dataProp: TLineChartDataProp): TLineChartData;
5
- export declare function getPath({ data, width, height, gutter, shape: _shape, yDomain, }: {
6
- data: TLineChartData;
7
- width: number;
8
- height: number;
9
- gutter: number;
10
- shape?: string;
11
- yDomain: YDomain;
12
- }): string;
13
- export declare function getArea({ data, width, height, gutter, shape: _shape, yDomain, }: {
14
- data: TLineChartData;
15
- width: number;
16
- height: number;
17
- gutter: number;
18
- shape?: string;
19
- yDomain: YDomain;
20
- }): string;
@@ -1,17 +0,0 @@
1
- /**
2
- * @worklet
3
- */
4
- export declare function formatPrice({ value: _value, defaultPrice: _defaultPrice, precision, }: {
5
- value: string;
6
- defaultPrice?: string;
7
- precision?: number;
8
- }): string;
9
- /**
10
- * @worklet
11
- */
12
- export declare function formatDatetime({ value, locale, options, }: {
13
- value: number;
14
- locale?: string;
15
- options?: Intl.DateTimeFormatOptions;
16
- }): string;
17
- export declare function usePrevious<T>(value: T): T | undefined;
@@ -1,100 +0,0 @@
1
- // @ts-ignore
2
- import * as shape from 'd3-shape';
3
- // @ts-ignore
4
- import { scaleLinear } from 'd3-scale';
5
-
6
- import type { TLineChartData, TLineChartPoint, YDomain } from './types';
7
- import type { TLineChartDataProp } from './types';
8
-
9
- export function getDomain(rows: TLineChartPoint[]): [number, number] {
10
- 'worklet';
11
- const values = rows.map(({ value }) => value);
12
- return [Math.min(...values), Math.max(...values)];
13
- }
14
-
15
- export function lineChartDataPropToArray(
16
- dataProp: TLineChartDataProp
17
- ): TLineChartData {
18
- 'worklet';
19
-
20
- if (!dataProp) {
21
- return [];
22
- }
23
-
24
- if (Array.isArray(dataProp)) {
25
- return dataProp;
26
- }
27
-
28
- const data: TLineChartData = [];
29
-
30
- Object.values(dataProp).forEach((dataSet) => {
31
- if (dataSet) {
32
- data.push(...dataSet);
33
- }
34
- });
35
-
36
- return data;
37
- }
38
-
39
- export function getPath({
40
- data,
41
- width,
42
- height,
43
- gutter,
44
- shape: _shape = shape.curveBumpX,
45
- yDomain,
46
- }: {
47
- data: TLineChartData;
48
- width: number;
49
- height: number;
50
- gutter: number;
51
- shape?: string;
52
- yDomain: YDomain;
53
- }): string {
54
- const timestamps = data.map((_, i) => i);
55
-
56
- const scaleX = scaleLinear()
57
- .domain([Math.min(...timestamps), Math.max(...timestamps)])
58
- .range([0, width]);
59
- const scaleY = scaleLinear()
60
- .domain([yDomain.min, yDomain.max])
61
- .range([height - gutter, gutter]);
62
- const path = shape
63
- .line()
64
- .x((_: unknown, i: number) => scaleX(i))
65
- .y((d: { value: unknown }) => scaleY(d.value))
66
- .curve(_shape)(data);
67
- return path;
68
- }
69
-
70
- export function getArea({
71
- data,
72
- width,
73
- height,
74
- gutter,
75
- shape: _shape = shape.curveBumpX,
76
- yDomain,
77
- }: {
78
- data: TLineChartData;
79
- width: number;
80
- height: number;
81
- gutter: number;
82
- shape?: string;
83
- yDomain: YDomain;
84
- }): string {
85
- const timestamps = data.map((_, i) => i);
86
-
87
- const scaleX = scaleLinear()
88
- .domain([Math.min(...timestamps), Math.max(...timestamps)])
89
- .range([0, width]);
90
- const scaleY = scaleLinear()
91
- .domain([yDomain.min, yDomain.max])
92
- .range([height - gutter, gutter]);
93
- const area = shape
94
- .area()
95
- .x((_: unknown, i: number) => scaleX(i))
96
- .y0((d: { value: unknown }) => scaleY(d.value))
97
- .y1(() => height)
98
- .curve(_shape)(data);
99
- return area;
100
- }