@xyo-network/react-price-forecast-plugin 2.79.0 → 2.80.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 (192) hide show
  1. package/dist/browser/index.d.ts +13 -3
  2. package/package.json +8 -24
  3. package/xy.config.ts +12 -0
  4. package/dist/browser/Plugin.d.cts +0 -3
  5. package/dist/browser/Plugin.d.cts.map +0 -1
  6. package/dist/browser/Plugin.d.mts +0 -3
  7. package/dist/browser/Plugin.d.mts.map +0 -1
  8. package/dist/browser/Plugin.d.ts +0 -3
  9. package/dist/browser/Plugin.d.ts.map +0 -1
  10. package/dist/browser/components/DetailsBox.d.cts +0 -9
  11. package/dist/browser/components/DetailsBox.d.cts.map +0 -1
  12. package/dist/browser/components/DetailsBox.d.mts +0 -9
  13. package/dist/browser/components/DetailsBox.d.mts.map +0 -1
  14. package/dist/browser/components/DetailsBox.d.ts +0 -9
  15. package/dist/browser/components/DetailsBox.d.ts.map +0 -1
  16. package/dist/browser/components/index.d.cts +0 -2
  17. package/dist/browser/components/index.d.cts.map +0 -1
  18. package/dist/browser/components/index.d.mts +0 -2
  19. package/dist/browser/components/index.d.mts.map +0 -1
  20. package/dist/browser/components/index.d.ts +0 -2
  21. package/dist/browser/components/index.d.ts.map +0 -1
  22. package/dist/browser/index.cjs +0 -336
  23. package/dist/browser/index.cjs.map +0 -1
  24. package/dist/browser/index.d.cts +0 -3
  25. package/dist/browser/index.d.cts.map +0 -1
  26. package/dist/browser/index.d.mts +0 -3
  27. package/dist/browser/index.d.mts.map +0 -1
  28. package/dist/browser/index.d.ts.map +0 -1
  29. package/dist/browser/lib/DataLineStyles.d.cts +0 -5
  30. package/dist/browser/lib/DataLineStyles.d.cts.map +0 -1
  31. package/dist/browser/lib/DataLineStyles.d.mts +0 -5
  32. package/dist/browser/lib/DataLineStyles.d.mts.map +0 -1
  33. package/dist/browser/lib/DataLineStyles.d.ts +0 -5
  34. package/dist/browser/lib/DataLineStyles.d.ts.map +0 -1
  35. package/dist/browser/lib/DataPointStyles.d.cts +0 -8
  36. package/dist/browser/lib/DataPointStyles.d.cts.map +0 -1
  37. package/dist/browser/lib/DataPointStyles.d.mts +0 -8
  38. package/dist/browser/lib/DataPointStyles.d.mts.map +0 -1
  39. package/dist/browser/lib/DataPointStyles.d.ts +0 -8
  40. package/dist/browser/lib/DataPointStyles.d.ts.map +0 -1
  41. package/dist/browser/lib/ForecastLineChartConfigBuilder.d.cts +0 -44
  42. package/dist/browser/lib/ForecastLineChartConfigBuilder.d.cts.map +0 -1
  43. package/dist/browser/lib/ForecastLineChartConfigBuilder.d.mts +0 -44
  44. package/dist/browser/lib/ForecastLineChartConfigBuilder.d.mts.map +0 -1
  45. package/dist/browser/lib/ForecastLineChartConfigBuilder.d.ts +0 -44
  46. package/dist/browser/lib/ForecastLineChartConfigBuilder.d.ts.map +0 -1
  47. package/dist/browser/lib/MockSourcePayloads.d.cts +0 -18
  48. package/dist/browser/lib/MockSourcePayloads.d.cts.map +0 -1
  49. package/dist/browser/lib/MockSourcePayloads.d.mts +0 -18
  50. package/dist/browser/lib/MockSourcePayloads.d.mts.map +0 -1
  51. package/dist/browser/lib/MockSourcePayloads.d.ts +0 -18
  52. package/dist/browser/lib/MockSourcePayloads.d.ts.map +0 -1
  53. package/dist/browser/lib/SourcePayloads.d.cts +0 -30
  54. package/dist/browser/lib/SourcePayloads.d.cts.map +0 -1
  55. package/dist/browser/lib/SourcePayloads.d.mts +0 -30
  56. package/dist/browser/lib/SourcePayloads.d.mts.map +0 -1
  57. package/dist/browser/lib/SourcePayloads.d.ts +0 -30
  58. package/dist/browser/lib/SourcePayloads.d.ts.map +0 -1
  59. package/dist/browser/lib/index.d.cts +0 -4
  60. package/dist/browser/lib/index.d.cts.map +0 -1
  61. package/dist/browser/lib/index.d.mts +0 -4
  62. package/dist/browser/lib/index.d.mts.map +0 -1
  63. package/dist/browser/lib/index.d.ts +0 -4
  64. package/dist/browser/lib/index.d.ts.map +0 -1
  65. package/dist/neutral/Plugin.d.cts +0 -3
  66. package/dist/neutral/Plugin.d.cts.map +0 -1
  67. package/dist/neutral/Plugin.d.mts +0 -3
  68. package/dist/neutral/Plugin.d.mts.map +0 -1
  69. package/dist/neutral/Plugin.d.ts +0 -3
  70. package/dist/neutral/Plugin.d.ts.map +0 -1
  71. package/dist/neutral/components/DetailsBox.d.cts +0 -9
  72. package/dist/neutral/components/DetailsBox.d.cts.map +0 -1
  73. package/dist/neutral/components/DetailsBox.d.mts +0 -9
  74. package/dist/neutral/components/DetailsBox.d.mts.map +0 -1
  75. package/dist/neutral/components/DetailsBox.d.ts +0 -9
  76. package/dist/neutral/components/DetailsBox.d.ts.map +0 -1
  77. package/dist/neutral/components/index.d.cts +0 -2
  78. package/dist/neutral/components/index.d.cts.map +0 -1
  79. package/dist/neutral/components/index.d.mts +0 -2
  80. package/dist/neutral/components/index.d.mts.map +0 -1
  81. package/dist/neutral/components/index.d.ts +0 -2
  82. package/dist/neutral/components/index.d.ts.map +0 -1
  83. package/dist/neutral/index.cjs +0 -336
  84. package/dist/neutral/index.cjs.map +0 -1
  85. package/dist/neutral/index.d.cts +0 -3
  86. package/dist/neutral/index.d.cts.map +0 -1
  87. package/dist/neutral/index.d.mts +0 -3
  88. package/dist/neutral/index.d.mts.map +0 -1
  89. package/dist/neutral/index.d.ts +0 -3
  90. package/dist/neutral/index.d.ts.map +0 -1
  91. package/dist/neutral/index.mjs +0 -305
  92. package/dist/neutral/index.mjs.map +0 -1
  93. package/dist/neutral/lib/DataLineStyles.d.cts +0 -5
  94. package/dist/neutral/lib/DataLineStyles.d.cts.map +0 -1
  95. package/dist/neutral/lib/DataLineStyles.d.mts +0 -5
  96. package/dist/neutral/lib/DataLineStyles.d.mts.map +0 -1
  97. package/dist/neutral/lib/DataLineStyles.d.ts +0 -5
  98. package/dist/neutral/lib/DataLineStyles.d.ts.map +0 -1
  99. package/dist/neutral/lib/DataPointStyles.d.cts +0 -8
  100. package/dist/neutral/lib/DataPointStyles.d.cts.map +0 -1
  101. package/dist/neutral/lib/DataPointStyles.d.mts +0 -8
  102. package/dist/neutral/lib/DataPointStyles.d.mts.map +0 -1
  103. package/dist/neutral/lib/DataPointStyles.d.ts +0 -8
  104. package/dist/neutral/lib/DataPointStyles.d.ts.map +0 -1
  105. package/dist/neutral/lib/ForecastLineChartConfigBuilder.d.cts +0 -44
  106. package/dist/neutral/lib/ForecastLineChartConfigBuilder.d.cts.map +0 -1
  107. package/dist/neutral/lib/ForecastLineChartConfigBuilder.d.mts +0 -44
  108. package/dist/neutral/lib/ForecastLineChartConfigBuilder.d.mts.map +0 -1
  109. package/dist/neutral/lib/ForecastLineChartConfigBuilder.d.ts +0 -44
  110. package/dist/neutral/lib/ForecastLineChartConfigBuilder.d.ts.map +0 -1
  111. package/dist/neutral/lib/MockSourcePayloads.d.cts +0 -18
  112. package/dist/neutral/lib/MockSourcePayloads.d.cts.map +0 -1
  113. package/dist/neutral/lib/MockSourcePayloads.d.mts +0 -18
  114. package/dist/neutral/lib/MockSourcePayloads.d.mts.map +0 -1
  115. package/dist/neutral/lib/MockSourcePayloads.d.ts +0 -18
  116. package/dist/neutral/lib/MockSourcePayloads.d.ts.map +0 -1
  117. package/dist/neutral/lib/SourcePayloads.d.cts +0 -30
  118. package/dist/neutral/lib/SourcePayloads.d.cts.map +0 -1
  119. package/dist/neutral/lib/SourcePayloads.d.mts +0 -30
  120. package/dist/neutral/lib/SourcePayloads.d.mts.map +0 -1
  121. package/dist/neutral/lib/SourcePayloads.d.ts +0 -30
  122. package/dist/neutral/lib/SourcePayloads.d.ts.map +0 -1
  123. package/dist/neutral/lib/index.d.cts +0 -4
  124. package/dist/neutral/lib/index.d.cts.map +0 -1
  125. package/dist/neutral/lib/index.d.mts +0 -4
  126. package/dist/neutral/lib/index.d.mts.map +0 -1
  127. package/dist/neutral/lib/index.d.ts +0 -4
  128. package/dist/neutral/lib/index.d.ts.map +0 -1
  129. package/dist/node/Plugin.d.cts +0 -3
  130. package/dist/node/Plugin.d.cts.map +0 -1
  131. package/dist/node/Plugin.d.mts +0 -3
  132. package/dist/node/Plugin.d.mts.map +0 -1
  133. package/dist/node/Plugin.d.ts +0 -3
  134. package/dist/node/Plugin.d.ts.map +0 -1
  135. package/dist/node/components/DetailsBox.d.cts +0 -9
  136. package/dist/node/components/DetailsBox.d.cts.map +0 -1
  137. package/dist/node/components/DetailsBox.d.mts +0 -9
  138. package/dist/node/components/DetailsBox.d.mts.map +0 -1
  139. package/dist/node/components/DetailsBox.d.ts +0 -9
  140. package/dist/node/components/DetailsBox.d.ts.map +0 -1
  141. package/dist/node/components/index.d.cts +0 -2
  142. package/dist/node/components/index.d.cts.map +0 -1
  143. package/dist/node/components/index.d.mts +0 -2
  144. package/dist/node/components/index.d.mts.map +0 -1
  145. package/dist/node/components/index.d.ts +0 -2
  146. package/dist/node/components/index.d.ts.map +0 -1
  147. package/dist/node/index.cjs +0 -343
  148. package/dist/node/index.cjs.map +0 -1
  149. package/dist/node/index.d.cts +0 -3
  150. package/dist/node/index.d.cts.map +0 -1
  151. package/dist/node/index.d.mts +0 -3
  152. package/dist/node/index.d.mts.map +0 -1
  153. package/dist/node/index.d.ts +0 -3
  154. package/dist/node/index.d.ts.map +0 -1
  155. package/dist/node/index.mjs +0 -307
  156. package/dist/node/index.mjs.map +0 -1
  157. package/dist/node/lib/DataLineStyles.d.cts +0 -5
  158. package/dist/node/lib/DataLineStyles.d.cts.map +0 -1
  159. package/dist/node/lib/DataLineStyles.d.mts +0 -5
  160. package/dist/node/lib/DataLineStyles.d.mts.map +0 -1
  161. package/dist/node/lib/DataLineStyles.d.ts +0 -5
  162. package/dist/node/lib/DataLineStyles.d.ts.map +0 -1
  163. package/dist/node/lib/DataPointStyles.d.cts +0 -8
  164. package/dist/node/lib/DataPointStyles.d.cts.map +0 -1
  165. package/dist/node/lib/DataPointStyles.d.mts +0 -8
  166. package/dist/node/lib/DataPointStyles.d.mts.map +0 -1
  167. package/dist/node/lib/DataPointStyles.d.ts +0 -8
  168. package/dist/node/lib/DataPointStyles.d.ts.map +0 -1
  169. package/dist/node/lib/ForecastLineChartConfigBuilder.d.cts +0 -44
  170. package/dist/node/lib/ForecastLineChartConfigBuilder.d.cts.map +0 -1
  171. package/dist/node/lib/ForecastLineChartConfigBuilder.d.mts +0 -44
  172. package/dist/node/lib/ForecastLineChartConfigBuilder.d.mts.map +0 -1
  173. package/dist/node/lib/ForecastLineChartConfigBuilder.d.ts +0 -44
  174. package/dist/node/lib/ForecastLineChartConfigBuilder.d.ts.map +0 -1
  175. package/dist/node/lib/MockSourcePayloads.d.cts +0 -18
  176. package/dist/node/lib/MockSourcePayloads.d.cts.map +0 -1
  177. package/dist/node/lib/MockSourcePayloads.d.mts +0 -18
  178. package/dist/node/lib/MockSourcePayloads.d.mts.map +0 -1
  179. package/dist/node/lib/MockSourcePayloads.d.ts +0 -18
  180. package/dist/node/lib/MockSourcePayloads.d.ts.map +0 -1
  181. package/dist/node/lib/SourcePayloads.d.cts +0 -30
  182. package/dist/node/lib/SourcePayloads.d.cts.map +0 -1
  183. package/dist/node/lib/SourcePayloads.d.mts +0 -30
  184. package/dist/node/lib/SourcePayloads.d.mts.map +0 -1
  185. package/dist/node/lib/SourcePayloads.d.ts +0 -30
  186. package/dist/node/lib/SourcePayloads.d.ts.map +0 -1
  187. package/dist/node/lib/index.d.cts +0 -4
  188. package/dist/node/lib/index.d.cts.map +0 -1
  189. package/dist/node/lib/index.d.mts +0 -4
  190. package/dist/node/lib/index.d.mts.map +0 -1
  191. package/dist/node/lib/index.d.ts +0 -4
  192. package/dist/node/lib/index.d.ts.map +0 -1
@@ -1,307 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
-
4
- // src/components/DetailsBox.tsx
5
- import "chartjs-adapter-luxon";
6
- import { useTheme } from "@mui/material";
7
- import { useAsyncEffect } from "@xylabs/react-async-effect";
8
- import { FlexCol } from "@xylabs/react-flexbox";
9
- import { CategoryScale, Chart as ChartJS, Legend, LinearScale, LineElement, PointElement, TimeScale, Title, Tooltip } from "chart.js";
10
- import React, { useState } from "react";
11
- import { Line } from "react-chartjs-2";
12
-
13
- // src/lib/DataLineStyles.ts
14
- import { alpha } from "@mui/material";
15
- var DataLineStyles = /* @__PURE__ */ __name((color) => ({
16
- backgroundColor: color ? alpha(color, 0.5) : void 0,
17
- borderColor: color
18
- }), "DataLineStyles");
19
-
20
- // src/lib/DataPointStyles.ts
21
- var DataPointStyles = /* @__PURE__ */ __name((pointHoverBackgroundColor) => ({
22
- pointHitRadius: 20,
23
- pointHoverBackgroundColor,
24
- pointHoverRadius: 10,
25
- pointRadius: 5,
26
- pointStyle: "circle"
27
- }), "DataPointStyles");
28
-
29
- // src/lib/MockSourcePayloads.ts
30
- var MockSourcePayloads = /* @__PURE__ */ __name(() => {
31
- const tenMin = 6e5;
32
- return [
33
- {
34
- baseFee: 38.90155387825,
35
- feePerGas: {
36
- high: 47.9945864396,
37
- low: 39.006868093,
38
- medium: 39.306868093,
39
- veryHigh: 44.45384380525
40
- },
41
- priorityFeePerGas: {
42
- high: 1.0266666666666666,
43
- low: -0.41000000000000003,
44
- medium: 0.38,
45
- veryHigh: 1.3900000000000001
46
- },
47
- schema: "network.xyo.blockchain.ethereum.gas",
48
- timestamp: Date.now() - tenMin
49
- },
50
- {
51
- baseFee: 38.90155387825,
52
- feePerGas: {
53
- high: 47.9945864396,
54
- low: 39.006868093,
55
- medium: 100,
56
- veryHigh: 44.45384380525
57
- },
58
- priorityFeePerGas: {
59
- high: 1.0266666666666666,
60
- low: -0.41000000000000003,
61
- medium: 0.38,
62
- veryHigh: 1.3900000000000001
63
- },
64
- schema: "network.xyo.blockchain.ethereum.gas",
65
- timestamp: Date.now()
66
- }
67
- ];
68
- }, "MockSourcePayloads");
69
-
70
- // src/lib/SourcePayloads.ts
71
- var _SourcePayloads = class _SourcePayloads {
72
- sourcePayloads;
73
- sourcePrices;
74
- constructor(sourcePayloads) {
75
- this.sourcePayloads = sourcePayloads;
76
- this.sourcePrices = [];
77
- }
78
- get payloads() {
79
- return this.sourcePayloads;
80
- }
81
- static async build(jsonPath) {
82
- const sourcePayloads = await this.fetchSourcePayloads();
83
- const instance = new this(sourcePayloads);
84
- const paths = jsonPath.split(".");
85
- instance.sourcePrices = sourcePayloads.map((payload) => {
86
- return {
87
- x: payload.timestamp,
88
- y: instance.jsonPathTraverser(payload, paths)
89
- };
90
- });
91
- return instance;
92
- }
93
- // TODO - fetch from archivist
94
- static async fetchSourcePayloads() {
95
- const payloads = await Promise.resolve(MockSourcePayloads());
96
- return payloads;
97
- }
98
- jsonPathTraverser(obj, path) {
99
- let result = obj;
100
- for (const key of path) {
101
- if (key in result) {
102
- const foundKey = key;
103
- result = result[foundKey];
104
- } else {
105
- result = void 0;
106
- break;
107
- }
108
- }
109
- return result;
110
- }
111
- };
112
- __name(_SourcePayloads, "SourcePayloads");
113
- var SourcePayloads = _SourcePayloads;
114
-
115
- // src/lib/ForecastLineChartConfigBuilder.ts
116
- var defaultOptions = /* @__PURE__ */ __name(() => ({
117
- plugins: {
118
- legend: {
119
- position: "top"
120
- }
121
- },
122
- responsive: true
123
- }), "defaultOptions");
124
- var _ForecastLineChartConfigBuilder = class _ForecastLineChartConfigBuilder {
125
- payload;
126
- data;
127
- options;
128
- themeColors;
129
- constructor(theme, payload) {
130
- this.payload = payload;
131
- this.data = {
132
- datasets: []
133
- };
134
- this.options = defaultOptions();
135
- this.themeColors = this.parseTheme(theme);
136
- }
137
- get forecastPayload() {
138
- if (this.payload) {
139
- return this.payload;
140
- } else {
141
- throw new Error("ForecastPayload was not defined");
142
- }
143
- }
144
- static async create(theme, payload, sourcePayloadConfig) {
145
- const instance = new _ForecastLineChartConfigBuilder(theme, payload);
146
- await instance.build(sourcePayloadConfig == null ? void 0 : sourcePayloadConfig.fetch);
147
- instance.refreshValues();
148
- return instance;
149
- }
150
- async build(includeSources) {
151
- this.buildOptions();
152
- await this.buildData(includeSources);
153
- return this;
154
- }
155
- async buildData(includeSources) {
156
- const forecastData = this.generateDataSetForecastData();
157
- const datasets = [
158
- forecastData
159
- ];
160
- if (includeSources) {
161
- const sourceData = await this.generateDataSetSourcePayloads();
162
- datasets.unshift(sourceData);
163
- const lastSourceDataItem = sourceData.data.at(-1);
164
- forecastData.data.unshift(lastSourceDataItem);
165
- }
166
- this.data = {
167
- datasets
168
- };
169
- return this;
170
- }
171
- buildOptions() {
172
- if (this.options.plugins) {
173
- this.options.plugins.title = this.generateTitle();
174
- this.options.plugins.legend = this.generateLegend();
175
- }
176
- this.options.scales = this.generateScales();
177
- return this;
178
- }
179
- refreshValues() {
180
- this.data = {
181
- ...this.data
182
- };
183
- this.options = {
184
- ...this.options
185
- };
186
- }
187
- generateLegend() {
188
- return {
189
- labels: {
190
- pointStyle: "circle",
191
- usePointStyle: true
192
- }
193
- };
194
- }
195
- generateScales() {
196
- var _a, _b;
197
- return {
198
- x: {
199
- grid: {
200
- color: (_a = this.themeColors) == null ? void 0 : _a.gridColor
201
- },
202
- time: {
203
- unit: "minute"
204
- },
205
- type: "time"
206
- },
207
- y: {
208
- grid: {
209
- color: (_b = this.themeColors) == null ? void 0 : _b.gridColor
210
- }
211
- }
212
- };
213
- }
214
- generateTitle() {
215
- var _a;
216
- return {
217
- display: true,
218
- text: `Gas Price Forecaster (GWEI over time from ${((_a = this.forecastPayload) == null ? void 0 : _a.values[0].timestamp) ? new Date(this.forecastPayload.values[0].timestamp).toLocaleDateString() : ""})`
219
- };
220
- }
221
- parseTheme(theme) {
222
- const dark = theme.palette.mode === "dark";
223
- return {
224
- dataSetColorPrimary: theme.palette.primary.light,
225
- dataSetColorSecondary: theme.palette.secondary.light,
226
- gridColor: dark ? theme.palette.grey[800] : theme.palette.grey[300]
227
- };
228
- }
229
- generateDataSetForecastData() {
230
- var _a, _b;
231
- return {
232
- borderDash: [
233
- 5
234
- ],
235
- borderDashOffset: 0.5,
236
- data: this.forecastPayload.values.map((price) => ({
237
- x: price.timestamp ?? 0,
238
- y: price.value
239
- })),
240
- label: "Forecast Price",
241
- ...DataPointStyles((_a = this.themeColors) == null ? void 0 : _a.dataSetColorPrimary),
242
- ...DataLineStyles((_b = this.themeColors) == null ? void 0 : _b.dataSetColorPrimary)
243
- };
244
- }
245
- async generateDataSetSourcePayloads() {
246
- var _a, _b;
247
- const { sourcePrices } = await SourcePayloads.build("feePerGas.medium");
248
- return {
249
- data: sourcePrices,
250
- label: "Source Prices",
251
- ...DataLineStyles((_a = this.themeColors) == null ? void 0 : _a.dataSetColorSecondary),
252
- ...DataPointStyles((_b = this.themeColors) == null ? void 0 : _b.dataSetColorSecondary)
253
- };
254
- }
255
- };
256
- __name(_ForecastLineChartConfigBuilder, "ForecastLineChartConfigBuilder");
257
- var ForecastLineChartConfigBuilder = _ForecastLineChartConfigBuilder;
258
-
259
- // src/components/DetailsBox.tsx
260
- ChartJS.register(CategoryScale, TimeScale, PointElement, LineElement, LinearScale, Title, Tooltip, Legend);
261
- var PriceForecastDetailsBox = /* @__PURE__ */ __name(({ payload, ...props }) => {
262
- const priceForecastPayload = payload;
263
- const theme = useTheme();
264
- const [data, setData] = useState({
265
- datasets: []
266
- });
267
- const [options, setOptions] = useState({});
268
- useAsyncEffect(async (mounted) => {
269
- const { data: data2, options: options2 } = await ForecastLineChartConfigBuilder.create(theme, priceForecastPayload, {
270
- fetch: true
271
- });
272
- if (mounted()) {
273
- setData(data2);
274
- setOptions(options2);
275
- }
276
- }, [
277
- priceForecastPayload,
278
- theme
279
- ]);
280
- return /* @__PURE__ */ React.createElement(FlexCol, {
281
- ...props,
282
- busy: priceForecastPayload === void 0,
283
- minHeight: "25vh"
284
- }, priceForecastPayload ? /* @__PURE__ */ React.createElement(Line, {
285
- options,
286
- data
287
- }) : null);
288
- }, "PriceForecastDetailsBox");
289
-
290
- // src/Plugin.ts
291
- import { createPayloadRenderPlugin } from "@xyo-network/react-payload-plugin";
292
- var PriceForecastRenderPlugin = {
293
- ...createPayloadRenderPlugin({
294
- canRender: /* @__PURE__ */ __name(() => true, "canRender"),
295
- components: {
296
- box: {
297
- detailsBox: PriceForecastDetailsBox
298
- }
299
- },
300
- name: "PriceForecast"
301
- })
302
- };
303
- export {
304
- PriceForecastDetailsBox,
305
- PriceForecastRenderPlugin
306
- };
307
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/components/DetailsBox.tsx","../../src/lib/DataLineStyles.ts","../../src/lib/DataPointStyles.ts","../../src/lib/MockSourcePayloads.ts","../../src/lib/SourcePayloads.ts","../../src/lib/ForecastLineChartConfigBuilder.ts","../../src/Plugin.ts"],"sourcesContent":["import 'chartjs-adapter-luxon'\n\nimport { useTheme } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { ForecastPayload } from '@xyo-network/diviner-forecasting-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport {\n CategoryScale,\n Chart as ChartJS,\n ChartData,\n ChartOptions,\n Legend,\n LinearScale,\n LineElement,\n PointElement,\n TimeScale,\n Title,\n Tooltip,\n} from 'chart.js'\nimport React, { useState } from 'react'\nimport { Line } from 'react-chartjs-2'\n\nimport { ForecastLineChartConfigBuilder } from '../lib/index.ts'\n\nChartJS.register(CategoryScale, TimeScale, PointElement, LineElement, LinearScale, Title, Tooltip, Legend)\n\nexport interface PriceForecastDetailsBoxProps extends FlexBoxProps {\n payload?: Payload\n}\n\nexport const PriceForecastDetailsBox: React.FC<PriceForecastDetailsBoxProps> = ({ payload, ...props }) => {\n const priceForecastPayload = payload as ForecastPayload | undefined\n const theme = useTheme()\n const [data, setData] = useState<ChartData<'line'>>({ datasets: [] })\n const [options, setOptions] = useState<ChartOptions<'line'>>({})\n\n useAsyncEffect(\n\n async (mounted) => {\n const { data, options } = await ForecastLineChartConfigBuilder.create(theme, priceForecastPayload, { fetch: true })\n if (mounted()) {\n setData(data)\n setOptions(options)\n }\n },\n [priceForecastPayload, theme],\n )\n\n return (\n <FlexCol {...props} busy={priceForecastPayload === undefined} minHeight=\"25vh\">\n {priceForecastPayload\n ? <Line options={options} data={data} />\n : null}\n </FlexCol>\n )\n}\n","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 = 600_000\n return [\n {\n baseFee: 38.901_553_878_25,\n feePerGas: { high: 47.994_586_439_6, low: 39.006_868_093, medium: 39.306_868_093, veryHigh: 44.453_843_805_25 },\n priorityFeePerGas: { high: 1.026_666_666_666_666_6, low: -0.410_000_000_000_000_03, medium: 0.38, veryHigh: 1.390_000_000_000_000_1 },\n schema: 'network.xyo.blockchain.ethereum.gas',\n timestamp: Date.now() - tenMin,\n },\n {\n baseFee: 38.901_553_878_25,\n feePerGas: { high: 47.994_586_439_6, low: 39.006_868_093, medium: 100, veryHigh: 44.453_843_805_25 },\n priorityFeePerGas: { high: 1.026_666_666_666_666_6, low: -0.410_000_000_000_000_03, medium: 0.38, veryHigh: 1.390_000_000_000_000_1 },\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.ts'\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\nimport { DataLineStyles } from './DataLineStyles.ts'\nimport { DataPointStyles } from './DataPointStyles.ts'\nimport { SourcePayloads } from './SourcePayloads.ts'\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\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 new 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() {\n return {\n labels: {\n pointStyle: 'circle',\n usePointStyle: true,\n },\n } as LegendOptions<'line'>\n }\n\n protected generateScales() {\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 } as unknown as ScaleChartOptions<'line'>['scales']\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","import { createPayloadRenderPlugin, PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\n\nimport { PriceForecastDetailsBox } from './components/index.ts'\n\nexport const PriceForecastRenderPlugin: PayloadRenderPlugin = {\n ...createPayloadRenderPlugin({\n canRender: () => true,\n components: {\n box: {\n detailsBox: PriceForecastDetailsBox,\n },\n },\n name: 'PriceForecast',\n }),\n}\n"],"mappings":"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","names":["useTheme","useAsyncEffect","FlexCol","CategoryScale","Chart","ChartJS","Legend","LinearScale","LineElement","PointElement","TimeScale","Title","Tooltip","React","useState","Line","alpha","DataLineStyles","color","backgroundColor","alpha","undefined","borderColor","DataPointStyles","pointHoverBackgroundColor","pointHitRadius","pointHoverRadius","pointRadius","pointStyle","MockSourcePayloads","tenMin","baseFee","feePerGas","high","low","medium","veryHigh","priorityFeePerGas","schema","timestamp","Date","now","SourcePayloads","sourcePrices","constructor","sourcePayloads","payloads","build","jsonPath","fetchSourcePayloads","instance","paths","split","map","payload","x","timestamp","y","jsonPathTraverser","Promise","resolve","MockSourcePayloads","obj","path","result","key","foundKey","undefined","defaultOptions","plugins","legend","position","responsive","ForecastLineChartConfigBuilder","data","options","themeColors","constructor","theme","payload","datasets","parseTheme","forecastPayload","Error","create","sourcePayloadConfig","instance","build","fetch","refreshValues","includeSources","buildOptions","buildData","forecastData","generateDataSetForecastData","sourceData","generateDataSetSourcePayloads","unshift","lastSourceDataItem","at","title","generateTitle","generateLegend","scales","generateScales","labels","pointStyle","usePointStyle","x","grid","color","gridColor","time","unit","type","y","display","text","values","timestamp","Date","toLocaleDateString","dark","palette","mode","dataSetColorPrimary","primary","light","dataSetColorSecondary","secondary","grey","borderDash","borderDashOffset","map","price","value","label","DataPointStyles","DataLineStyles","sourcePrices","SourcePayloads","ChartJS","register","CategoryScale","TimeScale","PointElement","LineElement","LinearScale","Title","Tooltip","Legend","PriceForecastDetailsBox","payload","props","priceForecastPayload","theme","useTheme","data","setData","useState","datasets","options","setOptions","useAsyncEffect","mounted","ForecastLineChartConfigBuilder","create","fetch","FlexCol","busy","undefined","minHeight","Line","createPayloadRenderPlugin","PriceForecastRenderPlugin","createPayloadRenderPlugin","canRender","components","box","detailsBox","PriceForecastDetailsBox","name"]}
@@ -1,5 +0,0 @@
1
- export declare const DataLineStyles: (color?: string) => {
2
- backgroundColor: string | undefined;
3
- borderColor: string | undefined;
4
- };
5
- //# sourceMappingURL=DataLineStyles.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataLineStyles.d.ts","sourceRoot":"","sources":["../../../src/lib/DataLineStyles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,WAAY,MAAM;;;CAG3C,CAAA"}
@@ -1,5 +0,0 @@
1
- export declare const DataLineStyles: (color?: string) => {
2
- backgroundColor: string | undefined;
3
- borderColor: string | undefined;
4
- };
5
- //# sourceMappingURL=DataLineStyles.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataLineStyles.d.ts","sourceRoot":"","sources":["../../../src/lib/DataLineStyles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,WAAY,MAAM;;;CAG3C,CAAA"}
@@ -1,5 +0,0 @@
1
- export declare const DataLineStyles: (color?: string) => {
2
- backgroundColor: string | undefined;
3
- borderColor: string | undefined;
4
- };
5
- //# sourceMappingURL=DataLineStyles.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataLineStyles.d.ts","sourceRoot":"","sources":["../../../src/lib/DataLineStyles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,WAAY,MAAM;;;CAG3C,CAAA"}
@@ -1,8 +0,0 @@
1
- export declare const DataPointStyles: (pointHoverBackgroundColor?: string) => {
2
- pointHitRadius: number;
3
- pointHoverBackgroundColor: string | undefined;
4
- pointHoverRadius: number;
5
- pointRadius: number;
6
- pointStyle: string;
7
- };
8
- //# sourceMappingURL=DataPointStyles.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataPointStyles.d.ts","sourceRoot":"","sources":["../../../src/lib/DataPointStyles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,+BAAgC,MAAM;;;;;;CAMhE,CAAA"}
@@ -1,8 +0,0 @@
1
- export declare const DataPointStyles: (pointHoverBackgroundColor?: string) => {
2
- pointHitRadius: number;
3
- pointHoverBackgroundColor: string | undefined;
4
- pointHoverRadius: number;
5
- pointRadius: number;
6
- pointStyle: string;
7
- };
8
- //# sourceMappingURL=DataPointStyles.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataPointStyles.d.ts","sourceRoot":"","sources":["../../../src/lib/DataPointStyles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,+BAAgC,MAAM;;;;;;CAMhE,CAAA"}
@@ -1,8 +0,0 @@
1
- export declare const DataPointStyles: (pointHoverBackgroundColor?: string) => {
2
- pointHitRadius: number;
3
- pointHoverBackgroundColor: string | undefined;
4
- pointHoverRadius: number;
5
- pointRadius: number;
6
- pointStyle: string;
7
- };
8
- //# sourceMappingURL=DataPointStyles.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataPointStyles.d.ts","sourceRoot":"","sources":["../../../src/lib/DataPointStyles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,+BAAgC,MAAM;;;;;;CAMhE,CAAA"}
@@ -1,44 +0,0 @@
1
- import { Theme } from '@mui/material';
2
- import { ForecastPayload } from '@xyo-network/diviner-forecasting-model';
3
- import { ChartData, ChartOptions, LegendOptions, ScaleChartOptions } from 'chart.js';
4
- interface SourcePayloadConfig {
5
- fetch: boolean;
6
- sampleSize?: number;
7
- }
8
- interface ThemeColors {
9
- dataSetColorPrimary: string;
10
- dataSetColorSecondary: string;
11
- gridColor: string;
12
- }
13
- export declare class ForecastLineChartConfigBuilder {
14
- private payload?;
15
- data: ChartData<'line'>;
16
- options: ChartOptions<'line'>;
17
- themeColors: ThemeColors | undefined;
18
- constructor(theme: Theme, payload?: ForecastPayload | undefined);
19
- get forecastPayload(): import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
20
- schema: import("@xyo-network/diviner-forecasting-model").ForecastPayloadSchema;
21
- sources: string[];
22
- values: import("@xyo-network/diviner-forecasting-model").Forecast[];
23
- };
24
- static create(theme: Theme, payload?: ForecastPayload, sourcePayloadConfig?: SourcePayloadConfig): Promise<ForecastLineChartConfigBuilder>;
25
- build(includeSources?: boolean): Promise<this>;
26
- buildData(includeSources?: boolean): Promise<this>;
27
- buildOptions(): this;
28
- refreshValues(): void;
29
- protected generateLegend(): LegendOptions<"line">;
30
- protected generateScales(): ScaleChartOptions<"line">["scales"];
31
- protected generateTitle(): {
32
- display: boolean;
33
- text: string;
34
- };
35
- protected parseTheme(theme: Theme): {
36
- dataSetColorPrimary: string;
37
- dataSetColorSecondary: string;
38
- gridColor: string;
39
- };
40
- private generateDataSetForecastData;
41
- private generateDataSetSourcePayloads;
42
- }
43
- export {};
44
- //# sourceMappingURL=ForecastLineChartConfigBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ForecastLineChartConfigBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/ForecastLineChartConfigBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AACxE,OAAO,EAAE,SAAS,EAAgB,YAAY,EAAE,aAAa,EAAS,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAMzG,UAAU,mBAAmB;IAC3B,KAAK,EAAE,OAAO,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,UAAU,WAAW;IACnB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;CAClB;AAWD,qBAAa,8BAA8B;IAUvC,OAAO,CAAC,OAAO,CAAC;IATlB,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAEtB;IAED,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,CAAmB;IAChD,WAAW,EAAE,WAAW,GAAG,SAAS,CAAA;gBAGlC,KAAK,EAAE,KAAK,EACJ,OAAO,CAAC,EAAE,eAAe,YAAA;IAKnC,IAAI,eAAe;;;;MAMlB;WAEY,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,mBAAmB,CAAC,EAAE,mBAAmB;IAUhG,KAAK,CAAC,cAAc,CAAC,EAAE,OAAO;IAM9B,SAAS,CAAC,cAAc,CAAC,EAAE,OAAO;IAsBxC,YAAY;IAUZ,aAAa;IAKb,SAAS,CAAC,cAAc,IAMjB,aAAa,CAAC,MAAM,CAAC;IAG5B,SAAS,CAAC,cAAc,IAgBN,iBAAiB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;IAGrD,SAAS,CAAC,aAAa;;;;IASvB,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK;;;;;IASjC,OAAO,CAAC,2BAA2B;YAWrB,6BAA6B;CAS5C"}
@@ -1,44 +0,0 @@
1
- import { Theme } from '@mui/material';
2
- import { ForecastPayload } from '@xyo-network/diviner-forecasting-model';
3
- import { ChartData, ChartOptions, LegendOptions, ScaleChartOptions } from 'chart.js';
4
- interface SourcePayloadConfig {
5
- fetch: boolean;
6
- sampleSize?: number;
7
- }
8
- interface ThemeColors {
9
- dataSetColorPrimary: string;
10
- dataSetColorSecondary: string;
11
- gridColor: string;
12
- }
13
- export declare class ForecastLineChartConfigBuilder {
14
- private payload?;
15
- data: ChartData<'line'>;
16
- options: ChartOptions<'line'>;
17
- themeColors: ThemeColors | undefined;
18
- constructor(theme: Theme, payload?: ForecastPayload | undefined);
19
- get forecastPayload(): import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
20
- schema: import("@xyo-network/diviner-forecasting-model").ForecastPayloadSchema;
21
- sources: string[];
22
- values: import("@xyo-network/diviner-forecasting-model").Forecast[];
23
- };
24
- static create(theme: Theme, payload?: ForecastPayload, sourcePayloadConfig?: SourcePayloadConfig): Promise<ForecastLineChartConfigBuilder>;
25
- build(includeSources?: boolean): Promise<this>;
26
- buildData(includeSources?: boolean): Promise<this>;
27
- buildOptions(): this;
28
- refreshValues(): void;
29
- protected generateLegend(): LegendOptions<"line">;
30
- protected generateScales(): ScaleChartOptions<"line">["scales"];
31
- protected generateTitle(): {
32
- display: boolean;
33
- text: string;
34
- };
35
- protected parseTheme(theme: Theme): {
36
- dataSetColorPrimary: string;
37
- dataSetColorSecondary: string;
38
- gridColor: string;
39
- };
40
- private generateDataSetForecastData;
41
- private generateDataSetSourcePayloads;
42
- }
43
- export {};
44
- //# sourceMappingURL=ForecastLineChartConfigBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ForecastLineChartConfigBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/ForecastLineChartConfigBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AACxE,OAAO,EAAE,SAAS,EAAgB,YAAY,EAAE,aAAa,EAAS,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAMzG,UAAU,mBAAmB;IAC3B,KAAK,EAAE,OAAO,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,UAAU,WAAW;IACnB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;CAClB;AAWD,qBAAa,8BAA8B;IAUvC,OAAO,CAAC,OAAO,CAAC;IATlB,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAEtB;IAED,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,CAAmB;IAChD,WAAW,EAAE,WAAW,GAAG,SAAS,CAAA;gBAGlC,KAAK,EAAE,KAAK,EACJ,OAAO,CAAC,EAAE,eAAe,YAAA;IAKnC,IAAI,eAAe;;;;MAMlB;WAEY,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,mBAAmB,CAAC,EAAE,mBAAmB;IAUhG,KAAK,CAAC,cAAc,CAAC,EAAE,OAAO;IAM9B,SAAS,CAAC,cAAc,CAAC,EAAE,OAAO;IAsBxC,YAAY;IAUZ,aAAa;IAKb,SAAS,CAAC,cAAc,IAMjB,aAAa,CAAC,MAAM,CAAC;IAG5B,SAAS,CAAC,cAAc,IAgBN,iBAAiB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;IAGrD,SAAS,CAAC,aAAa;;;;IASvB,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK;;;;;IASjC,OAAO,CAAC,2BAA2B;YAWrB,6BAA6B;CAS5C"}
@@ -1,44 +0,0 @@
1
- import { Theme } from '@mui/material';
2
- import { ForecastPayload } from '@xyo-network/diviner-forecasting-model';
3
- import { ChartData, ChartOptions, LegendOptions, ScaleChartOptions } from 'chart.js';
4
- interface SourcePayloadConfig {
5
- fetch: boolean;
6
- sampleSize?: number;
7
- }
8
- interface ThemeColors {
9
- dataSetColorPrimary: string;
10
- dataSetColorSecondary: string;
11
- gridColor: string;
12
- }
13
- export declare class ForecastLineChartConfigBuilder {
14
- private payload?;
15
- data: ChartData<'line'>;
16
- options: ChartOptions<'line'>;
17
- themeColors: ThemeColors | undefined;
18
- constructor(theme: Theme, payload?: ForecastPayload | undefined);
19
- get forecastPayload(): import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
20
- schema: import("@xyo-network/diviner-forecasting-model").ForecastPayloadSchema;
21
- sources: string[];
22
- values: import("@xyo-network/diviner-forecasting-model").Forecast[];
23
- };
24
- static create(theme: Theme, payload?: ForecastPayload, sourcePayloadConfig?: SourcePayloadConfig): Promise<ForecastLineChartConfigBuilder>;
25
- build(includeSources?: boolean): Promise<this>;
26
- buildData(includeSources?: boolean): Promise<this>;
27
- buildOptions(): this;
28
- refreshValues(): void;
29
- protected generateLegend(): LegendOptions<"line">;
30
- protected generateScales(): ScaleChartOptions<"line">["scales"];
31
- protected generateTitle(): {
32
- display: boolean;
33
- text: string;
34
- };
35
- protected parseTheme(theme: Theme): {
36
- dataSetColorPrimary: string;
37
- dataSetColorSecondary: string;
38
- gridColor: string;
39
- };
40
- private generateDataSetForecastData;
41
- private generateDataSetSourcePayloads;
42
- }
43
- export {};
44
- //# sourceMappingURL=ForecastLineChartConfigBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ForecastLineChartConfigBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/ForecastLineChartConfigBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AACxE,OAAO,EAAE,SAAS,EAAgB,YAAY,EAAE,aAAa,EAAS,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAMzG,UAAU,mBAAmB;IAC3B,KAAK,EAAE,OAAO,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,UAAU,WAAW;IACnB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;CAClB;AAWD,qBAAa,8BAA8B;IAUvC,OAAO,CAAC,OAAO,CAAC;IATlB,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAEtB;IAED,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,CAAmB;IAChD,WAAW,EAAE,WAAW,GAAG,SAAS,CAAA;gBAGlC,KAAK,EAAE,KAAK,EACJ,OAAO,CAAC,EAAE,eAAe,YAAA;IAKnC,IAAI,eAAe;;;;MAMlB;WAEY,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,mBAAmB,CAAC,EAAE,mBAAmB;IAUhG,KAAK,CAAC,cAAc,CAAC,EAAE,OAAO;IAM9B,SAAS,CAAC,cAAc,CAAC,EAAE,OAAO;IAsBxC,YAAY;IAUZ,aAAa;IAKb,SAAS,CAAC,cAAc,IAMjB,aAAa,CAAC,MAAM,CAAC;IAG5B,SAAS,CAAC,cAAc,IAgBN,iBAAiB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;IAGrD,SAAS,CAAC,aAAa;;;;IASvB,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK;;;;;IASjC,OAAO,CAAC,2BAA2B;YAWrB,6BAA6B;CAS5C"}
@@ -1,18 +0,0 @@
1
- export declare const MockSourcePayloads: () => {
2
- baseFee: number;
3
- feePerGas: {
4
- high: number;
5
- low: number;
6
- medium: number;
7
- veryHigh: number;
8
- };
9
- priorityFeePerGas: {
10
- high: number;
11
- low: number;
12
- medium: number;
13
- veryHigh: number;
14
- };
15
- schema: string;
16
- timestamp: number;
17
- }[];
18
- //# sourceMappingURL=MockSourcePayloads.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MockSourcePayloads.d.ts","sourceRoot":"","sources":["../../../src/lib/MockSourcePayloads.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;GAkB9B,CAAA"}
@@ -1,18 +0,0 @@
1
- export declare const MockSourcePayloads: () => {
2
- baseFee: number;
3
- feePerGas: {
4
- high: number;
5
- low: number;
6
- medium: number;
7
- veryHigh: number;
8
- };
9
- priorityFeePerGas: {
10
- high: number;
11
- low: number;
12
- medium: number;
13
- veryHigh: number;
14
- };
15
- schema: string;
16
- timestamp: number;
17
- }[];
18
- //# sourceMappingURL=MockSourcePayloads.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MockSourcePayloads.d.ts","sourceRoot":"","sources":["../../../src/lib/MockSourcePayloads.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;GAkB9B,CAAA"}
@@ -1,18 +0,0 @@
1
- export declare const MockSourcePayloads: () => {
2
- baseFee: number;
3
- feePerGas: {
4
- high: number;
5
- low: number;
6
- medium: number;
7
- veryHigh: number;
8
- };
9
- priorityFeePerGas: {
10
- high: number;
11
- low: number;
12
- medium: number;
13
- veryHigh: number;
14
- };
15
- schema: string;
16
- timestamp: number;
17
- }[];
18
- //# sourceMappingURL=MockSourcePayloads.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MockSourcePayloads.d.ts","sourceRoot":"","sources":["../../../src/lib/MockSourcePayloads.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;GAkB9B,CAAA"}