@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,69 @@
1
+ import {
2
+ scope
3
+ } from "./chunk-XGOIDR7R.js";
4
+ import {
5
+ useI18n
6
+ } from "./chunk-DQGLZCIG.js";
7
+
8
+ // src/components/Charts/ChartOptions.tsx
9
+ import { useTranslation } from "react-i18next";
10
+ import { jsx, jsxs } from "react/jsx-runtime";
11
+ var desiredOrder = ["min", "hour", "day", "week", "month", "year"];
12
+ var ChartOptions = ({
13
+ intervalScope,
14
+ intervalType,
15
+ limit,
16
+ onCombination
17
+ }) => {
18
+ const { t } = useTranslation();
19
+ const { translations } = useI18n();
20
+ const intervalScopeDefault = intervalScope || { day: scope.day };
21
+ const sortedIntervalScopeKeys = Object.keys(intervalScopeDefault).sort(
22
+ (a, b) => desiredOrder.indexOf(a) - desiredOrder.indexOf(b)
23
+ );
24
+ return /* @__PURE__ */ jsxs("div", { className: "flex relative z-2 top-[10px] mb-[20px] left-[40px] gap-[10px] flex-col chartsFilter:flex-row chartsFilter:gap-0", children: [
25
+ /* @__PURE__ */ jsxs("div", { className: "flex gap-[3px] mr-[20px]", children: [
26
+ /* @__PURE__ */ jsxs("div", { children: [
27
+ t(translations.highcharts.options.time),
28
+ ":"
29
+ ] }),
30
+ sortedIntervalScopeKeys.map((e, i) => {
31
+ const scopeItemArray = intervalScopeDefault[e];
32
+ const lastScopeItem = scopeItemArray?.[scopeItemArray.length - 1];
33
+ const lastItemLimit = lastScopeItem?.limit;
34
+ return /* @__PURE__ */ jsx(
35
+ "div",
36
+ {
37
+ className: `${intervalType === e ? "bg-[#E6EBF5]" : "bg-[#F7F7F7]"} w-fit px-[7px] py-[2px] rounded-[5px] text-[12px] cursor-pointer hover:bg-[#eee]`,
38
+ onClick: () => onCombination(e, lastItemLimit + ""),
39
+ children: e
40
+ },
41
+ "scopeKey" + i
42
+ );
43
+ })
44
+ ] }),
45
+ /* @__PURE__ */ jsxs("div", { className: "flex gap-[3px]", children: [
46
+ /* @__PURE__ */ jsxs("div", { children: [
47
+ t(translations.highcharts.options.range),
48
+ ":"
49
+ ] }),
50
+ intervalScopeDefault[intervalType]?.map(
51
+ (e, i) => /* @__PURE__ */ jsx(
52
+ "div",
53
+ {
54
+ onClick: () => onCombination(intervalType, e.limit + ""),
55
+ className: `${limit === e.limit + "" ? "bg-[#E6EBF5]" : "bg-[#F7F7F7]"} w-fit px-[7px] py-[2px] rounded-[5px] text-[12px] cursor-pointer hover:bg-[#eee]`,
56
+ children: e.label
57
+ },
58
+ "scopeLimit" + i
59
+ )
60
+ )
61
+ ] })
62
+ ] });
63
+ };
64
+ var ChartOptions_default = ChartOptions;
65
+
66
+ export {
67
+ ChartOptions_default
68
+ };
69
+ //# sourceMappingURL=chunk-XMBEB34D.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Charts/ChartOptions.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next';\nimport { useI18n } from '../../store';\nimport { ScopeItemType, ScopeType, ChartOptionsProps, scope } from './config';\n\nconst desiredOrder = ['min', 'hour', 'day', 'week', 'month', 'year'];\n\nconst ChartOptions = ({\n intervalScope,\n intervalType,\n limit,\n onCombination,\n}: ChartOptionsProps) => {\n const { t } = useTranslation();\n const { translations } = useI18n();\n const intervalScopeDefault = intervalScope || { day: scope.day };\n\n const sortedIntervalScopeKeys = Object.keys(intervalScopeDefault).sort(\n (a, b) => desiredOrder.indexOf(a) - desiredOrder.indexOf(b),\n );\n\n return (\n <div className=\"flex relative z-2 top-[10px] mb-[20px] left-[40px] gap-[10px] flex-col chartsFilter:flex-row chartsFilter:gap-0\">\n <div className=\"flex gap-[3px] mr-[20px]\">\n <div>{t(translations.highcharts.options.time)}:</div>\n {sortedIntervalScopeKeys.map((e, i) => {\n const scopeItemArray = intervalScopeDefault[e as keyof ScopeType];\n const lastScopeItem = scopeItemArray?.[scopeItemArray.length - 1];\n const lastItemLimit = lastScopeItem?.limit;\n\n return (\n <div\n className={`${intervalType === e ? 'bg-[#E6EBF5]' : 'bg-[#F7F7F7]'} w-fit px-[7px] py-[2px] rounded-[5px] text-[12px] cursor-pointer hover:bg-[#eee]`}\n key={'scopeKey' + i}\n onClick={() =>\n onCombination(e as keyof ScopeType, lastItemLimit + '')\n }\n >\n {e}\n </div>\n );\n })}\n </div>\n <div className=\"flex gap-[3px]\">\n <div>{t(translations.highcharts.options.range)}:</div>\n {intervalScopeDefault[intervalType]?.map(\n (e: ScopeItemType, i: number) => (\n <div\n key={'scopeLimit' + i}\n onClick={() => onCombination(intervalType, e.limit + '')}\n className={`${limit === e.limit + '' ? 'bg-[#E6EBF5]' : 'bg-[#F7F7F7]'} w-fit px-[7px] py-[2px] rounded-[5px] text-[12px] cursor-pointer hover:bg-[#eee]`}\n >\n {e.label}\n </div>\n ),\n )}\n </div>\n </div>\n );\n};\n\nexport default ChartOptions;\n"],"mappings":";;;;;;;;AAAA,SAAS,sBAAsB;AAuBvB,SAOI,KAPJ;AAnBR,IAAM,eAAe,CAAC,OAAO,QAAQ,OAAO,QAAQ,SAAS,MAAM;AAEnE,IAAM,eAAe,CAAC;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAyB;AACvB,QAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,QAAM,EAAE,aAAa,IAAI,QAAQ;AACjC,QAAM,uBAAuB,iBAAiB,EAAE,KAAK,MAAM,IAAI;AAE/D,QAAM,0BAA0B,OAAO,KAAK,oBAAoB,EAAE;AAAA,IAChE,CAAC,GAAG,MAAM,aAAa,QAAQ,CAAC,IAAI,aAAa,QAAQ,CAAC;AAAA,EAC5D;AAEA,SACE,qBAAC,SAAI,WAAU,mHACb;AAAA,yBAAC,SAAI,WAAU,4BACb;AAAA,2BAAC,SAAK;AAAA,UAAE,aAAa,WAAW,QAAQ,IAAI;AAAA,QAAE;AAAA,SAAC;AAAA,MAC9C,wBAAwB,IAAI,CAAC,GAAG,MAAM;AACrC,cAAM,iBAAiB,qBAAqB,CAAoB;AAChE,cAAM,gBAAgB,iBAAiB,eAAe,SAAS,CAAC;AAChE,cAAM,gBAAgB,eAAe;AAErC,eACE;AAAA,UAAC;AAAA;AAAA,YACC,WAAW,GAAG,iBAAiB,IAAI,iBAAiB;AAAA,YAEpD,SAAS,MACP,cAAc,GAAsB,gBAAgB,EAAE;AAAA,YAGvD;AAAA;AAAA,UALI,aAAa;AAAA,QAMpB;AAAA,MAEJ,CAAC;AAAA,OACH;AAAA,IACA,qBAAC,SAAI,WAAU,kBACb;AAAA,2BAAC,SAAK;AAAA,UAAE,aAAa,WAAW,QAAQ,KAAK;AAAA,QAAE;AAAA,SAAC;AAAA,MAC/C,qBAAqB,YAAY,GAAG;AAAA,QACnC,CAAC,GAAkB,MACjB;AAAA,UAAC;AAAA;AAAA,YAEC,SAAS,MAAM,cAAc,cAAc,EAAE,QAAQ,EAAE;AAAA,YACvD,WAAW,GAAG,UAAU,EAAE,QAAQ,KAAK,iBAAiB;AAAA,YAEvD,YAAE;AAAA;AAAA,UAJE,eAAe;AAAA,QAKtB;AAAA,MAEJ;AAAA,OACF;AAAA,KACF;AAEJ;AAEA,IAAO,uBAAQ;","names":[]}
@@ -0,0 +1,414 @@
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
+ limit: 3700
74
+ }
75
+ ],
76
+ month: [
77
+ {
78
+ label: "6m",
79
+ limit: 6
80
+ },
81
+ {
82
+ label: "1y",
83
+ limit: 12
84
+ },
85
+ {
86
+ label: "All",
87
+ limit: 3700
88
+ }
89
+ ]
90
+ };
91
+ var ConstructorType = ({ options }) => {
92
+ if (options?.chart?.type === "pie") {
93
+ return "";
94
+ }
95
+ if (options?.chart?.type === "column") {
96
+ return "";
97
+ }
98
+ return "stockChart";
99
+ };
100
+ var LineChart = ({ options, request, data }) => {
101
+ const list = request.formatter(data);
102
+ return {
103
+ chart: {
104
+ alignTicks: false,
105
+ height: 600,
106
+ animation: false,
107
+ backgroundColor: null
108
+ },
109
+ credits: {
110
+ enabled: false
111
+ },
112
+ colors: [
113
+ "#7cb5ec",
114
+ "#434348",
115
+ "#f7a35c",
116
+ "#2b908f",
117
+ "#91e8e1",
118
+ "#90ed7d",
119
+ "#8085e9",
120
+ "#f15c80",
121
+ "#e4d354",
122
+ "#f45b5b"
123
+ ],
124
+ navigator: {
125
+ enabled: true
126
+ },
127
+ rangeSelector: {
128
+ enabled: true,
129
+ buttons: []
130
+ },
131
+ scrollbar: {
132
+ enabled: true
133
+ },
134
+ plotOptions: {
135
+ series: {
136
+ dataGrouping: {
137
+ enabled: false
138
+ // dateTimeLabelFormats: {
139
+ // week: ['%A, %b %e, %Y'],
140
+ // },
141
+ }
142
+ },
143
+ area: {
144
+ fillColor: {
145
+ linearGradient: {
146
+ x1: 0,
147
+ y1: 0,
148
+ x2: 0,
149
+ y2: 1
150
+ },
151
+ stops: [
152
+ // @ts-ignore
153
+ [0, Highcharts.getOptions().colors[0]],
154
+ [
155
+ 1,
156
+ // @ts-ignore
157
+ Highcharts.color(Highcharts.getOptions().colors[0]).setOpacity(0).get("rgba")
158
+ ]
159
+ ]
160
+ },
161
+ marker: {
162
+ radius: 2
163
+ },
164
+ lineWidth: 1,
165
+ states: {
166
+ hover: {
167
+ lineWidth: 1
168
+ }
169
+ },
170
+ threshold: null
171
+ },
172
+ line: {
173
+ lineWidth: 1,
174
+ states: {
175
+ hover: {
176
+ lineWidth: 1
177
+ }
178
+ }
179
+ }
180
+ },
181
+ legend: {
182
+ enabled: options.series.length > 1
183
+ },
184
+ tooltip: {
185
+ split: false,
186
+ useHTML: true,
187
+ headerFormat: `<table>
188
+ <tr>
189
+ <th colspan="2" style="font-weight: normal;">{point.key}</th>
190
+ </tr>
191
+ <tr style="border-bottom: 1px solid #ccc;">
192
+ <th style="padding-bottom: 5px;"></th>
193
+ </tr>
194
+ `,
195
+ pointFormat: `
196
+ <tr><td style="padding-top: 5px;"></td></tr>
197
+ <tr>
198
+ <td style="color: {series.color}; padding-right: 10px;">[ {series.name} ]</td>
199
+ <td style="text-align: right"><b>{point.y}</b></td>
200
+ </tr>`,
201
+ footerFormat: "</table>",
202
+ shape: "square",
203
+ shared: true
204
+ },
205
+ yAxis: {
206
+ opposite: false
207
+ },
208
+ series: options.series.map((_, i) => ({
209
+ data: list[i]
210
+ })),
211
+ exporting: {
212
+ enabled: true,
213
+ buttons: {
214
+ contextButton: {
215
+ menuItems: [
216
+ "viewFullscreen",
217
+ "printChart",
218
+ "separator",
219
+ "downloadPNG",
220
+ "downloadJPEG",
221
+ "downloadPDF",
222
+ "downloadSVG",
223
+ "downloadCSV",
224
+ "downloadXLS"
225
+ ]
226
+ }
227
+ }
228
+ }
229
+ };
230
+ };
231
+ var PieChart = ({ request, data }) => {
232
+ return {
233
+ chart: {
234
+ animation: false,
235
+ height: 600
236
+ },
237
+ credits: {
238
+ enabled: false
239
+ },
240
+ plotOptions: {
241
+ area: {
242
+ fillColor: {
243
+ linearGradient: {
244
+ x1: 0,
245
+ y1: 0,
246
+ x2: 0,
247
+ y2: 1
248
+ },
249
+ stops: [
250
+ // @ts-ignore
251
+ [0, Highcharts.getOptions().colors[0]],
252
+ [
253
+ 1,
254
+ // @ts-ignore
255
+ Highcharts.color(Highcharts.getOptions().colors[0]).setOpacity(0).get("rgba")
256
+ ]
257
+ ]
258
+ },
259
+ marker: {
260
+ radius: 2
261
+ },
262
+ lineWidth: 1,
263
+ states: {
264
+ hover: {
265
+ lineWidth: 1
266
+ }
267
+ },
268
+ threshold: null
269
+ },
270
+ line: {
271
+ lineWidth: 1,
272
+ states: {
273
+ hover: {
274
+ lineWidth: 1
275
+ }
276
+ }
277
+ },
278
+ pie: {
279
+ allowPointSelect: true,
280
+ cursor: "pointer",
281
+ dataLabels: {
282
+ enabled: false
283
+ },
284
+ showInLegend: true,
285
+ colorByPoint: true
286
+ }
287
+ },
288
+ tooltip: {
289
+ shape: "square"
290
+ },
291
+ series: [
292
+ {
293
+ data: request.formatter(data)
294
+ }
295
+ ],
296
+ exporting: {
297
+ enabled: true,
298
+ buttons: {
299
+ contextButton: {
300
+ menuItems: [
301
+ "printChart",
302
+ "separator",
303
+ "downloadPNG",
304
+ "downloadJPEG",
305
+ "downloadPDF",
306
+ "downloadSVG",
307
+ "downloadCSV",
308
+ "downloadXLS"
309
+ ]
310
+ }
311
+ }
312
+ }
313
+ };
314
+ };
315
+ var optsOrigin = ({ options, request, data }) => {
316
+ if (options.chart.type === "pie") {
317
+ return PieChart({ options, request, data });
318
+ }
319
+ if (options.chart.type === "column") {
320
+ return PieChart({ options, request, data });
321
+ }
322
+ return LineChart({ options, request, data });
323
+ };
324
+ var previewOpts = {
325
+ title: "",
326
+ subtitle: "",
327
+ chart: {
328
+ height: 240,
329
+ zoomType: ""
330
+ },
331
+ exporting: {
332
+ enabled: false
333
+ },
334
+ navigator: {
335
+ enabled: false
336
+ },
337
+ rangeSelector: {
338
+ enabled: false
339
+ },
340
+ scrollbar: {
341
+ enabled: false
342
+ }
343
+ };
344
+ var xAxisCustomLabelYear = {
345
+ labels: {
346
+ formatter: (data) => {
347
+ const date = new Date(data.value);
348
+ if (date.getMonth() === 0) {
349
+ return Highcharts.dateFormat("%Y", data.value);
350
+ } else {
351
+ return Highcharts.dateFormat("%e '%b", data.value);
352
+ }
353
+ }
354
+ }
355
+ };
356
+ var xAxisCustomLabelHour = {
357
+ labels: {
358
+ formatter: (data) => {
359
+ const date = new Date(data.value);
360
+ const intervalType = data.chart.options.intervalType.value;
361
+ if (intervalType === "min" || intervalType === "hour") {
362
+ if (date.getUTCHours() === 0 && date.getUTCMinutes() === 0) {
363
+ return Highcharts.dateFormat("%e '%b", data.value);
364
+ } else {
365
+ return Highcharts.dateFormat("%H:%M", data.value);
366
+ }
367
+ } else {
368
+ return Highcharts.dateFormat("%e '%b", data.value);
369
+ }
370
+ }
371
+ }
372
+ };
373
+ var tooltipCustomLabel = {
374
+ split: false,
375
+ useHTML: true,
376
+ formatter: (data) => {
377
+ const chart = data.chart;
378
+ const point = chart.hoverPoint;
379
+ const series = point.series;
380
+ const intervalType = chart.options.intervalType.value;
381
+ const timeRules = intervalType === "min" || intervalType === "hour" ? "%H:%M, %a %d, %b %Y (UTC)" : "%a %e, %b %Y (UTC)";
382
+ const header = Highcharts.dateFormat(timeRules, point.x);
383
+ let pointFormat = `<table>
384
+ <tr>
385
+ <th colspan="2" style="font-weight: normal;">${header}</th>
386
+ </tr>
387
+ <tr style="border-bottom: 1px solid #ccc;">
388
+ <th style="padding-bottom: 5px;"></th>
389
+ </tr>
390
+ <tr><td style="padding-top: 5px;"></td></tr>
391
+ <tr>
392
+ <td style="color: ${series.color}; padding-right: 10px;">[ ${series.name} ]</td>
393
+ <td style="text-align: right"><b>${point.y}</b></td>
394
+ </tr>
395
+ </table>
396
+ `;
397
+ return pointFormat;
398
+ },
399
+ shape: "square",
400
+ shared: true
401
+ };
402
+
403
+ export {
404
+ defaultLimit,
405
+ defaultIntervalType,
406
+ scope,
407
+ ConstructorType,
408
+ optsOrigin,
409
+ previewOpts,
410
+ xAxisCustomLabelYear,
411
+ xAxisCustomLabelHour,
412
+ tooltipCustomLabel
413
+ };
414
+ //# sourceMappingURL=chunk-XMWQQ4A6.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 limit: 3700,\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 limit: 3700,\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":[]}