@xyo-network/react-price-forecast-plugin 2.61.0-rc.4 → 2.61.1

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 (145) hide show
  1. package/dist/browser/Plugin.cjs +270 -0
  2. package/dist/browser/Plugin.cjs.map +1 -0
  3. package/dist/browser/Plugin.d.cts +3 -0
  4. package/dist/browser/Plugin.d.cts.map +1 -0
  5. package/dist/browser/Plugin.js +244 -2
  6. package/dist/browser/Plugin.js.map +1 -1
  7. package/dist/browser/components/DetailsBox.cjs +254 -0
  8. package/dist/browser/components/DetailsBox.cjs.map +1 -0
  9. package/dist/browser/components/DetailsBox.d.cts +9 -0
  10. package/dist/browser/components/DetailsBox.d.cts.map +1 -0
  11. package/dist/browser/components/DetailsBox.js +204 -3
  12. package/dist/browser/components/DetailsBox.js.map +1 -1
  13. package/dist/browser/components/index.cjs +256 -0
  14. package/dist/browser/components/index.cjs.map +1 -0
  15. package/dist/browser/components/index.d.cts +2 -0
  16. package/dist/browser/components/index.d.cts.map +1 -0
  17. package/dist/browser/components/index.js +242 -1
  18. package/dist/browser/components/index.js.map +1 -1
  19. package/dist/browser/index.cjs +271 -0
  20. package/dist/browser/index.cjs.map +1 -0
  21. package/dist/browser/index.d.cts +3 -0
  22. package/dist/browser/index.d.cts.map +1 -0
  23. package/dist/browser/index.js +257 -2
  24. package/dist/browser/index.js.map +1 -1
  25. package/dist/browser/lib/DataLineStyles.cjs +31 -0
  26. package/dist/{node/lib/DataLineStyles.mjs.map → browser/lib/DataLineStyles.cjs.map} +1 -1
  27. package/dist/browser/lib/DataLineStyles.d.cts +5 -0
  28. package/dist/browser/lib/DataLineStyles.d.cts.map +1 -0
  29. package/dist/browser/lib/DataLineStyles.js +2 -1
  30. package/dist/browser/lib/DataLineStyles.js.map +1 -1
  31. package/dist/browser/lib/DataPointStyles.cjs +33 -0
  32. package/dist/{node/lib/DataPointStyles.mjs.map → browser/lib/DataPointStyles.cjs.map} +1 -1
  33. package/dist/browser/lib/DataPointStyles.d.cts +8 -0
  34. package/dist/browser/lib/DataPointStyles.d.cts.map +1 -0
  35. package/dist/browser/lib/DataPointStyles.js +2 -1
  36. package/dist/browser/lib/DataPointStyles.js.map +1 -1
  37. package/dist/browser/lib/ForecastLineChartConfigBuilder.cjs +225 -0
  38. package/dist/browser/lib/ForecastLineChartConfigBuilder.cjs.map +1 -0
  39. package/dist/browser/lib/ForecastLineChartConfigBuilder.d.cts +47 -0
  40. package/dist/browser/lib/ForecastLineChartConfigBuilder.d.cts.map +1 -0
  41. package/dist/browser/lib/ForecastLineChartConfigBuilder.js +80 -7
  42. package/dist/browser/lib/ForecastLineChartConfigBuilder.js.map +1 -1
  43. package/dist/browser/lib/MockSourcePayloads.cjs +45 -0
  44. package/dist/{node/lib/MockSourcePayloads.mjs.map → browser/lib/MockSourcePayloads.cjs.map} +1 -1
  45. package/dist/browser/lib/MockSourcePayloads.d.cts +18 -0
  46. package/dist/browser/lib/MockSourcePayloads.d.cts.map +1 -0
  47. package/dist/browser/lib/MockSourcePayloads.js +2 -1
  48. package/dist/browser/lib/MockSourcePayloads.js.map +1 -1
  49. package/dist/browser/lib/SourcePayloads.cjs +85 -0
  50. package/dist/browser/lib/SourcePayloads.cjs.map +1 -0
  51. package/dist/browser/lib/SourcePayloads.d.cts +30 -0
  52. package/dist/browser/lib/SourcePayloads.d.cts.map +1 -0
  53. package/dist/browser/lib/SourcePayloads.js +24 -3
  54. package/dist/browser/lib/SourcePayloads.js.map +1 -1
  55. package/dist/browser/lib/index.cjs +227 -0
  56. package/dist/browser/lib/index.cjs.map +1 -0
  57. package/dist/browser/lib/index.d.cts +4 -0
  58. package/dist/browser/lib/index.d.cts.map +1 -0
  59. package/dist/browser/lib/index.js +203 -3
  60. package/dist/browser/lib/index.js.map +1 -1
  61. package/dist/docs.json +23326 -0
  62. package/dist/node/Plugin.cjs +278 -0
  63. package/dist/node/Plugin.cjs.map +1 -0
  64. package/dist/node/Plugin.d.cts +3 -0
  65. package/dist/node/Plugin.d.cts.map +1 -0
  66. package/dist/node/Plugin.js +249 -27
  67. package/dist/node/Plugin.js.map +1 -1
  68. package/dist/node/components/DetailsBox.cjs +262 -0
  69. package/dist/node/components/DetailsBox.cjs.map +1 -0
  70. package/dist/node/components/DetailsBox.d.cts +9 -0
  71. package/dist/node/components/DetailsBox.d.cts.map +1 -0
  72. package/dist/node/components/DetailsBox.js +230 -39
  73. package/dist/node/components/DetailsBox.js.map +1 -1
  74. package/dist/node/components/index.cjs +264 -0
  75. package/dist/node/components/index.cjs.map +1 -0
  76. package/dist/node/components/index.d.cts +2 -0
  77. package/dist/node/components/index.d.cts.map +1 -0
  78. package/dist/node/components/index.js +244 -20
  79. package/dist/node/components/index.js.map +1 -1
  80. package/dist/node/index.cjs +280 -0
  81. package/dist/node/index.cjs.map +1 -0
  82. package/dist/node/index.d.cts +3 -0
  83. package/dist/node/index.d.cts.map +1 -0
  84. package/dist/node/index.js +259 -22
  85. package/dist/node/index.js.map +1 -1
  86. package/dist/node/lib/DataLineStyles.cjs +35 -0
  87. package/dist/node/lib/DataLineStyles.cjs.map +1 -0
  88. package/dist/node/lib/DataLineStyles.d.cts +5 -0
  89. package/dist/node/lib/DataLineStyles.d.cts.map +1 -0
  90. package/dist/node/lib/DataLineStyles.js +6 -29
  91. package/dist/node/lib/DataLineStyles.js.map +1 -1
  92. package/dist/node/lib/DataPointStyles.cjs +37 -0
  93. package/dist/node/lib/DataPointStyles.cjs.map +1 -0
  94. package/dist/node/lib/DataPointStyles.d.cts +8 -0
  95. package/dist/node/lib/DataPointStyles.d.cts.map +1 -0
  96. package/dist/node/lib/DataPointStyles.js +4 -27
  97. package/dist/node/lib/DataPointStyles.js.map +1 -1
  98. package/dist/node/lib/ForecastLineChartConfigBuilder.cjs +233 -0
  99. package/dist/node/lib/ForecastLineChartConfigBuilder.cjs.map +1 -0
  100. package/dist/node/lib/ForecastLineChartConfigBuilder.d.cts +47 -0
  101. package/dist/node/lib/ForecastLineChartConfigBuilder.d.cts.map +1 -0
  102. package/dist/node/lib/ForecastLineChartConfigBuilder.js +92 -39
  103. package/dist/node/lib/ForecastLineChartConfigBuilder.js.map +1 -1
  104. package/dist/node/lib/MockSourcePayloads.cjs +49 -0
  105. package/dist/node/lib/MockSourcePayloads.cjs.map +1 -0
  106. package/dist/node/lib/MockSourcePayloads.d.cts +18 -0
  107. package/dist/node/lib/MockSourcePayloads.d.cts.map +1 -0
  108. package/dist/node/lib/MockSourcePayloads.js +4 -27
  109. package/dist/node/lib/MockSourcePayloads.js.map +1 -1
  110. package/dist/node/lib/SourcePayloads.cjs +89 -0
  111. package/dist/node/lib/SourcePayloads.cjs.map +1 -0
  112. package/dist/node/lib/SourcePayloads.d.cts +30 -0
  113. package/dist/node/lib/SourcePayloads.d.cts.map +1 -0
  114. package/dist/node/lib/SourcePayloads.js +26 -29
  115. package/dist/node/lib/SourcePayloads.js.map +1 -1
  116. package/dist/node/lib/index.cjs +237 -0
  117. package/dist/node/lib/index.cjs.map +1 -0
  118. package/dist/node/lib/index.d.cts +4 -0
  119. package/dist/node/lib/index.d.cts.map +1 -0
  120. package/dist/node/lib/index.js +205 -24
  121. package/dist/node/lib/index.js.map +1 -1
  122. package/package.json +18 -18
  123. package/dist/browser/components/DetailsBox.stories.js +0 -64
  124. package/dist/browser/components/DetailsBox.stories.js.map +0 -1
  125. package/dist/node/Plugin.mjs +0 -17
  126. package/dist/node/Plugin.mjs.map +0 -1
  127. package/dist/node/components/DetailsBox.mjs +0 -42
  128. package/dist/node/components/DetailsBox.mjs.map +0 -1
  129. package/dist/node/components/DetailsBox.stories.js +0 -89
  130. package/dist/node/components/DetailsBox.stories.js.map +0 -1
  131. package/dist/node/components/DetailsBox.stories.mjs +0 -64
  132. package/dist/node/components/DetailsBox.stories.mjs.map +0 -1
  133. package/dist/node/components/index.mjs +0 -2
  134. package/dist/node/components/index.mjs.map +0 -1
  135. package/dist/node/index.mjs +0 -3
  136. package/dist/node/index.mjs.map +0 -1
  137. package/dist/node/lib/DataLineStyles.mjs +0 -9
  138. package/dist/node/lib/DataPointStyles.mjs +0 -11
  139. package/dist/node/lib/ForecastLineChartConfigBuilder.mjs +0 -129
  140. package/dist/node/lib/ForecastLineChartConfigBuilder.mjs.map +0 -1
  141. package/dist/node/lib/MockSourcePayloads.mjs +0 -23
  142. package/dist/node/lib/SourcePayloads.mjs +0 -41
  143. package/dist/node/lib/SourcePayloads.mjs.map +0 -1
  144. package/dist/node/lib/index.mjs +0 -4
  145. package/dist/node/lib/index.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/index.ts"],"sourcesContent":["export * from './ForecastLineChartConfigBuilder'\nexport * from './MockSourcePayloads'\nexport * from './SourcePayloads'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/lib/DataLineStyles.ts","../../../src/lib/DataPointStyles.ts","../../../src/lib/MockSourcePayloads.ts","../../../src/lib/SourcePayloads.ts","../../../src/lib/ForecastLineChartConfigBuilder.ts"],"sourcesContent":["import { alpha } from '@mui/material'\n\nexport const DataLineStyles = (color?: string) => ({\n backgroundColor: color ? alpha(color, 0.5) : undefined,\n borderColor: color,\n})\n","export const DataPointStyles = (pointHoverBackgroundColor?: string) => ({\n pointHitRadius: 20,\n pointHoverBackgroundColor,\n pointHoverRadius: 10,\n pointRadius: 5,\n pointStyle: 'circle',\n})\n","export const MockSourcePayloads = () => {\n const tenMin = 600000\n return [\n {\n baseFee: 38.90155387825,\n feePerGas: { high: 47.9945864396, low: 39.006868093, medium: 39.306868093, veryHigh: 44.45384380525 },\n priorityFeePerGas: { high: 1.0266666666666666, low: -0.41000000000000003, medium: 0.38, veryHigh: 1.3900000000000001 },\n schema: 'network.xyo.blockchain.ethereum.gas',\n timestamp: Date.now() - tenMin,\n },\n {\n baseFee: 38.90155387825,\n feePerGas: { high: 47.9945864396, low: 39.006868093, medium: 100, veryHigh: 44.45384380525 },\n priorityFeePerGas: { high: 1.0266666666666666, low: -0.41000000000000003, medium: 0.38, veryHigh: 1.3900000000000001 },\n schema: 'network.xyo.blockchain.ethereum.gas',\n timestamp: Date.now(),\n },\n ]\n}\n","import { Payload } from '@xyo-network/payload-model'\nimport { Point } from 'chart.js'\n\nimport { MockSourcePayloads } from './MockSourcePayloads'\n\nexport class SourcePayloads {\n sourcePrices: Point[] = []\n\n constructor(public sourcePayloads: Payload[]) {}\n\n get payloads() {\n return this.sourcePayloads\n }\n\n static async build(jsonPath: string) {\n const sourcePayloads = await this.fetchSourcePayloads()\n const instance = new this(sourcePayloads)\n\n const paths = jsonPath.split('.')\n instance.sourcePrices = sourcePayloads.map((payload) => {\n return { x: payload.timestamp, y: instance.jsonPathTraverser(payload, paths) }\n })\n return instance\n }\n\n // TODO - fetch from archivist\n static async fetchSourcePayloads() {\n const payloads = await Promise.resolve(MockSourcePayloads())\n return payloads\n }\n\n jsonPathTraverser(obj: Payload, path: string[]) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let result: any = obj\n for (const key of path) {\n if (key in result) {\n const foundKey = key as keyof typeof result\n result = result[foundKey]\n } else {\n result = undefined\n break\n }\n }\n\n return result\n }\n}\n","import { Theme } from '@mui/material'\nimport { ForecastPayload } from '@xyo-network/diviner-forecasting-model'\nimport { ChartData, ChartDataset, ChartOptions, LegendOptions, Point, ScaleChartOptions } from 'chart.js'\n// eslint-disable-next-line import/no-unresolved\nimport { _DeepPartialObject } from 'chart.js/dist/types/utils'\n\nimport { DataLineStyles } from './DataLineStyles'\nimport { DataPointStyles } from './DataPointStyles'\nimport { SourcePayloads } from './SourcePayloads'\n\ninterface SourcePayloadConfig {\n fetch: boolean\n sampleSize?: number\n}\n\ninterface ThemeColors {\n dataSetColorPrimary: string\n dataSetColorSecondary: string\n gridColor: string\n}\n\nconst defaultOptions: () => ChartOptions<'line'> = () => ({\n plugins: {\n legend: {\n position: 'top' as const,\n },\n },\n responsive: true,\n})\n\nexport class ForecastLineChartConfigBuilder {\n data: ChartData<'line'> = {\n datasets: [],\n }\n options: ChartOptions<'line'> = defaultOptions()\n themeColors: ThemeColors | undefined\n\n constructor(\n theme: Theme,\n private payload?: ForecastPayload,\n ) {\n this.themeColors = this.parseTheme(theme)\n }\n\n get forecastPayload() {\n if (this.payload) {\n return this.payload\n } else {\n throw Error('ForecastPayload was not defined')\n }\n }\n\n static async create(theme: Theme, payload?: ForecastPayload, sourcePayloadConfig?: SourcePayloadConfig) {\n const instance = new ForecastLineChartConfigBuilder(theme, payload)\n\n await instance.build(sourcePayloadConfig?.fetch)\n\n instance.refreshValues()\n\n return instance\n }\n\n async build(includeSources?: boolean) {\n this.buildOptions()\n await this.buildData(includeSources)\n return this\n }\n\n async buildData(includeSources?: boolean) {\n const forecastData = this.generateDataSetForecastData()\n\n const datasets: ChartDataset<'line'>[] = [forecastData]\n\n if (includeSources) {\n // build data from sources in forecastPayload\n const sourceData = await this.generateDataSetSourcePayloads()\n datasets.unshift(sourceData)\n\n // add last source point as first item in prediction to connect the lines\n const lastSourceDataItem = sourceData.data.at(-1) as Point\n forecastData.data.unshift(lastSourceDataItem)\n }\n\n this.data = {\n datasets,\n }\n\n return this\n }\n\n buildOptions() {\n if (this.options.plugins) {\n this.options.plugins.title = this.generateTitle()\n this.options.plugins.legend = this.generateLegend()\n }\n this.options.scales = this.generateScales()\n\n return this\n }\n\n refreshValues() {\n this.data = { ...this.data }\n this.options = { ...this.options }\n }\n\n protected generateLegend(): _DeepPartialObject<LegendOptions<'line'>> {\n return {\n labels: {\n pointStyle: 'circle',\n usePointStyle: true,\n },\n }\n }\n\n protected generateScales(): _DeepPartialObject<ScaleChartOptions<'line'>['scales']> {\n return {\n x: {\n grid: {\n color: this.themeColors?.gridColor,\n },\n time: {\n unit: 'minute',\n },\n type: 'time',\n },\n y: {\n grid: {\n color: this.themeColors?.gridColor,\n },\n },\n }\n }\n\n protected generateTitle() {\n return {\n display: true,\n text: `Gas Price Forecaster (GWEI over time from ${\n this.forecastPayload?.values[0].timestamp ? new Date(this.forecastPayload.values[0].timestamp).toLocaleDateString() : ''\n })`,\n }\n }\n\n protected parseTheme(theme: Theme) {\n const dark = theme.palette.mode === 'dark'\n return {\n dataSetColorPrimary: theme.palette.primary.light,\n dataSetColorSecondary: theme.palette.secondary.light,\n gridColor: dark ? theme.palette.grey[800] : theme.palette.grey[300],\n }\n }\n\n private generateDataSetForecastData(): ChartDataset<'line'> {\n return {\n borderDash: [5],\n borderDashOffset: 0.5,\n data: this.forecastPayload.values.map((price) => ({ x: price.timestamp ?? 0, y: price.value })),\n label: 'Forecast Price',\n ...DataPointStyles(this.themeColors?.dataSetColorPrimary),\n ...DataLineStyles(this.themeColors?.dataSetColorPrimary),\n }\n }\n\n private async generateDataSetSourcePayloads(): Promise<ChartDataset<'line'>> {\n const { sourcePrices } = await SourcePayloads.build('feePerGas.medium')\n return {\n data: sourcePrices,\n label: 'Source Prices',\n ...DataLineStyles(this.themeColors?.dataSetColorSecondary),\n ...DataPointStyles(this.themeColors?.dataSetColorSecondary),\n }\n }\n}\n"],"mappings":"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","names":[]}