@ktnpm_devops/react-component 0.18.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (362) hide show
  1. package/dist/data/LiveExplorerTable/LiveExplorerTable.d.ts.map +1 -1
  2. package/dist/data/LiveExplorerTable/LiveExplorerTable.types.d.ts +5 -0
  3. package/dist/data/LiveExplorerTable/LiveExplorerTable.types.d.ts.map +1 -1
  4. package/dist/index10.cjs +1 -1
  5. package/dist/index10.js +1 -1
  6. package/dist/index100.cjs +22 -28
  7. package/dist/index100.cjs.map +1 -1
  8. package/dist/index100.js +22 -28
  9. package/dist/index100.js.map +1 -1
  10. package/dist/index101.cjs +48 -22
  11. package/dist/index101.cjs.map +1 -1
  12. package/dist/index101.js +47 -21
  13. package/dist/index101.js.map +1 -1
  14. package/dist/index102.cjs +16 -34
  15. package/dist/index102.cjs.map +1 -1
  16. package/dist/index102.js +16 -34
  17. package/dist/index102.js.map +1 -1
  18. package/dist/index103.cjs +36 -43
  19. package/dist/index103.cjs.map +1 -1
  20. package/dist/index103.js +35 -42
  21. package/dist/index103.js.map +1 -1
  22. package/dist/index104.cjs +6 -24
  23. package/dist/index104.cjs.map +1 -1
  24. package/dist/index104.js +5 -23
  25. package/dist/index104.js.map +1 -1
  26. package/dist/index105.cjs +21 -39
  27. package/dist/index105.cjs.map +1 -1
  28. package/dist/index105.js +20 -38
  29. package/dist/index105.js.map +1 -1
  30. package/dist/index106.cjs +22 -9
  31. package/dist/index106.cjs.map +1 -1
  32. package/dist/index106.js +21 -8
  33. package/dist/index106.js.map +1 -1
  34. package/dist/index107.cjs +6 -10
  35. package/dist/index107.cjs.map +1 -1
  36. package/dist/index107.js +5 -9
  37. package/dist/index107.js.map +1 -1
  38. package/dist/index108.cjs +19 -20
  39. package/dist/index108.cjs.map +1 -1
  40. package/dist/index108.js +18 -19
  41. package/dist/index108.js.map +1 -1
  42. package/dist/index109.cjs +19 -14
  43. package/dist/index109.cjs.map +1 -1
  44. package/dist/index109.js +18 -13
  45. package/dist/index109.js.map +1 -1
  46. package/dist/index11.cjs +1 -1
  47. package/dist/index11.js +1 -1
  48. package/dist/index110.cjs +33 -10
  49. package/dist/index110.cjs.map +1 -1
  50. package/dist/index110.js +32 -9
  51. package/dist/index110.js.map +1 -1
  52. package/dist/index111.cjs +2 -65
  53. package/dist/index111.cjs.map +1 -1
  54. package/dist/index111.js +3 -66
  55. package/dist/index111.js.map +1 -1
  56. package/dist/index112.cjs +49 -46
  57. package/dist/index112.cjs.map +1 -1
  58. package/dist/index112.js +49 -46
  59. package/dist/index112.js.map +1 -1
  60. package/dist/index113.cjs +22 -21
  61. package/dist/index113.cjs.map +1 -1
  62. package/dist/index113.js +21 -20
  63. package/dist/index113.js.map +1 -1
  64. package/dist/index114.cjs +69 -6
  65. package/dist/index114.cjs.map +1 -1
  66. package/dist/index114.js +68 -5
  67. package/dist/index114.js.map +1 -1
  68. package/dist/index115.cjs +7 -47
  69. package/dist/index115.cjs.map +1 -1
  70. package/dist/index115.js +7 -47
  71. package/dist/index115.js.map +1 -1
  72. package/dist/index116.cjs +40 -18
  73. package/dist/index116.cjs.map +1 -1
  74. package/dist/index116.js +39 -17
  75. package/dist/index116.js.map +1 -1
  76. package/dist/index117.cjs +35 -36
  77. package/dist/index117.cjs.map +1 -1
  78. package/dist/index117.js +34 -35
  79. package/dist/index117.js.map +1 -1
  80. package/dist/index118.cjs +42 -21
  81. package/dist/index118.cjs.map +1 -1
  82. package/dist/index118.js +42 -21
  83. package/dist/index118.js.map +1 -1
  84. package/dist/index119.cjs +22 -67
  85. package/dist/index119.cjs.map +1 -1
  86. package/dist/index119.js +23 -68
  87. package/dist/index119.js.map +1 -1
  88. package/dist/index12.cjs +1 -1
  89. package/dist/index12.js +1 -1
  90. package/dist/index120.cjs +38 -6
  91. package/dist/index120.cjs.map +1 -1
  92. package/dist/index120.js +38 -6
  93. package/dist/index120.js.map +1 -1
  94. package/dist/index121.cjs +9 -40
  95. package/dist/index121.cjs.map +1 -1
  96. package/dist/index121.js +8 -39
  97. package/dist/index121.js.map +1 -1
  98. package/dist/index122.cjs +10 -42
  99. package/dist/index122.cjs.map +1 -1
  100. package/dist/index122.js +9 -41
  101. package/dist/index122.js.map +1 -1
  102. package/dist/index123.cjs +20 -7
  103. package/dist/index123.cjs.map +1 -1
  104. package/dist/index123.js +19 -6
  105. package/dist/index123.js.map +1 -1
  106. package/dist/index124.cjs +14 -58
  107. package/dist/index124.cjs.map +1 -1
  108. package/dist/index124.js +13 -57
  109. package/dist/index124.js.map +1 -1
  110. package/dist/index125.cjs +10 -57
  111. package/dist/index125.cjs.map +1 -1
  112. package/dist/index125.js +9 -56
  113. package/dist/index125.js.map +1 -1
  114. package/dist/index126.cjs +69 -39
  115. package/dist/index126.cjs.map +1 -1
  116. package/dist/index126.js +68 -38
  117. package/dist/index126.js.map +1 -1
  118. package/dist/index127.cjs +24 -92
  119. package/dist/index127.cjs.map +1 -1
  120. package/dist/index127.js +23 -91
  121. package/dist/index127.js.map +1 -1
  122. package/dist/index128.cjs +22 -34
  123. package/dist/index128.cjs.map +1 -1
  124. package/dist/index128.js +22 -34
  125. package/dist/index128.js.map +1 -1
  126. package/dist/index13.cjs +1 -1
  127. package/dist/index13.js +1 -1
  128. package/dist/index14.cjs +1 -1
  129. package/dist/index14.js +1 -1
  130. package/dist/index15.cjs +1 -1
  131. package/dist/index15.js +1 -1
  132. package/dist/index16.cjs +1 -1
  133. package/dist/index16.js +1 -1
  134. package/dist/index17.cjs +1 -1
  135. package/dist/index17.js +1 -1
  136. package/dist/index18.cjs +1 -1
  137. package/dist/index18.js +1 -1
  138. package/dist/index19.cjs +1 -1
  139. package/dist/index19.js +1 -1
  140. package/dist/index20.cjs +1 -1
  141. package/dist/index20.js +1 -1
  142. package/dist/index21.cjs +1 -1
  143. package/dist/index21.js +1 -1
  144. package/dist/index22.cjs +1 -1
  145. package/dist/index22.js +1 -1
  146. package/dist/index23.cjs +1 -1
  147. package/dist/index23.js +1 -1
  148. package/dist/index24.cjs +1 -1
  149. package/dist/index24.js +1 -1
  150. package/dist/index25.cjs +1 -1
  151. package/dist/index25.js +1 -1
  152. package/dist/index26.cjs +1 -1
  153. package/dist/index26.js +1 -1
  154. package/dist/index27.cjs +1 -1
  155. package/dist/index27.js +1 -1
  156. package/dist/index28.cjs +1 -1
  157. package/dist/index28.js +1 -1
  158. package/dist/index29.cjs +1 -1
  159. package/dist/index29.js +1 -1
  160. package/dist/index30.cjs +10 -10
  161. package/dist/index30.js +10 -10
  162. package/dist/index31.cjs +4 -4
  163. package/dist/index31.js +4 -4
  164. package/dist/index32.cjs +3 -3
  165. package/dist/index32.js +3 -3
  166. package/dist/index33.cjs +1 -1
  167. package/dist/index33.js +1 -1
  168. package/dist/index34.cjs +2 -1
  169. package/dist/index34.cjs.map +1 -1
  170. package/dist/index34.js +2 -1
  171. package/dist/index34.js.map +1 -1
  172. package/dist/index35.cjs +1 -1
  173. package/dist/index35.js +1 -1
  174. package/dist/index36.cjs +2 -2
  175. package/dist/index36.js +2 -2
  176. package/dist/index37.cjs +1 -1
  177. package/dist/index37.js +1 -1
  178. package/dist/index38.cjs +1 -1
  179. package/dist/index38.js +1 -1
  180. package/dist/index39.cjs +1 -1
  181. package/dist/index39.js +1 -1
  182. package/dist/index40.cjs +1 -1
  183. package/dist/index40.js +1 -1
  184. package/dist/index41.cjs +1 -1
  185. package/dist/index41.js +1 -1
  186. package/dist/index43.cjs +1 -1
  187. package/dist/index43.js +1 -1
  188. package/dist/index44.cjs +1 -1
  189. package/dist/index44.js +1 -1
  190. package/dist/index45.cjs +3 -3
  191. package/dist/index45.js +3 -3
  192. package/dist/index46.cjs +1 -1
  193. package/dist/index46.js +1 -1
  194. package/dist/index47.cjs +1 -1
  195. package/dist/index47.js +1 -1
  196. package/dist/index48.cjs +1 -1
  197. package/dist/index48.js +1 -1
  198. package/dist/index49.cjs +1 -1
  199. package/dist/index49.js +1 -1
  200. package/dist/index50.cjs +1 -1
  201. package/dist/index50.js +1 -1
  202. package/dist/index51.cjs +1 -1
  203. package/dist/index51.js +1 -1
  204. package/dist/index52.cjs +2 -2
  205. package/dist/index52.js +2 -2
  206. package/dist/index53.cjs +1 -1
  207. package/dist/index53.js +1 -1
  208. package/dist/index54.cjs +1 -1
  209. package/dist/index54.js +1 -1
  210. package/dist/index55.cjs +2 -2
  211. package/dist/index55.js +2 -2
  212. package/dist/index56.cjs +1 -1
  213. package/dist/index56.js +1 -1
  214. package/dist/index57.cjs +1 -1
  215. package/dist/index57.js +1 -1
  216. package/dist/index58.cjs +1 -1
  217. package/dist/index58.js +1 -1
  218. package/dist/index60.cjs +64 -19
  219. package/dist/index60.cjs.map +1 -1
  220. package/dist/index60.js +64 -19
  221. package/dist/index60.js.map +1 -1
  222. package/dist/index61.cjs +12 -15
  223. package/dist/index61.cjs.map +1 -1
  224. package/dist/index61.js +12 -15
  225. package/dist/index61.js.map +1 -1
  226. package/dist/index63.cjs +34 -22
  227. package/dist/index63.cjs.map +1 -1
  228. package/dist/index63.js +34 -22
  229. package/dist/index63.js.map +1 -1
  230. package/dist/index64.cjs +16 -13
  231. package/dist/index64.cjs.map +1 -1
  232. package/dist/index64.js +16 -13
  233. package/dist/index64.js.map +1 -1
  234. package/dist/index65.cjs +11 -2
  235. package/dist/index65.cjs.map +1 -1
  236. package/dist/index65.js +11 -2
  237. package/dist/index65.js.map +1 -1
  238. package/dist/index66.cjs +14 -8
  239. package/dist/index66.cjs.map +1 -1
  240. package/dist/index66.js +15 -9
  241. package/dist/index66.js.map +1 -1
  242. package/dist/index67.cjs +19 -22
  243. package/dist/index67.cjs.map +1 -1
  244. package/dist/index67.js +20 -23
  245. package/dist/index67.js.map +1 -1
  246. package/dist/index68.cjs +36 -6
  247. package/dist/index68.cjs.map +1 -1
  248. package/dist/index68.js +36 -6
  249. package/dist/index68.js.map +1 -1
  250. package/dist/index69.cjs +36 -12
  251. package/dist/index69.cjs.map +1 -1
  252. package/dist/index69.js +36 -12
  253. package/dist/index69.js.map +1 -1
  254. package/dist/index70.cjs +49 -16
  255. package/dist/index70.cjs.map +1 -1
  256. package/dist/index70.js +50 -17
  257. package/dist/index70.js.map +1 -1
  258. package/dist/index71.cjs +17 -17
  259. package/dist/index71.js +18 -18
  260. package/dist/index72.cjs +2 -20
  261. package/dist/index72.cjs.map +1 -1
  262. package/dist/index72.js +3 -21
  263. package/dist/index72.js.map +1 -1
  264. package/dist/index73.cjs +5 -11
  265. package/dist/index73.cjs.map +1 -1
  266. package/dist/index73.js +6 -12
  267. package/dist/index73.js.map +1 -1
  268. package/dist/index74.cjs +17 -2
  269. package/dist/index74.cjs.map +1 -1
  270. package/dist/index74.js +17 -2
  271. package/dist/index74.js.map +1 -1
  272. package/dist/index75.cjs +10 -19
  273. package/dist/index75.cjs.map +1 -1
  274. package/dist/index75.js +11 -20
  275. package/dist/index75.js.map +1 -1
  276. package/dist/index77.cjs +42 -24
  277. package/dist/index77.cjs.map +1 -1
  278. package/dist/index77.js +43 -25
  279. package/dist/index77.js.map +1 -1
  280. package/dist/index78.cjs +6 -17
  281. package/dist/index78.cjs.map +1 -1
  282. package/dist/index78.js +5 -16
  283. package/dist/index78.js.map +1 -1
  284. package/dist/index79.cjs +17 -6
  285. package/dist/index79.cjs.map +1 -1
  286. package/dist/index79.js +16 -5
  287. package/dist/index79.js.map +1 -1
  288. package/dist/index80.cjs +1 -1
  289. package/dist/index80.js +1 -1
  290. package/dist/index81.cjs +19 -64
  291. package/dist/index81.cjs.map +1 -1
  292. package/dist/index81.js +20 -65
  293. package/dist/index81.js.map +1 -1
  294. package/dist/index82.cjs +34 -46
  295. package/dist/index82.cjs.map +1 -1
  296. package/dist/index82.js +34 -46
  297. package/dist/index82.js.map +1 -1
  298. package/dist/index84.cjs +54 -30
  299. package/dist/index84.cjs.map +1 -1
  300. package/dist/index84.js +54 -30
  301. package/dist/index84.js.map +1 -1
  302. package/dist/index85.cjs +134 -40
  303. package/dist/index85.cjs.map +1 -1
  304. package/dist/index85.js +133 -39
  305. package/dist/index85.js.map +1 -1
  306. package/dist/index86.cjs +38 -32
  307. package/dist/index86.cjs.map +1 -1
  308. package/dist/index86.js +38 -32
  309. package/dist/index86.js.map +1 -1
  310. package/dist/index87.cjs +79 -13
  311. package/dist/index87.cjs.map +1 -1
  312. package/dist/index87.js +80 -14
  313. package/dist/index87.js.map +1 -1
  314. package/dist/index88.cjs +15 -18
  315. package/dist/index88.cjs.map +1 -1
  316. package/dist/index88.js +15 -18
  317. package/dist/index88.js.map +1 -1
  318. package/dist/index89.cjs +26 -14
  319. package/dist/index89.cjs.map +1 -1
  320. package/dist/index89.js +26 -14
  321. package/dist/index89.js.map +1 -1
  322. package/dist/index90.cjs +17 -8
  323. package/dist/index90.cjs.map +1 -1
  324. package/dist/index90.js +18 -9
  325. package/dist/index90.js.map +1 -1
  326. package/dist/index91.cjs +19 -116
  327. package/dist/index91.cjs.map +1 -1
  328. package/dist/index91.js +18 -115
  329. package/dist/index91.js.map +1 -1
  330. package/dist/index92.cjs +16 -25
  331. package/dist/index92.cjs.map +1 -1
  332. package/dist/index92.js +17 -26
  333. package/dist/index92.js.map +1 -1
  334. package/dist/index93.cjs +16 -34
  335. package/dist/index93.cjs.map +1 -1
  336. package/dist/index93.js +16 -34
  337. package/dist/index93.js.map +1 -1
  338. package/dist/index94.cjs +116 -22
  339. package/dist/index94.cjs.map +1 -1
  340. package/dist/index94.js +115 -21
  341. package/dist/index94.js.map +1 -1
  342. package/dist/index95.cjs +35 -77
  343. package/dist/index95.cjs.map +1 -1
  344. package/dist/index95.js +35 -77
  345. package/dist/index95.js.map +1 -1
  346. package/dist/index96.cjs +39 -9
  347. package/dist/index96.cjs.map +1 -1
  348. package/dist/index96.js +38 -8
  349. package/dist/index96.js.map +1 -1
  350. package/dist/index97.cjs +86 -127
  351. package/dist/index97.cjs.map +1 -1
  352. package/dist/index97.js +87 -128
  353. package/dist/index97.js.map +1 -1
  354. package/dist/index98.cjs +19 -25
  355. package/dist/index98.cjs.map +1 -1
  356. package/dist/index98.js +20 -26
  357. package/dist/index98.js.map +1 -1
  358. package/dist/index99.cjs +4 -19
  359. package/dist/index99.cjs.map +1 -1
  360. package/dist/index99.js +5 -20
  361. package/dist/index99.js.map +1 -1
  362. package/package.json +1 -1
package/dist/index84.js CHANGED
@@ -1,36 +1,60 @@
1
- const overlay = "krc-overlay-WWw5c";
2
- const modal = "krc-modal-ZLlQ4";
3
- const resizable = "krc-resizable-G8TND";
4
- const header = "krc-header-RFEXB";
5
- const title = "krc-title-FhVKX";
6
- const headerActions = "krc-headerActions-Qj5SG";
7
- const close = "krc-close-EQ-3d";
8
- const body = "krc-body-ZLPhV";
9
- const loading = "krc-loading-lxD8d";
10
- const resizeHandle = "krc-resizeHandle-Q0J-B";
1
+ const root = "krc-root--s1oD";
2
+ const trigger = "krc-trigger-WMlNa";
3
+ const active = "krc-active-O65lj";
4
+ const triggerContent = "krc-triggerContent-JipmE";
5
+ const chevron = "krc-chevron-J2Zsy";
6
+ const label = "krc-label-lZlV-";
7
+ const value = "krc-value-HsQrC";
8
+ const clear = "krc-clear-bsi5j";
9
+ const panel = "krc-panel--0odx";
10
+ const searchContainer = "krc-searchContainer-WRS-U";
11
+ const search = "krc-search-Dh3pY";
12
+ const list = "krc-list-1RUtr";
13
+ const noResults = "krc-noResults-Hin1U";
14
+ const option = "krc-option-0mFGi";
15
+ const focused = "krc-focused-0-7tE";
16
+ const selected = "krc-selected-1zIqI";
17
+ const optionLabel = "krc-optionLabel-pj-hL";
18
+ const optionCount = "krc-optionCount-rVlCP";
11
19
  const styles = {
12
- overlay,
13
- modal,
14
- resizable,
15
- header,
16
- title,
17
- headerActions,
18
- close,
19
- body,
20
- loading,
21
- resizeHandle
20
+ root,
21
+ trigger,
22
+ active,
23
+ triggerContent,
24
+ chevron,
25
+ label,
26
+ value,
27
+ clear,
28
+ panel,
29
+ searchContainer,
30
+ search,
31
+ list,
32
+ noResults,
33
+ option,
34
+ focused,
35
+ selected,
36
+ optionLabel,
37
+ optionCount
22
38
  };
23
39
  export {
24
- body,
25
- close,
40
+ active,
41
+ chevron,
42
+ clear,
26
43
  styles as default,
27
- header,
28
- headerActions,
29
- loading,
30
- modal,
31
- overlay,
32
- resizable,
33
- resizeHandle,
34
- title
44
+ focused,
45
+ label,
46
+ list,
47
+ noResults,
48
+ option,
49
+ optionCount,
50
+ optionLabel,
51
+ panel,
52
+ root,
53
+ search,
54
+ searchContainer,
55
+ selected,
56
+ trigger,
57
+ triggerContent,
58
+ value
35
59
  };
36
60
  //# sourceMappingURL=index84.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index84.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index84.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index85.cjs CHANGED
@@ -1,42 +1,136 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const throbber = "krc-throbber-sSMfc";
4
- const spinner = "krc-spinner-vmNIY";
5
- const loadingSpin = "krc-loading-spin-cFeV6";
6
- const titleRow = "krc-titleRow--Go1f";
7
- const titleSpinner = "krc-titleSpinner-BPUs5";
8
- const steps = "krc-steps-zu1EV";
9
- const step = "krc-step-hzz-Q";
10
- const pending = "krc-pending-sxbM4";
11
- const iconSlot = "krc-iconSlot-74ZD2";
12
- const stepSpinner = "krc-stepSpinner-0d1jM";
13
- const checkIcon = "krc-checkIcon-FhWlj";
14
- const nonClosable = "krc-nonClosable-7NB7j";
15
- const styles = {
16
- throbber,
17
- spinner,
18
- loadingSpin,
19
- titleRow,
20
- titleSpinner,
21
- steps,
22
- step,
23
- pending,
24
- iconSlot,
25
- stepSpinner,
26
- checkIcon,
27
- nonClosable
28
- };
29
- exports.checkIcon = checkIcon;
30
- exports.default = styles;
31
- exports.iconSlot = iconSlot;
32
- exports.loadingSpin = loadingSpin;
33
- exports.nonClosable = nonClosable;
34
- exports.pending = pending;
35
- exports.spinner = spinner;
36
- exports.step = step;
37
- exports.stepSpinner = stepSpinner;
38
- exports.steps = steps;
39
- exports.throbber = throbber;
40
- exports.titleRow = titleRow;
41
- exports.titleSpinner = titleSpinner;
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const constants = require("./index62.cjs");
4
+ function aggregateData(data, maxCats, maxSubs, showOthers) {
5
+ const categoryMap = /* @__PURE__ */ new Map();
6
+ for (const point of data) {
7
+ const cat = point.category ?? "Unknown";
8
+ const sub = point.subCategory ?? "Default";
9
+ if (!categoryMap.has(cat)) {
10
+ categoryMap.set(cat, /* @__PURE__ */ new Map());
11
+ }
12
+ const subMap = categoryMap.get(cat);
13
+ subMap.set(sub, (subMap.get(sub) ?? 0) + point.value);
14
+ }
15
+ const sortedCategories = [...categoryMap.entries()].map(([cat, subMap]) => {
16
+ let total = 0;
17
+ for (const v of subMap.values()) total += v;
18
+ return { cat, subMap, total };
19
+ }).sort((a, b) => b.total - a.total);
20
+ const topCategories = sortedCategories.slice(0, maxCats);
21
+ const overflowCategories = sortedCategories.slice(maxCats);
22
+ if (showOthers && overflowCategories.length > 0) {
23
+ const othersMap = /* @__PURE__ */ new Map();
24
+ for (const { subMap } of overflowCategories) {
25
+ for (const [sub, val] of subMap) {
26
+ othersMap.set(sub, (othersMap.get(sub) ?? 0) + val);
27
+ }
28
+ }
29
+ let othersTotal = 0;
30
+ for (const v of othersMap.values()) othersTotal += v;
31
+ topCategories.push({ cat: "Others", subMap: othersMap, total: othersTotal });
32
+ }
33
+ const allSubCategories = /* @__PURE__ */ new Set();
34
+ for (const { subMap } of topCategories) {
35
+ for (const sub of subMap.keys()) {
36
+ allSubCategories.add(sub);
37
+ }
38
+ }
39
+ const sortedSubs = [...allSubCategories];
40
+ const limitedSubs = sortedSubs.slice(0, maxSubs);
41
+ const hasOverflowSubs = sortedSubs.length > maxSubs;
42
+ const categories = topCategories.map((entry) => entry.cat);
43
+ const series = limitedSubs.map((sub) => ({
44
+ name: sub,
45
+ values: topCategories.map((entry) => entry.subMap.get(sub) ?? 0)
46
+ }));
47
+ if (hasOverflowSubs && showOthers) {
48
+ const overflowSubs = sortedSubs.slice(maxSubs);
49
+ series.push({
50
+ name: "Other subcategories",
51
+ values: topCategories.map((entry) => {
52
+ let sum = 0;
53
+ for (const sub of overflowSubs) {
54
+ sum += entry.subMap.get(sub) ?? 0;
55
+ }
56
+ return sum;
57
+ })
58
+ });
59
+ }
60
+ return { categories, series };
61
+ }
62
+ function buildBarOption(categories, series, invertAxis, hideLegend, enableScroll) {
63
+ const categoryAxis = { type: "category", data: categories };
64
+ const valueAxis = { type: "value" };
65
+ const dataZoom = enableScroll ? [{ type: "slider", show: true, ...invertAxis ? { yAxisIndex: 0 } : { xAxisIndex: 0 } }] : [];
66
+ return {
67
+ tooltip: { trigger: "axis", axisPointer: { type: "shadow" } },
68
+ legend: { show: !hideLegend, bottom: 0, type: "scroll" },
69
+ grid: { left: "3%", right: "4%", top: "3%", bottom: hideLegend ? "3%" : "12%", containLabel: true },
70
+ xAxis: invertAxis ? valueAxis : categoryAxis,
71
+ yAxis: invertAxis ? categoryAxis : valueAxis,
72
+ dataZoom,
73
+ series: series.map((s, i) => ({
74
+ name: s.name,
75
+ type: "bar",
76
+ stack: "total",
77
+ emphasis: { focus: "series" },
78
+ data: s.values,
79
+ itemStyle: { color: constants.CHART_COLORS[i % constants.CHART_COLORS.length] }
80
+ }))
81
+ };
82
+ }
83
+ function buildPieOption(categories, series, hideLegend) {
84
+ const pieData = categories.map((cat, catIdx) => {
85
+ let total = 0;
86
+ for (const s of series) {
87
+ total += s.values[catIdx] ?? 0;
88
+ }
89
+ return { name: cat, value: total };
90
+ });
91
+ return {
92
+ tooltip: { trigger: "item" },
93
+ legend: { show: !hideLegend, bottom: 0, type: "scroll" },
94
+ series: [
95
+ {
96
+ type: "pie",
97
+ radius: ["30%", "65%"],
98
+ center: ["50%", "45%"],
99
+ data: pieData.map((d, i) => ({
100
+ ...d,
101
+ itemStyle: { color: constants.CHART_COLORS[i % constants.CHART_COLORS.length] }
102
+ })),
103
+ emphasis: { itemStyle: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: "rgba(0,0,0,0.3)" } },
104
+ label: { show: true, formatter: "{b}: {d}%" }
105
+ }
106
+ ]
107
+ };
108
+ }
109
+ function buildSunburstOption(categories, series) {
110
+ const sunburstData = categories.map((cat, catIdx) => {
111
+ const children = series.map((s, sIdx) => ({
112
+ name: s.name,
113
+ value: s.values[catIdx] ?? 0,
114
+ itemStyle: { color: constants.CHART_COLORS[(catIdx * series.length + sIdx) % constants.CHART_COLORS.length] }
115
+ })).filter((child) => child.value > 0);
116
+ return { name: cat, children };
117
+ });
118
+ return {
119
+ tooltip: { trigger: "item" },
120
+ series: [
121
+ {
122
+ type: "sunburst",
123
+ data: sunburstData,
124
+ radius: ["15%", "80%"],
125
+ label: { rotate: "radial", fontSize: 10 },
126
+ itemStyle: { borderRadius: 4, borderWidth: 1 },
127
+ emphasis: { focus: "ancestor" }
128
+ }
129
+ ]
130
+ };
131
+ }
132
+ exports.aggregateData = aggregateData;
133
+ exports.buildBarOption = buildBarOption;
134
+ exports.buildPieOption = buildPieOption;
135
+ exports.buildSunburstOption = buildSunburstOption;
42
136
  //# sourceMappingURL=index85.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index85.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index85.cjs","sources":["../src/charts/StackedBarChartCard/buildChartOptions.ts"],"sourcesContent":["import type { ChartSeriesPoint } from '../../types/chart.types';\nimport { CHART_COLORS } from '../../constants';\n\n/** Aggregated series data for chart rendering. */\nexport interface AggregatedChartData {\n categories: string[];\n series: { name: string; values: number[] }[];\n}\n\n/** Aggregate data points by category and subCategory, applying limits. */\nexport function aggregateData(\n data: ChartSeriesPoint[],\n maxCats: number,\n maxSubs: number,\n showOthers: boolean,\n): AggregatedChartData {\n const categoryMap = new Map<string, Map<string, number>>();\n\n for (const point of data) {\n const cat = point.category ?? 'Unknown';\n const sub = point.subCategory ?? 'Default';\n if (!categoryMap.has(cat)) {\n categoryMap.set(cat, new Map());\n }\n const subMap = categoryMap.get(cat)!;\n subMap.set(sub, (subMap.get(sub) ?? 0) + point.value);\n }\n\n const sortedCategories = [...categoryMap.entries()]\n .map(([cat, subMap]) => {\n let total = 0;\n for (const v of subMap.values()) total += v;\n return { cat, subMap, total };\n })\n .sort((a, b) => b.total - a.total);\n\n const topCategories = sortedCategories.slice(0, maxCats);\n const overflowCategories = sortedCategories.slice(maxCats);\n\n if (showOthers && overflowCategories.length > 0) {\n const othersMap = new Map<string, number>();\n for (const { subMap } of overflowCategories) {\n for (const [sub, val] of subMap) {\n othersMap.set(sub, (othersMap.get(sub) ?? 0) + val);\n }\n }\n let othersTotal = 0;\n for (const v of othersMap.values()) othersTotal += v;\n topCategories.push({ cat: 'Others', subMap: othersMap, total: othersTotal });\n }\n\n const allSubCategories = new Set<string>();\n for (const { subMap } of topCategories) {\n for (const sub of subMap.keys()) {\n allSubCategories.add(sub);\n }\n }\n\n const sortedSubs = [...allSubCategories];\n const limitedSubs = sortedSubs.slice(0, maxSubs);\n const hasOverflowSubs = sortedSubs.length > maxSubs;\n\n const categories = topCategories.map((entry) => entry.cat);\n\n const series = limitedSubs.map((sub) => ({\n name: sub,\n values: topCategories.map((entry) => entry.subMap.get(sub) ?? 0),\n }));\n\n if (hasOverflowSubs && showOthers) {\n const overflowSubs = sortedSubs.slice(maxSubs);\n series.push({\n name: 'Other subcategories',\n values: topCategories.map((entry) => {\n let sum = 0;\n for (const sub of overflowSubs) {\n sum += entry.subMap.get(sub) ?? 0;\n }\n return sum;\n }),\n });\n }\n\n return { categories, series };\n}\n\n/** Build ECharts option for stacked bar chart. */\nexport function buildBarOption(\n categories: string[],\n series: { name: string; values: number[] }[],\n invertAxis: boolean,\n hideLegend: boolean,\n enableScroll: boolean,\n) {\n const categoryAxis = { type: 'category' as const, data: categories };\n const valueAxis = { type: 'value' as const };\n\n const dataZoom = enableScroll\n ? [{ type: 'slider' as const, show: true, ...(invertAxis ? { yAxisIndex: 0 } : { xAxisIndex: 0 }) }]\n : [];\n\n return {\n tooltip: { trigger: 'axis' as const, axisPointer: { type: 'shadow' as const } },\n legend: { show: !hideLegend, bottom: 0, type: 'scroll' as const },\n grid: { left: '3%', right: '4%', top: '3%', bottom: hideLegend ? '3%' : '12%', containLabel: true },\n xAxis: invertAxis ? valueAxis : categoryAxis,\n yAxis: invertAxis ? categoryAxis : valueAxis,\n dataZoom,\n series: series.map((s, i) => ({\n name: s.name,\n type: 'bar' as const,\n stack: 'total',\n emphasis: { focus: 'series' as const },\n data: s.values,\n itemStyle: { color: CHART_COLORS[i % CHART_COLORS.length] },\n })),\n };\n}\n\n/** Build ECharts option for pie chart. */\nexport function buildPieOption(\n categories: string[],\n series: { name: string; values: number[] }[],\n hideLegend: boolean,\n) {\n const pieData = categories.map((cat, catIdx) => {\n let total = 0;\n for (const s of series) {\n total += s.values[catIdx] ?? 0;\n }\n return { name: cat, value: total };\n });\n\n return {\n tooltip: { trigger: 'item' as const },\n legend: { show: !hideLegend, bottom: 0, type: 'scroll' as const },\n series: [\n {\n type: 'pie' as const,\n radius: ['30%', '65%'],\n center: ['50%', '45%'],\n data: pieData.map((d, i) => ({\n ...d,\n itemStyle: { color: CHART_COLORS[i % CHART_COLORS.length] },\n })),\n emphasis: { itemStyle: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0,0,0,0.3)' } },\n label: { show: true, formatter: '{b}: {d}%' },\n },\n ],\n };\n}\n\n/** Build ECharts option for sunburst chart. */\nexport function buildSunburstOption(\n categories: string[],\n series: { name: string; values: number[] }[],\n) {\n const sunburstData = categories.map((cat, catIdx) => {\n const children = series\n .map((s, sIdx) => ({\n name: s.name,\n value: s.values[catIdx] ?? 0,\n itemStyle: { color: CHART_COLORS[(catIdx * series.length + sIdx) % CHART_COLORS.length] },\n }))\n .filter((child) => child.value > 0);\n\n return { name: cat, children };\n });\n\n return {\n tooltip: { trigger: 'item' as const },\n series: [\n {\n type: 'sunburst' as const,\n data: sunburstData,\n radius: ['15%', '80%'],\n label: { rotate: 'radial' as const, fontSize: 10 },\n itemStyle: { borderRadius: 4, borderWidth: 1 },\n emphasis: { focus: 'ancestor' as const },\n },\n ],\n };\n}\n"],"names":["CHART_COLORS"],"mappings":";;;AAUO,SAAS,cACd,MACA,SACA,SACA,YACqB;AACrB,QAAM,kCAAkB,IAAA;AAExB,aAAW,SAAS,MAAM;AACxB,UAAM,MAAM,MAAM,YAAY;AAC9B,UAAM,MAAM,MAAM,eAAe;AACjC,QAAI,CAAC,YAAY,IAAI,GAAG,GAAG;AACzB,kBAAY,IAAI,KAAK,oBAAI,IAAA,CAAK;AAAA,IAChC;AACA,UAAM,SAAS,YAAY,IAAI,GAAG;AAClC,WAAO,IAAI,MAAM,OAAO,IAAI,GAAG,KAAK,KAAK,MAAM,KAAK;AAAA,EACtD;AAEA,QAAM,mBAAmB,CAAC,GAAG,YAAY,QAAA,CAAS,EAC/C,IAAI,CAAC,CAAC,KAAK,MAAM,MAAM;AACtB,QAAI,QAAQ;AACZ,eAAW,KAAK,OAAO,OAAA,EAAU,UAAS;AAC1C,WAAO,EAAE,KAAK,QAAQ,MAAA;AAAA,EACxB,CAAC,EACA,KAAK,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK;AAEnC,QAAM,gBAAgB,iBAAiB,MAAM,GAAG,OAAO;AACvD,QAAM,qBAAqB,iBAAiB,MAAM,OAAO;AAEzD,MAAI,cAAc,mBAAmB,SAAS,GAAG;AAC/C,UAAM,gCAAgB,IAAA;AACtB,eAAW,EAAE,OAAA,KAAY,oBAAoB;AAC3C,iBAAW,CAAC,KAAK,GAAG,KAAK,QAAQ;AAC/B,kBAAU,IAAI,MAAM,UAAU,IAAI,GAAG,KAAK,KAAK,GAAG;AAAA,MACpD;AAAA,IACF;AACA,QAAI,cAAc;AAClB,eAAW,KAAK,UAAU,OAAA,EAAU,gBAAe;AACnD,kBAAc,KAAK,EAAE,KAAK,UAAU,QAAQ,WAAW,OAAO,aAAa;AAAA,EAC7E;AAEA,QAAM,uCAAuB,IAAA;AAC7B,aAAW,EAAE,OAAA,KAAY,eAAe;AACtC,eAAW,OAAO,OAAO,QAAQ;AAC/B,uBAAiB,IAAI,GAAG;AAAA,IAC1B;AAAA,EACF;AAEA,QAAM,aAAa,CAAC,GAAG,gBAAgB;AACvC,QAAM,cAAc,WAAW,MAAM,GAAG,OAAO;AAC/C,QAAM,kBAAkB,WAAW,SAAS;AAE5C,QAAM,aAAa,cAAc,IAAI,CAAC,UAAU,MAAM,GAAG;AAEzD,QAAM,SAAS,YAAY,IAAI,CAAC,SAAS;AAAA,IACvC,MAAM;AAAA,IACN,QAAQ,cAAc,IAAI,CAAC,UAAU,MAAM,OAAO,IAAI,GAAG,KAAK,CAAC;AAAA,EAAA,EAC/D;AAEF,MAAI,mBAAmB,YAAY;AACjC,UAAM,eAAe,WAAW,MAAM,OAAO;AAC7C,WAAO,KAAK;AAAA,MACV,MAAM;AAAA,MACN,QAAQ,cAAc,IAAI,CAAC,UAAU;AACnC,YAAI,MAAM;AACV,mBAAW,OAAO,cAAc;AAC9B,iBAAO,MAAM,OAAO,IAAI,GAAG,KAAK;AAAA,QAClC;AACA,eAAO;AAAA,MACT,CAAC;AAAA,IAAA,CACF;AAAA,EACH;AAEA,SAAO,EAAE,YAAY,OAAA;AACvB;AAGO,SAAS,eACd,YACA,QACA,YACA,YACA,cACA;AACA,QAAM,eAAe,EAAE,MAAM,YAAqB,MAAM,WAAA;AACxD,QAAM,YAAY,EAAE,MAAM,QAAA;AAE1B,QAAM,WAAW,eACb,CAAC,EAAE,MAAM,UAAmB,MAAM,MAAM,GAAI,aAAa,EAAE,YAAY,MAAM,EAAE,YAAY,IAAE,CAAI,IACjG,CAAA;AAEJ,SAAO;AAAA,IACL,SAAS,EAAE,SAAS,QAAiB,aAAa,EAAE,MAAM,WAAkB;AAAA,IAC5E,QAAQ,EAAE,MAAM,CAAC,YAAY,QAAQ,GAAG,MAAM,SAAA;AAAA,IAC9C,MAAM,EAAE,MAAM,MAAM,OAAO,MAAM,KAAK,MAAM,QAAQ,aAAa,OAAO,OAAO,cAAc,KAAA;AAAA,IAC7F,OAAO,aAAa,YAAY;AAAA,IAChC,OAAO,aAAa,eAAe;AAAA,IACnC;AAAA,IACA,QAAQ,OAAO,IAAI,CAAC,GAAG,OAAO;AAAA,MAC5B,MAAM,EAAE;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU,EAAE,OAAO,SAAA;AAAA,MACnB,MAAM,EAAE;AAAA,MACR,WAAW,EAAE,OAAOA,UAAAA,aAAa,IAAIA,UAAAA,aAAa,MAAM,EAAA;AAAA,IAAE,EAC1D;AAAA,EAAA;AAEN;AAGO,SAAS,eACd,YACA,QACA,YACA;AACA,QAAM,UAAU,WAAW,IAAI,CAAC,KAAK,WAAW;AAC9C,QAAI,QAAQ;AACZ,eAAW,KAAK,QAAQ;AACtB,eAAS,EAAE,OAAO,MAAM,KAAK;AAAA,IAC/B;AACA,WAAO,EAAE,MAAM,KAAK,OAAO,MAAA;AAAA,EAC7B,CAAC;AAED,SAAO;AAAA,IACL,SAAS,EAAE,SAAS,OAAA;AAAA,IACpB,QAAQ,EAAE,MAAM,CAAC,YAAY,QAAQ,GAAG,MAAM,SAAA;AAAA,IAC9C,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,QAAQ,CAAC,OAAO,KAAK;AAAA,QACrB,QAAQ,CAAC,OAAO,KAAK;AAAA,QACrB,MAAM,QAAQ,IAAI,CAAC,GAAG,OAAO;AAAA,UAC3B,GAAG;AAAA,UACH,WAAW,EAAE,OAAOA,UAAAA,aAAa,IAAIA,UAAAA,aAAa,MAAM,EAAA;AAAA,QAAE,EAC1D;AAAA,QACF,UAAU,EAAE,WAAW,EAAE,YAAY,IAAI,eAAe,GAAG,aAAa,oBAAkB;AAAA,QAC1F,OAAO,EAAE,MAAM,MAAM,WAAW,YAAA;AAAA,MAAY;AAAA,IAC9C;AAAA,EACF;AAEJ;AAGO,SAAS,oBACd,YACA,QACA;AACA,QAAM,eAAe,WAAW,IAAI,CAAC,KAAK,WAAW;AACnD,UAAM,WAAW,OACd,IAAI,CAAC,GAAG,UAAU;AAAA,MACjB,MAAM,EAAE;AAAA,MACR,OAAO,EAAE,OAAO,MAAM,KAAK;AAAA,MAC3B,WAAW,EAAE,OAAOA,UAAAA,cAAc,SAAS,OAAO,SAAS,QAAQA,UAAAA,aAAa,MAAM,EAAA;AAAA,IAAE,EACxF,EACD,OAAO,CAAC,UAAU,MAAM,QAAQ,CAAC;AAEpC,WAAO,EAAE,MAAM,KAAK,SAAA;AAAA,EACtB,CAAC;AAED,SAAO;AAAA,IACL,SAAS,EAAE,SAAS,OAAA;AAAA,IACpB,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,QAAQ,CAAC,OAAO,KAAK;AAAA,QACrB,OAAO,EAAE,QAAQ,UAAmB,UAAU,GAAA;AAAA,QAC9C,WAAW,EAAE,cAAc,GAAG,aAAa,EAAA;AAAA,QAC3C,UAAU,EAAE,OAAO,WAAA;AAAA,MAAoB;AAAA,IACzC;AAAA,EACF;AAEJ;;;;;"}
package/dist/index85.js CHANGED
@@ -1,42 +1,136 @@
1
- const throbber = "krc-throbber-sSMfc";
2
- const spinner = "krc-spinner-vmNIY";
3
- const loadingSpin = "krc-loading-spin-cFeV6";
4
- const titleRow = "krc-titleRow--Go1f";
5
- const titleSpinner = "krc-titleSpinner-BPUs5";
6
- const steps = "krc-steps-zu1EV";
7
- const step = "krc-step-hzz-Q";
8
- const pending = "krc-pending-sxbM4";
9
- const iconSlot = "krc-iconSlot-74ZD2";
10
- const stepSpinner = "krc-stepSpinner-0d1jM";
11
- const checkIcon = "krc-checkIcon-FhWlj";
12
- const nonClosable = "krc-nonClosable-7NB7j";
13
- const styles = {
14
- throbber,
15
- spinner,
16
- loadingSpin,
17
- titleRow,
18
- titleSpinner,
19
- steps,
20
- step,
21
- pending,
22
- iconSlot,
23
- stepSpinner,
24
- checkIcon,
25
- nonClosable
26
- };
1
+ import { CHART_COLORS } from "./index62.js";
2
+ function aggregateData(data, maxCats, maxSubs, showOthers) {
3
+ const categoryMap = /* @__PURE__ */ new Map();
4
+ for (const point of data) {
5
+ const cat = point.category ?? "Unknown";
6
+ const sub = point.subCategory ?? "Default";
7
+ if (!categoryMap.has(cat)) {
8
+ categoryMap.set(cat, /* @__PURE__ */ new Map());
9
+ }
10
+ const subMap = categoryMap.get(cat);
11
+ subMap.set(sub, (subMap.get(sub) ?? 0) + point.value);
12
+ }
13
+ const sortedCategories = [...categoryMap.entries()].map(([cat, subMap]) => {
14
+ let total = 0;
15
+ for (const v of subMap.values()) total += v;
16
+ return { cat, subMap, total };
17
+ }).sort((a, b) => b.total - a.total);
18
+ const topCategories = sortedCategories.slice(0, maxCats);
19
+ const overflowCategories = sortedCategories.slice(maxCats);
20
+ if (showOthers && overflowCategories.length > 0) {
21
+ const othersMap = /* @__PURE__ */ new Map();
22
+ for (const { subMap } of overflowCategories) {
23
+ for (const [sub, val] of subMap) {
24
+ othersMap.set(sub, (othersMap.get(sub) ?? 0) + val);
25
+ }
26
+ }
27
+ let othersTotal = 0;
28
+ for (const v of othersMap.values()) othersTotal += v;
29
+ topCategories.push({ cat: "Others", subMap: othersMap, total: othersTotal });
30
+ }
31
+ const allSubCategories = /* @__PURE__ */ new Set();
32
+ for (const { subMap } of topCategories) {
33
+ for (const sub of subMap.keys()) {
34
+ allSubCategories.add(sub);
35
+ }
36
+ }
37
+ const sortedSubs = [...allSubCategories];
38
+ const limitedSubs = sortedSubs.slice(0, maxSubs);
39
+ const hasOverflowSubs = sortedSubs.length > maxSubs;
40
+ const categories = topCategories.map((entry) => entry.cat);
41
+ const series = limitedSubs.map((sub) => ({
42
+ name: sub,
43
+ values: topCategories.map((entry) => entry.subMap.get(sub) ?? 0)
44
+ }));
45
+ if (hasOverflowSubs && showOthers) {
46
+ const overflowSubs = sortedSubs.slice(maxSubs);
47
+ series.push({
48
+ name: "Other subcategories",
49
+ values: topCategories.map((entry) => {
50
+ let sum = 0;
51
+ for (const sub of overflowSubs) {
52
+ sum += entry.subMap.get(sub) ?? 0;
53
+ }
54
+ return sum;
55
+ })
56
+ });
57
+ }
58
+ return { categories, series };
59
+ }
60
+ function buildBarOption(categories, series, invertAxis, hideLegend, enableScroll) {
61
+ const categoryAxis = { type: "category", data: categories };
62
+ const valueAxis = { type: "value" };
63
+ const dataZoom = enableScroll ? [{ type: "slider", show: true, ...invertAxis ? { yAxisIndex: 0 } : { xAxisIndex: 0 } }] : [];
64
+ return {
65
+ tooltip: { trigger: "axis", axisPointer: { type: "shadow" } },
66
+ legend: { show: !hideLegend, bottom: 0, type: "scroll" },
67
+ grid: { left: "3%", right: "4%", top: "3%", bottom: hideLegend ? "3%" : "12%", containLabel: true },
68
+ xAxis: invertAxis ? valueAxis : categoryAxis,
69
+ yAxis: invertAxis ? categoryAxis : valueAxis,
70
+ dataZoom,
71
+ series: series.map((s, i) => ({
72
+ name: s.name,
73
+ type: "bar",
74
+ stack: "total",
75
+ emphasis: { focus: "series" },
76
+ data: s.values,
77
+ itemStyle: { color: CHART_COLORS[i % CHART_COLORS.length] }
78
+ }))
79
+ };
80
+ }
81
+ function buildPieOption(categories, series, hideLegend) {
82
+ const pieData = categories.map((cat, catIdx) => {
83
+ let total = 0;
84
+ for (const s of series) {
85
+ total += s.values[catIdx] ?? 0;
86
+ }
87
+ return { name: cat, value: total };
88
+ });
89
+ return {
90
+ tooltip: { trigger: "item" },
91
+ legend: { show: !hideLegend, bottom: 0, type: "scroll" },
92
+ series: [
93
+ {
94
+ type: "pie",
95
+ radius: ["30%", "65%"],
96
+ center: ["50%", "45%"],
97
+ data: pieData.map((d, i) => ({
98
+ ...d,
99
+ itemStyle: { color: CHART_COLORS[i % CHART_COLORS.length] }
100
+ })),
101
+ emphasis: { itemStyle: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: "rgba(0,0,0,0.3)" } },
102
+ label: { show: true, formatter: "{b}: {d}%" }
103
+ }
104
+ ]
105
+ };
106
+ }
107
+ function buildSunburstOption(categories, series) {
108
+ const sunburstData = categories.map((cat, catIdx) => {
109
+ const children = series.map((s, sIdx) => ({
110
+ name: s.name,
111
+ value: s.values[catIdx] ?? 0,
112
+ itemStyle: { color: CHART_COLORS[(catIdx * series.length + sIdx) % CHART_COLORS.length] }
113
+ })).filter((child) => child.value > 0);
114
+ return { name: cat, children };
115
+ });
116
+ return {
117
+ tooltip: { trigger: "item" },
118
+ series: [
119
+ {
120
+ type: "sunburst",
121
+ data: sunburstData,
122
+ radius: ["15%", "80%"],
123
+ label: { rotate: "radial", fontSize: 10 },
124
+ itemStyle: { borderRadius: 4, borderWidth: 1 },
125
+ emphasis: { focus: "ancestor" }
126
+ }
127
+ ]
128
+ };
129
+ }
27
130
  export {
28
- checkIcon,
29
- styles as default,
30
- iconSlot,
31
- loadingSpin,
32
- nonClosable,
33
- pending,
34
- spinner,
35
- step,
36
- stepSpinner,
37
- steps,
38
- throbber,
39
- titleRow,
40
- titleSpinner
131
+ aggregateData,
132
+ buildBarOption,
133
+ buildPieOption,
134
+ buildSunburstOption
41
135
  };
42
136
  //# sourceMappingURL=index85.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index85.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index85.js","sources":["../src/charts/StackedBarChartCard/buildChartOptions.ts"],"sourcesContent":["import type { ChartSeriesPoint } from '../../types/chart.types';\nimport { CHART_COLORS } from '../../constants';\n\n/** Aggregated series data for chart rendering. */\nexport interface AggregatedChartData {\n categories: string[];\n series: { name: string; values: number[] }[];\n}\n\n/** Aggregate data points by category and subCategory, applying limits. */\nexport function aggregateData(\n data: ChartSeriesPoint[],\n maxCats: number,\n maxSubs: number,\n showOthers: boolean,\n): AggregatedChartData {\n const categoryMap = new Map<string, Map<string, number>>();\n\n for (const point of data) {\n const cat = point.category ?? 'Unknown';\n const sub = point.subCategory ?? 'Default';\n if (!categoryMap.has(cat)) {\n categoryMap.set(cat, new Map());\n }\n const subMap = categoryMap.get(cat)!;\n subMap.set(sub, (subMap.get(sub) ?? 0) + point.value);\n }\n\n const sortedCategories = [...categoryMap.entries()]\n .map(([cat, subMap]) => {\n let total = 0;\n for (const v of subMap.values()) total += v;\n return { cat, subMap, total };\n })\n .sort((a, b) => b.total - a.total);\n\n const topCategories = sortedCategories.slice(0, maxCats);\n const overflowCategories = sortedCategories.slice(maxCats);\n\n if (showOthers && overflowCategories.length > 0) {\n const othersMap = new Map<string, number>();\n for (const { subMap } of overflowCategories) {\n for (const [sub, val] of subMap) {\n othersMap.set(sub, (othersMap.get(sub) ?? 0) + val);\n }\n }\n let othersTotal = 0;\n for (const v of othersMap.values()) othersTotal += v;\n topCategories.push({ cat: 'Others', subMap: othersMap, total: othersTotal });\n }\n\n const allSubCategories = new Set<string>();\n for (const { subMap } of topCategories) {\n for (const sub of subMap.keys()) {\n allSubCategories.add(sub);\n }\n }\n\n const sortedSubs = [...allSubCategories];\n const limitedSubs = sortedSubs.slice(0, maxSubs);\n const hasOverflowSubs = sortedSubs.length > maxSubs;\n\n const categories = topCategories.map((entry) => entry.cat);\n\n const series = limitedSubs.map((sub) => ({\n name: sub,\n values: topCategories.map((entry) => entry.subMap.get(sub) ?? 0),\n }));\n\n if (hasOverflowSubs && showOthers) {\n const overflowSubs = sortedSubs.slice(maxSubs);\n series.push({\n name: 'Other subcategories',\n values: topCategories.map((entry) => {\n let sum = 0;\n for (const sub of overflowSubs) {\n sum += entry.subMap.get(sub) ?? 0;\n }\n return sum;\n }),\n });\n }\n\n return { categories, series };\n}\n\n/** Build ECharts option for stacked bar chart. */\nexport function buildBarOption(\n categories: string[],\n series: { name: string; values: number[] }[],\n invertAxis: boolean,\n hideLegend: boolean,\n enableScroll: boolean,\n) {\n const categoryAxis = { type: 'category' as const, data: categories };\n const valueAxis = { type: 'value' as const };\n\n const dataZoom = enableScroll\n ? [{ type: 'slider' as const, show: true, ...(invertAxis ? { yAxisIndex: 0 } : { xAxisIndex: 0 }) }]\n : [];\n\n return {\n tooltip: { trigger: 'axis' as const, axisPointer: { type: 'shadow' as const } },\n legend: { show: !hideLegend, bottom: 0, type: 'scroll' as const },\n grid: { left: '3%', right: '4%', top: '3%', bottom: hideLegend ? '3%' : '12%', containLabel: true },\n xAxis: invertAxis ? valueAxis : categoryAxis,\n yAxis: invertAxis ? categoryAxis : valueAxis,\n dataZoom,\n series: series.map((s, i) => ({\n name: s.name,\n type: 'bar' as const,\n stack: 'total',\n emphasis: { focus: 'series' as const },\n data: s.values,\n itemStyle: { color: CHART_COLORS[i % CHART_COLORS.length] },\n })),\n };\n}\n\n/** Build ECharts option for pie chart. */\nexport function buildPieOption(\n categories: string[],\n series: { name: string; values: number[] }[],\n hideLegend: boolean,\n) {\n const pieData = categories.map((cat, catIdx) => {\n let total = 0;\n for (const s of series) {\n total += s.values[catIdx] ?? 0;\n }\n return { name: cat, value: total };\n });\n\n return {\n tooltip: { trigger: 'item' as const },\n legend: { show: !hideLegend, bottom: 0, type: 'scroll' as const },\n series: [\n {\n type: 'pie' as const,\n radius: ['30%', '65%'],\n center: ['50%', '45%'],\n data: pieData.map((d, i) => ({\n ...d,\n itemStyle: { color: CHART_COLORS[i % CHART_COLORS.length] },\n })),\n emphasis: { itemStyle: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0,0,0,0.3)' } },\n label: { show: true, formatter: '{b}: {d}%' },\n },\n ],\n };\n}\n\n/** Build ECharts option for sunburst chart. */\nexport function buildSunburstOption(\n categories: string[],\n series: { name: string; values: number[] }[],\n) {\n const sunburstData = categories.map((cat, catIdx) => {\n const children = series\n .map((s, sIdx) => ({\n name: s.name,\n value: s.values[catIdx] ?? 0,\n itemStyle: { color: CHART_COLORS[(catIdx * series.length + sIdx) % CHART_COLORS.length] },\n }))\n .filter((child) => child.value > 0);\n\n return { name: cat, children };\n });\n\n return {\n tooltip: { trigger: 'item' as const },\n series: [\n {\n type: 'sunburst' as const,\n data: sunburstData,\n radius: ['15%', '80%'],\n label: { rotate: 'radial' as const, fontSize: 10 },\n itemStyle: { borderRadius: 4, borderWidth: 1 },\n emphasis: { focus: 'ancestor' as const },\n },\n ],\n };\n}\n"],"names":[],"mappings":"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"}
package/dist/index86.cjs CHANGED
@@ -1,42 +1,48 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const root = "krc-root-uKAJr";
4
- const header = "krc-header-BWJPo";
5
- const body = "krc-body-LCUxY";
6
- const footer = "krc-footer-z4n8R";
7
- const toggle = "krc-toggle-9T9IZ";
8
- const section = "krc-section-us0Me";
9
- const sectionTitle = "krc-sectionTitle-On1X-";
10
- const sectionToggle = "krc-sectionToggle-eriVJ";
11
- const sectionChevron = "krc-sectionChevron-cgn7M";
12
- const sectionChevronOpen = "krc-sectionChevronOpen-Ja5Y3";
13
- const sectionItems = "krc-sectionItems-iwvxo";
14
- const collapsed = "krc-collapsed-JRXBy";
3
+ const root = "krc-root-U8B4Y";
4
+ const header = "krc-header-dy6xQ";
5
+ const headerLeft = "krc-headerLeft-80jJu";
6
+ const title = "krc-title--e-Ci";
7
+ const subtitle = "krc-subtitle-63ixC";
8
+ const headerRight = "krc-headerRight-3Vuls";
9
+ const toolbar = "krc-toolbar-h6ALf";
10
+ const chartTypeToggle = "krc-chartTypeToggle-6DRWb";
11
+ const active = "krc-active-Un9q0";
12
+ const chartContainer = "krc-chartContainer-2Oz2N";
13
+ const loading = "krc-loading-hTkxl";
14
+ const error = "krc-error--F7yO";
15
+ const retryButton = "krc-retryButton-w0SS7";
16
+ const empty = "krc-empty-HWTS-";
15
17
  const styles = {
16
18
  root,
17
19
  header,
18
- body,
19
- footer,
20
- toggle,
21
- section,
22
- sectionTitle,
23
- sectionToggle,
24
- sectionChevron,
25
- sectionChevronOpen,
26
- sectionItems,
27
- collapsed
20
+ headerLeft,
21
+ title,
22
+ subtitle,
23
+ headerRight,
24
+ toolbar,
25
+ chartTypeToggle,
26
+ active,
27
+ chartContainer,
28
+ loading,
29
+ error,
30
+ retryButton,
31
+ empty
28
32
  };
29
- exports.body = body;
30
- exports.collapsed = collapsed;
33
+ exports.active = active;
34
+ exports.chartContainer = chartContainer;
35
+ exports.chartTypeToggle = chartTypeToggle;
31
36
  exports.default = styles;
32
- exports.footer = footer;
37
+ exports.empty = empty;
38
+ exports.error = error;
33
39
  exports.header = header;
40
+ exports.headerLeft = headerLeft;
41
+ exports.headerRight = headerRight;
42
+ exports.loading = loading;
43
+ exports.retryButton = retryButton;
34
44
  exports.root = root;
35
- exports.section = section;
36
- exports.sectionChevron = sectionChevron;
37
- exports.sectionChevronOpen = sectionChevronOpen;
38
- exports.sectionItems = sectionItems;
39
- exports.sectionTitle = sectionTitle;
40
- exports.sectionToggle = sectionToggle;
41
- exports.toggle = toggle;
45
+ exports.subtitle = subtitle;
46
+ exports.title = title;
47
+ exports.toolbar = toolbar;
42
48
  //# sourceMappingURL=index86.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index86.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index86.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}