@cfxjs/sirius-next-common 0.1.37 → 0.1.39

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 (125) hide show
  1. package/dist/chunk-3RVRAMNW.js +69 -0
  2. package/dist/chunk-3RVRAMNW.js.map +1 -0
  3. package/dist/chunk-4HTI24KG.js +3629 -0
  4. package/dist/chunk-4HTI24KG.js.map +1 -0
  5. package/dist/chunk-6AGMKWAW.js +286 -0
  6. package/dist/chunk-6AGMKWAW.js.map +1 -0
  7. package/dist/chunk-6GBDCZIP.js +414 -0
  8. package/dist/chunk-6GBDCZIP.js.map +1 -0
  9. package/dist/chunk-73IFRWHE.js +130 -0
  10. package/dist/chunk-73IFRWHE.js.map +1 -0
  11. package/dist/chunk-AAQD5VX5.js +212 -0
  12. package/dist/chunk-AAQD5VX5.js.map +1 -0
  13. package/dist/chunk-AD46ITJC.js +416 -0
  14. package/dist/chunk-AD46ITJC.js.map +1 -0
  15. package/dist/chunk-AV2OU3PU.js +108 -0
  16. package/dist/chunk-AV2OU3PU.js.map +1 -0
  17. package/dist/chunk-B5XWZ3ZE.js +150 -0
  18. package/dist/chunk-B5XWZ3ZE.js.map +1 -0
  19. package/dist/chunk-CDYRVFSO.js +150 -0
  20. package/dist/chunk-CDYRVFSO.js.map +1 -0
  21. package/dist/chunk-EP4RVV4C.js +3629 -0
  22. package/dist/chunk-EP4RVV4C.js.map +1 -0
  23. package/dist/chunk-EVMUOMAM.js +412 -0
  24. package/dist/chunk-EVMUOMAM.js.map +1 -0
  25. package/dist/chunk-EYT54RGS.js +63 -0
  26. package/dist/chunk-EYT54RGS.js.map +1 -0
  27. package/dist/chunk-FMHO65DC.js +105 -0
  28. package/dist/chunk-FMHO65DC.js.map +1 -0
  29. package/dist/chunk-H6W3LPDS.js +2324 -0
  30. package/dist/chunk-H6W3LPDS.js.map +1 -0
  31. package/dist/chunk-HC2D4STF.js +69 -0
  32. package/dist/chunk-HC2D4STF.js.map +1 -0
  33. package/dist/chunk-IV4QQOMI.js +416 -0
  34. package/dist/chunk-IV4QQOMI.js.map +1 -0
  35. package/dist/chunk-IWECTQOD.js +212 -0
  36. package/dist/chunk-IWECTQOD.js.map +1 -0
  37. package/dist/chunk-JQUV4NMR.js +416 -0
  38. package/dist/chunk-JQUV4NMR.js.map +1 -0
  39. package/dist/chunk-KAGEJPGK.js +416 -0
  40. package/dist/chunk-KAGEJPGK.js.map +1 -0
  41. package/dist/chunk-KCPSCEXG.js +69 -0
  42. package/dist/chunk-KCPSCEXG.js.map +1 -0
  43. package/dist/chunk-KKR2JERD.js +284 -0
  44. package/dist/chunk-KKR2JERD.js.map +1 -0
  45. package/dist/chunk-LQXAMTBE.js +69 -0
  46. package/dist/chunk-LQXAMTBE.js.map +1 -0
  47. package/dist/chunk-M43SICPO.js +63 -0
  48. package/dist/chunk-M43SICPO.js.map +1 -0
  49. package/dist/chunk-M6MXSMYM.js +284 -0
  50. package/dist/chunk-M6MXSMYM.js.map +1 -0
  51. package/dist/chunk-MIAX5LP5.js +141 -0
  52. package/dist/chunk-MIAX5LP5.js.map +1 -0
  53. package/dist/chunk-N5TMLKGL.js +141 -0
  54. package/dist/chunk-N5TMLKGL.js.map +1 -0
  55. package/dist/chunk-NIYCXPXR.js +108 -0
  56. package/dist/chunk-NIYCXPXR.js.map +1 -0
  57. package/dist/chunk-O474QMUU.js +105 -0
  58. package/dist/chunk-O474QMUU.js.map +1 -0
  59. package/dist/chunk-OF33MONA.js +69 -0
  60. package/dist/chunk-OF33MONA.js.map +1 -0
  61. package/dist/chunk-PLU4IMEZ.js +130 -0
  62. package/dist/chunk-PLU4IMEZ.js.map +1 -0
  63. package/dist/chunk-RB2U3Y7F.js +49 -0
  64. package/dist/chunk-RB2U3Y7F.js.map +1 -0
  65. package/dist/chunk-RVVVAX7C.js +796 -0
  66. package/dist/chunk-RVVVAX7C.js.map +1 -0
  67. package/dist/chunk-TAJNIINB.js +69 -0
  68. package/dist/chunk-TAJNIINB.js.map +1 -0
  69. package/dist/chunk-VLDX5EPR.js +69 -0
  70. package/dist/chunk-VLDX5EPR.js.map +1 -0
  71. package/dist/chunk-VUULJBTQ.js +796 -0
  72. package/dist/chunk-VUULJBTQ.js.map +1 -0
  73. package/dist/chunk-VY6BUAPS.js +49 -0
  74. package/dist/chunk-VY6BUAPS.js.map +1 -0
  75. package/dist/chunk-XGOIDR7R.js +416 -0
  76. package/dist/chunk-XGOIDR7R.js.map +1 -0
  77. package/dist/chunk-XMBEB34D.js +69 -0
  78. package/dist/chunk-XMBEB34D.js.map +1 -0
  79. package/dist/chunk-XMWQQ4A6.js +414 -0
  80. package/dist/chunk-XMWQQ4A6.js.map +1 -0
  81. package/dist/chunk-Z6EYKGBH.js +286 -0
  82. package/dist/chunk-Z6EYKGBH.js.map +1 -0
  83. package/dist/chunk-ZKNMJZ5R.js +2324 -0
  84. package/dist/chunk-ZKNMJZ5R.js.map +1 -0
  85. package/dist/components/AddressContainer/CoreAddressContainer.js +10 -10
  86. package/dist/components/AddressContainer/EVMAddressContainer.js +9 -9
  87. package/dist/components/AddressContainer/addressSwitcher.js +7 -7
  88. package/dist/components/AddressContainer/addressView.js +6 -6
  89. package/dist/components/AddressContainer/label.js +4 -4
  90. package/dist/components/Age/index.js +4 -4
  91. package/dist/components/Charts/ChartOptions.js +2 -2
  92. package/dist/components/Charts/PreviewChartTemplate.js +6 -4
  93. package/dist/components/Charts/PreviewChartTemplate.js.map +1 -1
  94. package/dist/components/Charts/StockChartTemplate.js +7 -5
  95. package/dist/components/Charts/StockChartTemplate.js.map +1 -1
  96. package/dist/components/Charts/config.d.ts +5 -4
  97. package/dist/components/Charts/config.js +3 -1
  98. package/dist/components/CopyButton/index.js +3 -3
  99. package/dist/components/DownloadCSV/index.js +4 -4
  100. package/dist/components/GasPriceDropdown/index.js +2 -2
  101. package/dist/components/IncreasePercent/index.js +2 -2
  102. package/dist/components/InfoIconWithTooltip/index.js +3 -3
  103. package/dist/components/Modal/index.js +3 -3
  104. package/dist/components/NetworkIcon/index.js +2 -2
  105. package/dist/components/PhishingAddressContainer/index.js +4 -4
  106. package/dist/components/Price/index.js +3 -3
  107. package/dist/components/Radio/index.js +2 -2
  108. package/dist/components/Select/index.js +3 -3
  109. package/dist/components/Select/select.js +3 -3
  110. package/dist/components/Text/index.js +4 -4
  111. package/dist/components/Tooltip/index.js +3 -3
  112. package/dist/components/TransactionAction/coreTransactionAction.js +10 -10
  113. package/dist/components/TransactionAction/evmTransactionAction.js +9 -9
  114. package/dist/components/TransactionAction/evmTransactionAction.js.map +1 -1
  115. package/dist/utils/address.d.ts +1 -1
  116. package/dist/utils/address.js +2 -2
  117. package/dist/utils/contractManagerTool.js +2 -2
  118. package/dist/utils/hooks/useChartQueryParams.d.ts +18 -0
  119. package/dist/utils/hooks/useChartQueryParams.js +31 -0
  120. package/dist/utils/hooks/useChartQueryParams.js.map +1 -0
  121. package/dist/utils/hooks/useENS.js +3 -3
  122. package/dist/utils/index.js +2 -2
  123. package/dist/utils/request.d.ts +1 -1
  124. package/dist/utils/request.js +1 -1
  125. package/package.json +4 -4
@@ -0,0 +1,412 @@
1
+ // src/components/Charts/config.ts
2
+ import Highcharts from "highcharts/highstock";
3
+ var defaultLimit = "365";
4
+ var defaultIntervalType = "day";
5
+ var scope = {
6
+ min: [
7
+ {
8
+ label: "1h",
9
+ limit: 60
10
+ },
11
+ {
12
+ label: "2h",
13
+ limit: 120
14
+ },
15
+ {
16
+ label: "4h",
17
+ limit: 240
18
+ },
19
+ {
20
+ label: "6h",
21
+ limit: 360
22
+ },
23
+ {
24
+ label: "12h",
25
+ limit: 720
26
+ },
27
+ {
28
+ label: "24h",
29
+ limit: 1440
30
+ }
31
+ ],
32
+ hour: [
33
+ {
34
+ label: "1d",
35
+ limit: 24
36
+ },
37
+ {
38
+ label: "3d",
39
+ limit: 72
40
+ },
41
+ {
42
+ label: "7d",
43
+ limit: 168
44
+ },
45
+ {
46
+ label: "14d",
47
+ limit: 336
48
+ }
49
+ ],
50
+ day: [
51
+ {
52
+ label: "1w",
53
+ limit: 7
54
+ },
55
+ {
56
+ label: "1m",
57
+ limit: 30
58
+ },
59
+ {
60
+ label: "3m",
61
+ limit: 91
62
+ },
63
+ {
64
+ label: "6m",
65
+ limit: 182
66
+ },
67
+ {
68
+ label: "1y",
69
+ limit: 365
70
+ },
71
+ {
72
+ label: "All"
73
+ }
74
+ ],
75
+ month: [
76
+ {
77
+ label: "6m",
78
+ limit: 6
79
+ },
80
+ {
81
+ label: "1y",
82
+ limit: 12
83
+ },
84
+ {
85
+ label: "All"
86
+ }
87
+ ]
88
+ };
89
+ var ConstructorType = ({ options }) => {
90
+ if (options?.chart?.type === "pie") {
91
+ return "";
92
+ }
93
+ if (options?.chart?.type === "column") {
94
+ return "";
95
+ }
96
+ return "stockChart";
97
+ };
98
+ var LineChart = ({ options, request, data }) => {
99
+ const list = request.formatter(data);
100
+ return {
101
+ chart: {
102
+ alignTicks: false,
103
+ height: 600,
104
+ animation: false,
105
+ backgroundColor: null
106
+ },
107
+ credits: {
108
+ enabled: false
109
+ },
110
+ colors: [
111
+ "#7cb5ec",
112
+ "#434348",
113
+ "#f7a35c",
114
+ "#2b908f",
115
+ "#91e8e1",
116
+ "#90ed7d",
117
+ "#8085e9",
118
+ "#f15c80",
119
+ "#e4d354",
120
+ "#f45b5b"
121
+ ],
122
+ navigator: {
123
+ enabled: true
124
+ },
125
+ rangeSelector: {
126
+ enabled: true,
127
+ buttons: []
128
+ },
129
+ scrollbar: {
130
+ enabled: true
131
+ },
132
+ plotOptions: {
133
+ series: {
134
+ dataGrouping: {
135
+ enabled: false
136
+ // dateTimeLabelFormats: {
137
+ // week: ['%A, %b %e, %Y'],
138
+ // },
139
+ }
140
+ },
141
+ area: {
142
+ fillColor: {
143
+ linearGradient: {
144
+ x1: 0,
145
+ y1: 0,
146
+ x2: 0,
147
+ y2: 1
148
+ },
149
+ stops: [
150
+ // @ts-ignore
151
+ [0, Highcharts.getOptions().colors[0]],
152
+ [
153
+ 1,
154
+ // @ts-ignore
155
+ Highcharts.color(Highcharts.getOptions().colors[0]).setOpacity(0).get("rgba")
156
+ ]
157
+ ]
158
+ },
159
+ marker: {
160
+ radius: 2
161
+ },
162
+ lineWidth: 1,
163
+ states: {
164
+ hover: {
165
+ lineWidth: 1
166
+ }
167
+ },
168
+ threshold: null
169
+ },
170
+ line: {
171
+ lineWidth: 1,
172
+ states: {
173
+ hover: {
174
+ lineWidth: 1
175
+ }
176
+ }
177
+ }
178
+ },
179
+ legend: {
180
+ enabled: options.series.length > 1
181
+ },
182
+ tooltip: {
183
+ split: false,
184
+ useHTML: true,
185
+ headerFormat: `<table>
186
+ <tr>
187
+ <th colspan="2" style="font-weight: normal;">{point.key}</th>
188
+ </tr>
189
+ <tr style="border-bottom: 1px solid #ccc;">
190
+ <th style="padding-bottom: 5px;"></th>
191
+ </tr>
192
+ `,
193
+ pointFormat: `
194
+ <tr><td style="padding-top: 5px;"></td></tr>
195
+ <tr>
196
+ <td style="color: {series.color}; padding-right: 10px;">[ {series.name} ]</td>
197
+ <td style="text-align: right"><b>{point.y}</b></td>
198
+ </tr>`,
199
+ footerFormat: "</table>",
200
+ shape: "square",
201
+ shared: true
202
+ },
203
+ yAxis: {
204
+ opposite: false
205
+ },
206
+ series: options.series.map((_, i) => ({
207
+ data: list[i]
208
+ })),
209
+ exporting: {
210
+ enabled: true,
211
+ buttons: {
212
+ contextButton: {
213
+ menuItems: [
214
+ "viewFullscreen",
215
+ "printChart",
216
+ "separator",
217
+ "downloadPNG",
218
+ "downloadJPEG",
219
+ "downloadPDF",
220
+ "downloadSVG",
221
+ "downloadCSV",
222
+ "downloadXLS"
223
+ ]
224
+ }
225
+ }
226
+ }
227
+ };
228
+ };
229
+ var PieChart = ({ request, data }) => {
230
+ return {
231
+ chart: {
232
+ animation: false,
233
+ height: 600
234
+ },
235
+ credits: {
236
+ enabled: false
237
+ },
238
+ plotOptions: {
239
+ area: {
240
+ fillColor: {
241
+ linearGradient: {
242
+ x1: 0,
243
+ y1: 0,
244
+ x2: 0,
245
+ y2: 1
246
+ },
247
+ stops: [
248
+ // @ts-ignore
249
+ [0, Highcharts.getOptions().colors[0]],
250
+ [
251
+ 1,
252
+ // @ts-ignore
253
+ Highcharts.color(Highcharts.getOptions().colors[0]).setOpacity(0).get("rgba")
254
+ ]
255
+ ]
256
+ },
257
+ marker: {
258
+ radius: 2
259
+ },
260
+ lineWidth: 1,
261
+ states: {
262
+ hover: {
263
+ lineWidth: 1
264
+ }
265
+ },
266
+ threshold: null
267
+ },
268
+ line: {
269
+ lineWidth: 1,
270
+ states: {
271
+ hover: {
272
+ lineWidth: 1
273
+ }
274
+ }
275
+ },
276
+ pie: {
277
+ allowPointSelect: true,
278
+ cursor: "pointer",
279
+ dataLabels: {
280
+ enabled: false
281
+ },
282
+ showInLegend: true,
283
+ colorByPoint: true
284
+ }
285
+ },
286
+ tooltip: {
287
+ shape: "square"
288
+ },
289
+ series: [
290
+ {
291
+ data: request.formatter(data)
292
+ }
293
+ ],
294
+ exporting: {
295
+ enabled: true,
296
+ buttons: {
297
+ contextButton: {
298
+ menuItems: [
299
+ "printChart",
300
+ "separator",
301
+ "downloadPNG",
302
+ "downloadJPEG",
303
+ "downloadPDF",
304
+ "downloadSVG",
305
+ "downloadCSV",
306
+ "downloadXLS"
307
+ ]
308
+ }
309
+ }
310
+ }
311
+ };
312
+ };
313
+ var optsOrigin = ({ options, request, data }) => {
314
+ if (options.chart.type === "pie") {
315
+ return PieChart({ options, request, data });
316
+ }
317
+ if (options.chart.type === "column") {
318
+ return PieChart({ options, request, data });
319
+ }
320
+ return LineChart({ options, request, data });
321
+ };
322
+ var previewOpts = {
323
+ title: "",
324
+ subtitle: "",
325
+ chart: {
326
+ height: 240,
327
+ zoomType: ""
328
+ },
329
+ exporting: {
330
+ enabled: false
331
+ },
332
+ navigator: {
333
+ enabled: false
334
+ },
335
+ rangeSelector: {
336
+ enabled: false
337
+ },
338
+ scrollbar: {
339
+ enabled: false
340
+ }
341
+ };
342
+ var xAxisCustomLabelYear = {
343
+ labels: {
344
+ formatter: (data) => {
345
+ const date = new Date(data.value);
346
+ if (date.getMonth() === 0) {
347
+ return Highcharts.dateFormat("%Y", data.value);
348
+ } else {
349
+ return Highcharts.dateFormat("%e '%b", data.value);
350
+ }
351
+ }
352
+ }
353
+ };
354
+ var xAxisCustomLabelHour = {
355
+ labels: {
356
+ formatter: (data) => {
357
+ const date = new Date(data.value);
358
+ const intervalType = data.chart.options.intervalType.value;
359
+ if (intervalType === "min" || intervalType === "hour") {
360
+ if (date.getUTCHours() === 0 && date.getUTCMinutes() === 0) {
361
+ return Highcharts.dateFormat("%e '%b", data.value);
362
+ } else {
363
+ return Highcharts.dateFormat("%H:%M", data.value);
364
+ }
365
+ } else {
366
+ return Highcharts.dateFormat("%e '%b", data.value);
367
+ }
368
+ }
369
+ }
370
+ };
371
+ var tooltipCustomLabel = {
372
+ split: false,
373
+ useHTML: true,
374
+ formatter: (data) => {
375
+ const chart = data.chart;
376
+ const point = chart.hoverPoint;
377
+ const series = point.series;
378
+ const intervalType = chart.options.intervalType.value;
379
+ const timeRules = intervalType === "min" || intervalType === "hour" ? "%H:%M, %a %d, %b %Y (UTC)" : "%a %e, %b %Y (UTC)";
380
+ const header = Highcharts.dateFormat(timeRules, point.x);
381
+ let pointFormat = `<table>
382
+ <tr>
383
+ <th colspan="2" style="font-weight: normal;">${header}</th>
384
+ </tr>
385
+ <tr style="border-bottom: 1px solid #ccc;">
386
+ <th style="padding-bottom: 5px;"></th>
387
+ </tr>
388
+ <tr><td style="padding-top: 5px;"></td></tr>
389
+ <tr>
390
+ <td style="color: ${series.color}; padding-right: 10px;">[ ${series.name} ]</td>
391
+ <td style="text-align: right"><b>${point.y}</b></td>
392
+ </tr>
393
+ </table>
394
+ `;
395
+ return pointFormat;
396
+ },
397
+ shape: "square",
398
+ shared: true
399
+ };
400
+
401
+ export {
402
+ defaultLimit,
403
+ defaultIntervalType,
404
+ scope,
405
+ ConstructorType,
406
+ optsOrigin,
407
+ previewOpts,
408
+ xAxisCustomLabelYear,
409
+ xAxisCustomLabelHour,
410
+ tooltipCustomLabel
411
+ };
412
+ //# sourceMappingURL=chunk-EVMUOMAM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Charts/config.ts"],"sourcesContent":["import Highcharts from 'highcharts/highstock';\n\nexport const defaultLimit: string = '365';\nexport const defaultIntervalType: string = 'day';\n\nexport interface ChildProps {\n preview?: boolean;\n}\n\nexport interface ChartsProps {\n request: {\n url: string;\n query?: {\n limit?: string;\n intervalType?: string;\n };\n formatter: (data: any) => any;\n };\n options: any;\n data?: {\n list: any[];\n };\n}\n\nexport interface ScopeItemType {\n label: string;\n limit?: number;\n}\n\nexport interface ScopeType {\n min?: ScopeItemType[];\n hour?: ScopeItemType[];\n day: ScopeItemType[];\n month?: ScopeItemType[];\n}\nexport type onCombination = (\n type: keyof ScopeType,\n limit: string | undefined,\n) => void;\nexport type ChartOptionsProps = {\n intervalScope?: ScopeType;\n intervalType: keyof ScopeType;\n limit: string | undefined;\n onCombination: onCombination;\n};\n\nexport const scope: ScopeType = {\n min: [\n {\n label: '1h',\n limit: 60,\n },\n {\n label: '2h',\n limit: 120,\n },\n {\n label: '4h',\n limit: 240,\n },\n {\n label: '6h',\n limit: 360,\n },\n {\n label: '12h',\n limit: 720,\n },\n {\n label: '24h',\n limit: 1440,\n },\n ],\n hour: [\n {\n label: '1d',\n limit: 24,\n },\n {\n label: '3d',\n limit: 72,\n },\n {\n label: '7d',\n limit: 168,\n },\n {\n label: '14d',\n limit: 336,\n },\n ],\n day: [\n {\n label: '1w',\n limit: 7,\n },\n {\n label: '1m',\n limit: 30,\n },\n {\n label: '3m',\n limit: 91,\n },\n {\n label: '6m',\n limit: 182,\n },\n {\n label: '1y',\n limit: 365,\n },\n {\n label: 'All',\n },\n ],\n month: [\n {\n label: '6m',\n limit: 6,\n },\n {\n label: '1y',\n limit: 12,\n },\n {\n label: 'All',\n },\n ],\n};\nexport const ConstructorType = ({ options }: ChartsProps) => {\n if (options?.chart?.type === 'pie') {\n return '';\n }\n if (options?.chart?.type === 'column') {\n return '';\n }\n return 'stockChart';\n};\nconst LineChart = ({ options, request, data }: ChartsProps) => {\n const list = request.formatter(data);\n return {\n chart: {\n alignTicks: false,\n height: 600,\n animation: false,\n backgroundColor: null,\n },\n credits: {\n enabled: false,\n },\n colors: [\n '#7cb5ec',\n '#434348',\n '#f7a35c',\n '#2b908f',\n '#91e8e1',\n '#90ed7d',\n '#8085e9',\n '#f15c80',\n '#e4d354',\n '#f45b5b',\n ],\n navigator: {\n enabled: true,\n },\n rangeSelector: {\n enabled: true,\n buttons: [],\n },\n scrollbar: {\n enabled: true,\n },\n plotOptions: {\n series: {\n dataGrouping: {\n enabled: false,\n // dateTimeLabelFormats: {\n // week: ['%A, %b %e, %Y'],\n // },\n },\n },\n area: {\n fillColor: {\n linearGradient: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: 1,\n },\n stops: [\n // @ts-ignore\n [0, Highcharts.getOptions().colors[0]],\n [\n 1,\n // @ts-ignore\n Highcharts.color(Highcharts.getOptions().colors[0])\n .setOpacity(0)\n .get('rgba'),\n ],\n ],\n },\n marker: {\n radius: 2,\n },\n lineWidth: 1,\n states: {\n hover: {\n lineWidth: 1,\n },\n },\n threshold: null,\n },\n line: {\n lineWidth: 1,\n states: {\n hover: {\n lineWidth: 1,\n },\n },\n },\n },\n legend: {\n enabled: options.series.length > 1,\n },\n tooltip: {\n split: false,\n useHTML: true,\n headerFormat: `<table>\n <tr>\n <th colspan=\"2\" style=\"font-weight: normal;\">{point.key}</th>\n </tr>\n <tr style=\"border-bottom: 1px solid #ccc;\">\n <th style=\"padding-bottom: 5px;\"></th>\n </tr>\n `,\n pointFormat: `\n <tr><td style=\"padding-top: 5px;\"></td></tr>\n <tr>\n <td style=\"color: {series.color}; padding-right: 10px;\">[ {series.name} ]</td>\n <td style=\"text-align: right\"><b>{point.y}</b></td> \n </tr>`,\n footerFormat: '</table>',\n shape: 'square',\n shared: true,\n },\n yAxis: {\n opposite: false,\n },\n series: options.series.map((_: any, i: number) => ({\n data: list[i],\n })),\n exporting: {\n enabled: true,\n buttons: {\n contextButton: {\n menuItems: [\n 'viewFullscreen',\n 'printChart',\n 'separator',\n 'downloadPNG',\n 'downloadJPEG',\n 'downloadPDF',\n 'downloadSVG',\n 'downloadCSV',\n 'downloadXLS',\n ],\n },\n },\n },\n };\n};\nconst PieChart = ({ request, data }: ChartsProps) => {\n return {\n chart: {\n animation: false,\n height: 600,\n },\n credits: {\n enabled: false,\n },\n plotOptions: {\n area: {\n fillColor: {\n linearGradient: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: 1,\n },\n stops: [\n // @ts-ignore\n [0, Highcharts.getOptions().colors[0]],\n [\n 1,\n // @ts-ignore\n Highcharts.color(Highcharts.getOptions().colors[0])\n .setOpacity(0)\n .get('rgba'),\n ],\n ],\n },\n marker: {\n radius: 2,\n },\n lineWidth: 1,\n states: {\n hover: {\n lineWidth: 1,\n },\n },\n threshold: null,\n },\n line: {\n lineWidth: 1,\n states: {\n hover: {\n lineWidth: 1,\n },\n },\n },\n pie: {\n allowPointSelect: true,\n cursor: 'pointer',\n dataLabels: {\n enabled: false,\n },\n showInLegend: true,\n colorByPoint: true,\n },\n },\n tooltip: {\n shape: 'square',\n },\n series: [\n {\n data: request.formatter(data),\n },\n ],\n exporting: {\n enabled: true,\n buttons: {\n contextButton: {\n menuItems: [\n 'printChart',\n 'separator',\n 'downloadPNG',\n 'downloadJPEG',\n 'downloadPDF',\n 'downloadSVG',\n 'downloadCSV',\n 'downloadXLS',\n ],\n },\n },\n },\n };\n};\n\nexport const optsOrigin = ({ options, request, data }: ChartsProps) => {\n if (options.chart.type === 'pie') {\n return PieChart({ options, request, data });\n }\n if (options.chart.type === 'column') {\n return PieChart({ options, request, data });\n }\n return LineChart({ options, request, data });\n};\nexport const previewOpts = {\n title: '',\n subtitle: '',\n chart: {\n height: 240,\n zoomType: '',\n },\n exporting: {\n enabled: false,\n },\n navigator: {\n enabled: false,\n },\n rangeSelector: {\n enabled: false,\n },\n scrollbar: {\n enabled: false,\n },\n};\n\nexport const xAxisCustomLabelYear = {\n labels: {\n formatter: (data: any) => {\n const date = new Date(data.value);\n if (date.getMonth() === 0) {\n return Highcharts.dateFormat('%Y', data.value);\n } else {\n return Highcharts.dateFormat(\"%e '%b\", data.value);\n }\n },\n },\n};\nexport const xAxisCustomLabelHour = {\n labels: {\n formatter: (data: any) => {\n const date = new Date(data.value);\n const intervalType = data.chart.options.intervalType.value;\n if (intervalType === 'min' || intervalType === 'hour') {\n if (date.getUTCHours() === 0 && date.getUTCMinutes() === 0) {\n return Highcharts.dateFormat(\"%e '%b\", data.value);\n } else {\n return Highcharts.dateFormat('%H:%M', data.value);\n }\n } else {\n return Highcharts.dateFormat(\"%e '%b\", data.value);\n }\n },\n },\n};\nexport const tooltipCustomLabel = {\n split: false,\n useHTML: true,\n formatter: (data: any) => {\n const chart = data.chart;\n const point = chart.hoverPoint;\n const series = point.series;\n const intervalType = chart.options.intervalType.value;\n\n const timeRules =\n intervalType === 'min' || intervalType === 'hour'\n ? '%H:%M, %a %d, %b %Y (UTC)'\n : '%a %e, %b %Y (UTC)';\n const header = Highcharts.dateFormat(timeRules, point.x);\n let pointFormat = `<table>\n <tr>\n <th colspan=\"2\" style=\"font-weight: normal;\">${header}</th>\n </tr>\n <tr style=\"border-bottom: 1px solid #ccc;\">\n <th style=\"padding-bottom: 5px;\"></th>\n </tr>\n <tr><td style=\"padding-top: 5px;\"></td></tr>\n <tr>\n <td style=\"color: ${series.color}; padding-right: 10px;\">[ ${series.name} ]</td>\n <td style=\"text-align: right\"><b>${point.y}</b></td> \n </tr>\n </table>\n `;\n return pointFormat;\n },\n\n shape: 'square',\n shared: true,\n};\n"],"mappings":"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","names":[]}
@@ -0,0 +1,63 @@
1
+ import {
2
+ isCoreMainOrTestAddress
3
+ } from "./chunk-KKR2JERD.js";
4
+ import {
5
+ apiPrefix
6
+ } from "./chunk-7RH7LJYB.js";
7
+ import {
8
+ sendRequestENSInfo
9
+ } from "./chunk-Z6EYKGBH.js";
10
+ import {
11
+ useENSStore
12
+ } from "./chunk-DQGLZCIG.js";
13
+
14
+ // src/utils/hooks/useENS.ts
15
+ import { useEffect } from "react";
16
+ import useSWR from "swr";
17
+ var ensUrl = (ens, value) => {
18
+ if (!value)
19
+ return null;
20
+ if (typeof value === "string" && ens[value])
21
+ return null;
22
+ let url = null;
23
+ if (typeof value === "string" && isCoreMainOrTestAddress(value)) {
24
+ url = `${apiPrefix}/ens/reverse/match?address=${value}`;
25
+ } else if (Array.isArray(value) && value.length) {
26
+ const validAddresses = value.filter(
27
+ (v) => typeof v === "string" && isCoreMainOrTestAddress(v) && !ens[v]
28
+ );
29
+ if (validAddresses.length === 0)
30
+ return null;
31
+ const baseUrl = `${apiPrefix}/ens/reverse/match?`;
32
+ const maxQueryLength = 1800 - baseUrl.length;
33
+ const query = validAddresses.reduce((acc, curr, index) => {
34
+ const newPart = `${index === 0 ? "" : "&"}address=${curr}`;
35
+ if (acc.length + newPart.length > maxQueryLength) {
36
+ return acc;
37
+ }
38
+ return acc + newPart;
39
+ }, "");
40
+ if (query) {
41
+ url = baseUrl + query;
42
+ }
43
+ }
44
+ return url;
45
+ };
46
+ var useENS = (address) => {
47
+ const { ens, setENS } = useENSStore();
48
+ const url = ensUrl(ens, address);
49
+ const { data } = useSWR(url, () => sendRequestENSInfo(url), {
50
+ revalidateOnFocus: false
51
+ });
52
+ useEffect(() => {
53
+ if (data) {
54
+ setENS(data);
55
+ }
56
+ }, [data]);
57
+ return { ens };
58
+ };
59
+
60
+ export {
61
+ useENS
62
+ };
63
+ //# sourceMappingURL=chunk-EYT54RGS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/hooks/useENS.ts"],"sourcesContent":["import { useEffect } from 'react';\nimport useSWR from 'swr';\nimport { sendRequestENSInfo } from 'src/utils/request';\nimport { useENSStore } from '../../store';\nimport { ENSType } from '../../store/types';\nimport { isCoreMainOrTestAddress } from '../address';\nimport { apiPrefix } from '../constants';\n\nconst ensUrl = (ens: ENSType, value: string | null | string[]) => {\n if (!value) return null;\n if (typeof value === 'string' && ens[value]) return null;\n\n let url = null;\n\n if (typeof value === 'string' && isCoreMainOrTestAddress(value)) {\n url = `${apiPrefix}/ens/reverse/match?address=${value}`;\n } else if (Array.isArray(value) && value.length) {\n const validAddresses = value.filter(\n v => typeof v === 'string' && isCoreMainOrTestAddress(v) && !ens[v],\n );\n if (validAddresses.length === 0) return null;\n\n const baseUrl = `${apiPrefix}/ens/reverse/match?`;\n const maxQueryLength = 1800 - baseUrl.length;\n\n const query = validAddresses.reduce((acc, curr, index) => {\n const newPart = `${index === 0 ? '' : '&'}address=${curr}`;\n if (acc.length + newPart.length > maxQueryLength) {\n return acc;\n }\n return acc + newPart;\n }, '');\n\n if (query) {\n url = baseUrl + query;\n }\n }\n\n return url;\n};\n\nexport const useENS = (address: string | null | string[]) => {\n const { ens, setENS } = useENSStore();\n\n const url = ensUrl(ens, address);\n\n const { data } = useSWR(url, () => sendRequestENSInfo(url), {\n revalidateOnFocus: false,\n });\n\n useEffect(() => {\n if (data) {\n setENS(data);\n }\n }, [data]);\n\n return { ens };\n};\n"],"mappings":";;;;;;;;;;;;;;AAAA,SAAS,iBAAiB;AAC1B,OAAO,YAAY;AAOnB,IAAM,SAAS,CAAC,KAAc,UAAoC;AAChE,MAAI,CAAC;AAAO,WAAO;AACnB,MAAI,OAAO,UAAU,YAAY,IAAI,KAAK;AAAG,WAAO;AAEpD,MAAI,MAAM;AAEV,MAAI,OAAO,UAAU,YAAY,wBAAwB,KAAK,GAAG;AAC/D,UAAM,GAAG,uCAAuC;AAAA,EAClD,WAAW,MAAM,QAAQ,KAAK,KAAK,MAAM,QAAQ;AAC/C,UAAM,iBAAiB,MAAM;AAAA,MAC3B,OAAK,OAAO,MAAM,YAAY,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC;AAAA,IACpE;AACA,QAAI,eAAe,WAAW;AAAG,aAAO;AAExC,UAAM,UAAU,GAAG;AACnB,UAAM,iBAAiB,OAAO,QAAQ;AAEtC,UAAM,QAAQ,eAAe,OAAO,CAAC,KAAK,MAAM,UAAU;AACxD,YAAM,UAAU,GAAG,UAAU,IAAI,KAAK,cAAc;AACpD,UAAI,IAAI,SAAS,QAAQ,SAAS,gBAAgB;AAChD,eAAO;AAAA,MACT;AACA,aAAO,MAAM;AAAA,IACf,GAAG,EAAE;AAEL,QAAI,OAAO;AACT,YAAM,UAAU;AAAA,IAClB;AAAA,EACF;AAEA,SAAO;AACT;AAEO,IAAM,SAAS,CAAC,YAAsC;AAC3D,QAAM,EAAE,KAAK,OAAO,IAAI,YAAY;AAEpC,QAAM,MAAM,OAAO,KAAK,OAAO;AAE/B,QAAM,EAAE,KAAK,IAAI,OAAO,KAAK,MAAM,mBAAmB,GAAG,GAAG;AAAA,IAC1D,mBAAmB;AAAA,EACrB,CAAC;AAED,YAAU,MAAM;AACd,QAAI,MAAM;AACR,aAAO,IAAI;AAAA,IACb;AAAA,EACF,GAAG,CAAC,IAAI,CAAC;AAET,SAAO,EAAE,IAAI;AACf;","names":[]}
@@ -0,0 +1,105 @@
1
+ import {
2
+ useBreakpoint
3
+ } from "./chunk-TOKKKTFG.js";
4
+ import {
5
+ Tooltip
6
+ } from "./chunk-ZKNMJZ5R.js";
7
+ import {
8
+ selectText
9
+ } from "./chunk-VUULJBTQ.js";
10
+
11
+ // src/components/Text/index.tsx
12
+ import React from "react";
13
+ import clsx from "clsx";
14
+ import { jsx } from "react/jsx-runtime";
15
+ var getTypeColor = (type) => {
16
+ const colors = {
17
+ default: "inherit",
18
+ primary: "#7cd77b",
19
+ secondary: "#666",
20
+ success: "#7cd77b",
21
+ warning: "#ffc438",
22
+ error: "#e15c56"
23
+ };
24
+ return colors[type] || colors.default;
25
+ };
26
+ var Text = React.memo(
27
+ ({
28
+ className,
29
+ children,
30
+ maxWidth: _maxWidth,
31
+ mobileMaxWidth = _maxWidth,
32
+ maxCount: _maxCount,
33
+ mobileMaxCount = _maxCount,
34
+ hoverValue,
35
+ hoverValueMaxCount: outerHoverValueMaxCount,
36
+ tag = "p",
37
+ type = "default",
38
+ hideTooltip = false,
39
+ ...props
40
+ }) => {
41
+ const Component = tag;
42
+ const bp = useBreakpoint();
43
+ let child = children;
44
+ const maxCount = bp === "s" ? mobileMaxCount : _maxCount;
45
+ const maxWidth = bp === "s" ? mobileMaxWidth : _maxWidth;
46
+ if (maxWidth === void 0 && maxCount && typeof children === "string" && children.length > maxCount) {
47
+ child = String.prototype.substr.call(children, 0, maxCount) + "...";
48
+ }
49
+ let textContent = hoverValue || children;
50
+ if (bp === "s" && typeof textContent === "string") {
51
+ const hoverValueMaxCount = outerHoverValueMaxCount || 34;
52
+ let textContentCopy = textContent;
53
+ let newTextContent = [];
54
+ let count = 0;
55
+ while (textContentCopy.length > hoverValueMaxCount) {
56
+ newTextContent.push(
57
+ /* @__PURE__ */ jsx("span", { children: textContentCopy.substr(0, hoverValueMaxCount) }, count)
58
+ );
59
+ newTextContent.push(/* @__PURE__ */ jsx("br", {}, `br${count}`));
60
+ textContentCopy = textContentCopy.substr(hoverValueMaxCount);
61
+ if (count > 3) {
62
+ textContentCopy = textContentCopy.substr(0, hoverValueMaxCount - 3) + "...";
63
+ }
64
+ }
65
+ newTextContent.push(/* @__PURE__ */ jsx("span", { children: textContentCopy }, ++count));
66
+ textContent = newTextContent;
67
+ }
68
+ const tooltipText = !hideTooltip && React.createElement(
69
+ "div",
70
+ {
71
+ onClick: (e) => {
72
+ e.preventDefault();
73
+ e.stopPropagation();
74
+ selectText(e.currentTarget);
75
+ }
76
+ },
77
+ textContent
78
+ );
79
+ const p = { title: tooltipText };
80
+ return React.createElement(Tooltip, p, [
81
+ /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(
82
+ Component,
83
+ {
84
+ className: clsx(
85
+ "sirius-text truncate vertical-bottom",
86
+ "all-[a]:truncate all-[a]:vertical-bottom all-[a]:cursor-pointer all-[a:hover]:text-#0626ae",
87
+ className
88
+ ),
89
+ style: {
90
+ maxWidth,
91
+ display: maxWidth === void 0 ? "inherit" : "inline-block",
92
+ color: getTypeColor(type)
93
+ },
94
+ ...props,
95
+ children: child
96
+ }
97
+ ) }, "text")
98
+ ]);
99
+ }
100
+ );
101
+
102
+ export {
103
+ Text
104
+ };
105
+ //# sourceMappingURL=chunk-FMHO65DC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Text/index.tsx"],"sourcesContent":["import React from 'react';\nimport clsx from 'clsx';\nimport { Tooltip } from '../Tooltip';\nimport { selectText } from '../../utils';\nimport { useBreakpoint } from '../../utils/media';\n\ntype NormalTypes =\n | 'default'\n | 'secondary'\n | 'success'\n | 'warning'\n | 'error'\n | 'primary';\n\ntype TextProps = {\n children?: React.ReactNode;\n maxWidth?: string;\n mobileMaxWidth?: string;\n maxCount?: number;\n mobileMaxCount?: number;\n hoverValue?: React.ReactNode;\n hoverValueMaxCount?: number;\n tag?: 'p' | 'span';\n type?: NormalTypes;\n hideTooltip?: boolean;\n};\ntype NativeAttrs = Omit<React.HTMLAttributes<any>, keyof TextProps>;\n\nconst getTypeColor = (type: NormalTypes) => {\n const colors: { [key in NormalTypes]: string } = {\n default: 'inherit',\n primary: '#7cd77b',\n secondary: '#666',\n success: '#7cd77b',\n warning: '#ffc438',\n error: '#e15c56',\n };\n\n return colors[type] || colors.default;\n};\n\n// note:\n// 1. maxWidth priority is higher than maxCount\n// 2. maxCount only apply to string\n// 3. if hoverValue is provided, use hoverValue as Tooltip text, otherwise use children\n// if text of prop tooltip is provided, use as Tooltip text\nexport const Text = React.memo(\n ({\n className,\n children,\n maxWidth: _maxWidth,\n mobileMaxWidth = _maxWidth,\n maxCount: _maxCount,\n mobileMaxCount = _maxCount,\n hoverValue,\n hoverValueMaxCount: outerHoverValueMaxCount,\n tag = 'p',\n type = 'default',\n hideTooltip = false,\n ...props\n }: NativeAttrs & TextProps) => {\n const Component = tag;\n const bp = useBreakpoint();\n let child: React.ReactNode = children;\n const maxCount = bp === 's' ? mobileMaxCount : _maxCount;\n const maxWidth = bp === 's' ? mobileMaxWidth : _maxWidth;\n if (\n maxWidth === undefined &&\n maxCount &&\n typeof children === 'string' &&\n children.length > maxCount\n ) {\n child = String.prototype.substr.call(children, 0, maxCount) + '...';\n }\n\n let textContent = hoverValue || children;\n // 控制移动端字符串类型 tooltip 的长度\n // 这里有个问题,就是截断的位置可能是一个完整的单词,暂时没有办法处理,如果为了避免这种情况,需要由外面传入前对内容进行处理,比如设置固定宽度小于 24rem\n // @todo 后续可以试下读取文本长度,动态设置容器宽度值的方式,可以避免截断位置的问题\n if (bp === 's' && typeof textContent === 'string') {\n const hoverValueMaxCount = outerHoverValueMaxCount || 34; // default text count is 36\n let textContentCopy: string = textContent;\n let newTextContent: Array<React.ReactNode> = [];\n let count = 0;\n while (textContentCopy.length > hoverValueMaxCount) {\n newTextContent.push(\n <span key={count}>\n {textContentCopy.substr(0, hoverValueMaxCount)}\n </span>,\n );\n newTextContent.push(<br key={`br${count}`} />);\n textContentCopy = textContentCopy.substr(hoverValueMaxCount);\n // 防止文本过长的情况\n if (count > 3) {\n textContentCopy =\n textContentCopy.substr(0, hoverValueMaxCount - 3) + '...';\n }\n }\n newTextContent.push(<span key={++count}>{textContentCopy}</span>);\n textContent = newTextContent;\n }\n const tooltipText =\n !hideTooltip &&\n React.createElement(\n 'div',\n {\n onClick: e => {\n e.preventDefault();\n e.stopPropagation();\n selectText(e.currentTarget);\n },\n },\n textContent,\n );\n\n const p = { title: tooltipText };\n return React.createElement(Tooltip, p, [\n <span key=\"text\">\n <Component\n className={clsx(\n 'sirius-text truncate vertical-bottom',\n 'all-[a]:truncate all-[a]:vertical-bottom all-[a]:cursor-pointer all-[a:hover]:text-#0626ae',\n className,\n )}\n style={{\n maxWidth,\n display: maxWidth === undefined ? 'inherit' : 'inline-block',\n color: getTypeColor(type),\n }}\n {...props}\n >\n {child}\n </Component>\n </span>,\n ]);\n },\n);\n"],"mappings":";;;;;;;;;;;AAAA,OAAO,WAAW;AAClB,OAAO,UAAU;AAqFP;AA1DV,IAAM,eAAe,CAAC,SAAsB;AAC1C,QAAM,SAA2C;AAAA,IAC/C,SAAS;AAAA,IACT,SAAS;AAAA,IACT,WAAW;AAAA,IACX,SAAS;AAAA,IACT,SAAS;AAAA,IACT,OAAO;AAAA,EACT;AAEA,SAAO,OAAO,IAAI,KAAK,OAAO;AAChC;AAOO,IAAM,OAAO,MAAM;AAAA,EACxB,CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,iBAAiB;AAAA,IACjB,UAAU;AAAA,IACV,iBAAiB;AAAA,IACjB;AAAA,IACA,oBAAoB;AAAA,IACpB,MAAM;AAAA,IACN,OAAO;AAAA,IACP,cAAc;AAAA,IACd,GAAG;AAAA,EACL,MAA+B;AAC7B,UAAM,YAAY;AAClB,UAAM,KAAK,cAAc;AACzB,QAAI,QAAyB;AAC7B,UAAM,WAAW,OAAO,MAAM,iBAAiB;AAC/C,UAAM,WAAW,OAAO,MAAM,iBAAiB;AAC/C,QACE,aAAa,UACb,YACA,OAAO,aAAa,YACpB,SAAS,SAAS,UAClB;AACA,cAAQ,OAAO,UAAU,OAAO,KAAK,UAAU,GAAG,QAAQ,IAAI;AAAA,IAChE;AAEA,QAAI,cAAc,cAAc;AAIhC,QAAI,OAAO,OAAO,OAAO,gBAAgB,UAAU;AACjD,YAAM,qBAAqB,2BAA2B;AACtD,UAAI,kBAA0B;AAC9B,UAAI,iBAAyC,CAAC;AAC9C,UAAI,QAAQ;AACZ,aAAO,gBAAgB,SAAS,oBAAoB;AAClD,uBAAe;AAAA,UACb,oBAAC,UACE,0BAAgB,OAAO,GAAG,kBAAkB,KADpC,KAEX;AAAA,QACF;AACA,uBAAe,KAAK,oBAAC,UAAQ,KAAK,OAAS,CAAE;AAC7C,0BAAkB,gBAAgB,OAAO,kBAAkB;AAE3D,YAAI,QAAQ,GAAG;AACb,4BACE,gBAAgB,OAAO,GAAG,qBAAqB,CAAC,IAAI;AAAA,QACxD;AAAA,MACF;AACA,qBAAe,KAAK,oBAAC,UAAoB,6BAAV,EAAE,KAAwB,CAAO;AAChE,oBAAc;AAAA,IAChB;AACA,UAAM,cACJ,CAAC,eACD,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,QACE,SAAS,OAAK;AACZ,YAAE,eAAe;AACjB,YAAE,gBAAgB;AAClB,qBAAW,EAAE,aAAa;AAAA,QAC5B;AAAA,MACF;AAAA,MACA;AAAA,IACF;AAEF,UAAM,IAAI,EAAE,OAAO,YAAY;AAC/B,WAAO,MAAM,cAAc,SAAS,GAAG;AAAA,MACrC,oBAAC,UACC;AAAA,QAAC;AAAA;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,UACA,OAAO;AAAA,YACL;AAAA,YACA,SAAS,aAAa,SAAY,YAAY;AAAA,YAC9C,OAAO,aAAa,IAAI;AAAA,UAC1B;AAAA,UACC,GAAG;AAAA,UAEH;AAAA;AAAA,MACH,KAfQ,MAgBV;AAAA,IACF,CAAC;AAAA,EACH;AACF;","names":[]}