@ktnpm_devops/react-component 0.15.0 → 0.16.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 (377) hide show
  1. package/dist/constants.d.ts +2 -0
  2. package/dist/constants.d.ts.map +1 -1
  3. package/dist/data/HeatmapMatrix/HeatmapMatrix.d.ts.map +1 -1
  4. package/dist/data/HeatmapMatrix/HeatmapMatrix.types.d.ts +42 -0
  5. package/dist/data/HeatmapMatrix/HeatmapMatrix.types.d.ts.map +1 -1
  6. package/dist/data/HeatmapMatrix/HeatmapMatrixHeader.d.ts +9 -0
  7. package/dist/data/HeatmapMatrix/HeatmapMatrixHeader.d.ts.map +1 -0
  8. package/dist/data/HeatmapMatrix/getColumnRuns.d.ts +11 -0
  9. package/dist/data/HeatmapMatrix/getColumnRuns.d.ts.map +1 -0
  10. package/dist/data/HeatmapMatrix/getColumnRuns.test.d.ts +2 -0
  11. package/dist/data/HeatmapMatrix/getColumnRuns.test.d.ts.map +1 -0
  12. package/dist/data/HeatmapMatrix/index.d.ts +1 -1
  13. package/dist/data/HeatmapMatrix/index.d.ts.map +1 -1
  14. package/dist/index.d.ts +1 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index10.cjs +1 -1
  17. package/dist/index10.js +1 -1
  18. package/dist/index100.cjs +32 -8
  19. package/dist/index100.cjs.map +1 -1
  20. package/dist/index100.js +33 -9
  21. package/dist/index100.js.map +1 -1
  22. package/dist/index101.cjs +53 -2
  23. package/dist/index101.cjs.map +1 -1
  24. package/dist/index101.js +54 -3
  25. package/dist/index101.js.map +1 -1
  26. package/dist/index102.cjs +39 -6
  27. package/dist/index102.cjs.map +1 -1
  28. package/dist/index102.js +38 -5
  29. package/dist/index102.js.map +1 -1
  30. package/dist/index103.cjs +92 -69
  31. package/dist/index103.cjs.map +1 -1
  32. package/dist/index103.js +91 -68
  33. package/dist/index103.js.map +1 -1
  34. package/dist/index104.cjs +34 -19
  35. package/dist/index104.cjs.map +1 -1
  36. package/dist/index104.js +35 -20
  37. package/dist/index104.js.map +1 -1
  38. package/dist/index105.cjs +116 -22
  39. package/dist/index105.cjs.map +1 -1
  40. package/dist/index105.js +115 -21
  41. package/dist/index105.js.map +1 -1
  42. package/dist/index106.cjs +43 -134
  43. package/dist/index106.cjs.map +1 -1
  44. package/dist/index106.js +42 -133
  45. package/dist/index106.js.map +1 -1
  46. package/dist/index107.cjs +16 -40
  47. package/dist/index107.cjs.map +1 -1
  48. package/dist/index107.js +16 -40
  49. package/dist/index107.js.map +1 -1
  50. package/dist/index108.cjs +4 -25
  51. package/dist/index108.cjs.map +1 -1
  52. package/dist/index108.js +5 -26
  53. package/dist/index108.js.map +1 -1
  54. package/dist/index109.cjs +35 -39
  55. package/dist/index109.cjs.map +1 -1
  56. package/dist/index109.js +34 -38
  57. package/dist/index109.js.map +1 -1
  58. package/dist/index11.cjs +1 -1
  59. package/dist/index11.js +1 -1
  60. package/dist/index110.cjs +43 -57
  61. package/dist/index110.cjs.map +1 -1
  62. package/dist/index110.js +42 -56
  63. package/dist/index110.js.map +1 -1
  64. package/dist/index111.cjs +24 -24
  65. package/dist/index111.cjs.map +1 -1
  66. package/dist/index111.js +23 -23
  67. package/dist/index111.js.map +1 -1
  68. package/dist/index112.cjs +20 -7
  69. package/dist/index112.cjs.map +1 -1
  70. package/dist/index112.js +19 -6
  71. package/dist/index112.js.map +1 -1
  72. package/dist/index113.cjs +14 -25
  73. package/dist/index113.cjs.map +1 -1
  74. package/dist/index113.js +13 -24
  75. package/dist/index113.js.map +1 -1
  76. package/dist/index114.cjs +57 -36
  77. package/dist/index114.cjs.map +1 -1
  78. package/dist/index114.js +57 -36
  79. package/dist/index114.js.map +1 -1
  80. package/dist/index115.cjs +21 -39
  81. package/dist/index115.cjs.map +1 -1
  82. package/dist/index115.js +20 -38
  83. package/dist/index115.js.map +1 -1
  84. package/dist/index116.cjs +18 -92
  85. package/dist/index116.cjs.map +1 -1
  86. package/dist/index116.js +17 -91
  87. package/dist/index116.js.map +1 -1
  88. package/dist/index117.cjs +15 -33
  89. package/dist/index117.cjs.map +1 -1
  90. package/dist/index117.js +16 -34
  91. package/dist/index117.js.map +1 -1
  92. package/dist/index118.cjs +16 -116
  93. package/dist/index118.cjs.map +1 -1
  94. package/dist/index118.js +15 -115
  95. package/dist/index118.js.map +1 -1
  96. package/dist/index119.cjs +32 -35
  97. package/dist/index119.cjs.map +1 -1
  98. package/dist/index119.js +32 -35
  99. package/dist/index119.js.map +1 -1
  100. package/dist/index12.cjs +1 -1
  101. package/dist/index12.js +1 -1
  102. package/dist/index120.cjs +48 -85
  103. package/dist/index120.cjs.map +1 -1
  104. package/dist/index120.js +47 -84
  105. package/dist/index120.js.map +1 -1
  106. package/dist/index121.cjs +18 -25
  107. package/dist/index121.cjs.map +1 -1
  108. package/dist/index121.js +17 -24
  109. package/dist/index121.js.map +1 -1
  110. package/dist/index122.cjs +37 -1164
  111. package/dist/index122.cjs.map +1 -1
  112. package/dist/index122.js +35 -1163
  113. package/dist/index122.js.map +1 -1
  114. package/dist/index123.cjs +42 -1575
  115. package/dist/index123.cjs.map +1 -1
  116. package/dist/index123.js +41 -1575
  117. package/dist/index123.js.map +1 -1
  118. package/dist/index124.cjs +1166 -0
  119. package/dist/index124.cjs.map +1 -0
  120. package/dist/index124.js +1167 -0
  121. package/dist/index124.js.map +1 -0
  122. package/dist/index125.cjs +1578 -0
  123. package/dist/index125.cjs.map +1 -0
  124. package/dist/index125.js +1579 -0
  125. package/dist/index125.js.map +1 -0
  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 +2 -2
  133. package/dist/index16.js +2 -2
  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 +2 -2
  145. package/dist/index22.js +2 -2
  146. package/dist/index23.cjs +2 -2
  147. package/dist/index23.js +2 -2
  148. package/dist/index24.cjs +2 -2
  149. package/dist/index24.js +2 -2
  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 +7 -7
  161. package/dist/index30.js +7 -7
  162. package/dist/index31.cjs +4 -4
  163. package/dist/index31.js +4 -4
  164. package/dist/index32.cjs +78 -53
  165. package/dist/index32.cjs.map +1 -1
  166. package/dist/index32.js +79 -54
  167. package/dist/index32.js.map +1 -1
  168. package/dist/index33.cjs +1 -1
  169. package/dist/index33.js +1 -1
  170. package/dist/index34.cjs +2 -2
  171. package/dist/index34.js +2 -2
  172. package/dist/index35.cjs +2 -2
  173. package/dist/index35.js +2 -2
  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 +2 -2
  179. package/dist/index38.js +2 -2
  180. package/dist/index39.cjs +1 -1
  181. package/dist/index39.js +1 -1
  182. package/dist/index40.cjs +2 -2
  183. package/dist/index40.js +2 -2
  184. package/dist/index41.cjs +2 -2
  185. package/dist/index41.js +2 -2
  186. package/dist/index42.cjs +2 -2
  187. package/dist/index42.js +2 -2
  188. package/dist/index43.cjs +1 -1
  189. package/dist/index43.js +1 -1
  190. package/dist/index44.cjs +2 -2
  191. package/dist/index44.js +2 -2
  192. package/dist/index45.cjs +4 -4
  193. package/dist/index45.js +4 -4
  194. package/dist/index46.cjs +1 -1
  195. package/dist/index46.js +1 -1
  196. package/dist/index47.cjs +1 -1
  197. package/dist/index47.js +1 -1
  198. package/dist/index48.cjs +1 -1
  199. package/dist/index48.js +1 -1
  200. package/dist/index49.cjs +2 -2
  201. package/dist/index49.js +2 -2
  202. package/dist/index50.cjs +2 -2
  203. package/dist/index50.js +2 -2
  204. package/dist/index51.cjs +1 -1
  205. package/dist/index51.js +1 -1
  206. package/dist/index52.cjs +3 -3
  207. package/dist/index52.js +3 -3
  208. package/dist/index53.cjs +1 -1
  209. package/dist/index53.js +1 -1
  210. package/dist/index54.cjs +1 -1
  211. package/dist/index54.js +1 -1
  212. package/dist/index55.cjs +3 -3
  213. package/dist/index55.js +3 -3
  214. package/dist/index56.cjs +1 -1
  215. package/dist/index56.js +1 -1
  216. package/dist/index57.cjs +1 -1
  217. package/dist/index57.js +1 -1
  218. package/dist/index58.cjs +2 -2
  219. package/dist/index58.js +2 -2
  220. package/dist/index60.cjs +22 -10
  221. package/dist/index60.cjs.map +1 -1
  222. package/dist/index60.js +22 -10
  223. package/dist/index60.js.map +1 -1
  224. package/dist/index61.cjs +23 -5
  225. package/dist/index61.cjs.map +1 -1
  226. package/dist/index61.js +24 -6
  227. package/dist/index61.js.map +1 -1
  228. package/dist/index62.cjs +18 -17
  229. package/dist/index62.cjs.map +1 -1
  230. package/dist/index62.js +17 -16
  231. package/dist/index62.js.map +1 -1
  232. package/dist/index63.cjs +142 -6
  233. package/dist/index63.cjs.map +1 -1
  234. package/dist/index63.js +141 -5
  235. package/dist/index63.js.map +1 -1
  236. package/dist/index64.cjs +20 -2
  237. package/dist/index64.cjs.map +1 -1
  238. package/dist/index64.js +21 -3
  239. package/dist/index64.js.map +1 -1
  240. package/dist/index65.cjs +19 -141
  241. package/dist/index65.cjs.map +1 -1
  242. package/dist/index65.js +17 -139
  243. package/dist/index65.js.map +1 -1
  244. package/dist/index66.cjs +13 -16
  245. package/dist/index66.cjs.map +1 -1
  246. package/dist/index66.js +14 -17
  247. package/dist/index66.js.map +1 -1
  248. package/dist/index67.cjs +16 -46
  249. package/dist/index67.cjs.map +1 -1
  250. package/dist/index67.js +16 -46
  251. package/dist/index67.js.map +1 -1
  252. package/dist/index68.cjs +16 -52
  253. package/dist/index68.cjs.map +1 -1
  254. package/dist/index68.js +16 -52
  255. package/dist/index68.js.map +1 -1
  256. package/dist/index70.cjs +20 -2
  257. package/dist/index70.cjs.map +1 -1
  258. package/dist/index70.js +20 -2
  259. package/dist/index70.js.map +1 -1
  260. package/dist/index71.cjs +45 -12
  261. package/dist/index71.cjs.map +1 -1
  262. package/dist/index71.js +46 -13
  263. package/dist/index71.js.map +1 -1
  264. package/dist/index72.cjs +2 -35
  265. package/dist/index72.cjs.map +1 -1
  266. package/dist/index72.js +3 -36
  267. package/dist/index72.js.map +1 -1
  268. package/dist/index73.cjs +77 -26
  269. package/dist/index73.cjs.map +1 -1
  270. package/dist/index73.js +77 -26
  271. package/dist/index73.js.map +1 -1
  272. package/dist/index74.cjs +52 -13
  273. package/dist/index74.cjs.map +1 -1
  274. package/dist/index74.js +53 -14
  275. package/dist/index74.js.map +1 -1
  276. package/dist/index75.cjs +34 -10
  277. package/dist/index75.cjs.map +1 -1
  278. package/dist/index75.js +35 -11
  279. package/dist/index75.js.map +1 -1
  280. package/dist/index76.cjs +17 -21
  281. package/dist/index76.cjs.map +1 -1
  282. package/dist/index76.js +16 -20
  283. package/dist/index76.js.map +1 -1
  284. package/dist/index77.cjs +2 -5
  285. package/dist/index77.cjs.map +1 -1
  286. package/dist/index77.js +2 -5
  287. package/dist/index77.js.map +1 -1
  288. package/dist/index78.cjs +2 -38
  289. package/dist/index78.cjs.map +1 -1
  290. package/dist/index78.js +3 -39
  291. package/dist/index78.js.map +1 -1
  292. package/dist/index79.cjs +5 -29
  293. package/dist/index79.cjs.map +1 -1
  294. package/dist/index79.js +6 -30
  295. package/dist/index79.js.map +1 -1
  296. package/dist/index80.cjs +29 -17
  297. package/dist/index80.cjs.map +1 -1
  298. package/dist/index80.js +29 -17
  299. package/dist/index80.js.map +1 -1
  300. package/dist/index81.cjs +21 -22
  301. package/dist/index81.cjs.map +1 -1
  302. package/dist/index81.js +20 -21
  303. package/dist/index81.js.map +1 -1
  304. package/dist/index82.cjs +15 -69
  305. package/dist/index82.cjs.map +1 -1
  306. package/dist/index82.js +14 -68
  307. package/dist/index82.js.map +1 -1
  308. package/dist/index83.cjs +24 -7
  309. package/dist/index83.cjs.map +1 -1
  310. package/dist/index83.js +23 -6
  311. package/dist/index83.js.map +1 -1
  312. package/dist/index84.cjs +2 -35
  313. package/dist/index84.cjs.map +1 -1
  314. package/dist/index84.js +3 -36
  315. package/dist/index84.js.map +1 -1
  316. package/dist/index85.cjs +24 -35
  317. package/dist/index85.cjs.map +1 -1
  318. package/dist/index85.js +23 -34
  319. package/dist/index85.js.map +1 -1
  320. package/dist/index86.cjs +69 -43
  321. package/dist/index86.cjs.map +1 -1
  322. package/dist/index86.js +68 -42
  323. package/dist/index86.js.map +1 -1
  324. package/dist/index87.cjs +24 -24
  325. package/dist/index87.cjs.map +1 -1
  326. package/dist/index87.js +23 -23
  327. package/dist/index87.js.map +1 -1
  328. package/dist/index88.cjs +7 -20
  329. package/dist/index88.cjs.map +1 -1
  330. package/dist/index88.js +6 -19
  331. package/dist/index88.js.map +1 -1
  332. package/dist/index89.cjs +7 -14
  333. package/dist/index89.cjs.map +1 -1
  334. package/dist/index89.js +6 -13
  335. package/dist/index89.js.map +1 -1
  336. package/dist/index90.cjs +8 -53
  337. package/dist/index90.cjs.map +1 -1
  338. package/dist/index90.js +9 -54
  339. package/dist/index90.js.map +1 -1
  340. package/dist/index91.cjs +13 -19
  341. package/dist/index91.cjs.map +1 -1
  342. package/dist/index91.js +14 -20
  343. package/dist/index91.js.map +1 -1
  344. package/dist/index92.cjs +49 -13
  345. package/dist/index92.cjs.map +1 -1
  346. package/dist/index92.js +49 -13
  347. package/dist/index92.js.map +1 -1
  348. package/dist/index93.cjs +134 -55
  349. package/dist/index93.cjs.map +1 -1
  350. package/dist/index93.js +133 -54
  351. package/dist/index93.js.map +1 -1
  352. package/dist/index94.cjs +40 -22
  353. package/dist/index94.cjs.map +1 -1
  354. package/dist/index94.js +40 -22
  355. package/dist/index94.js.map +1 -1
  356. package/dist/index95.cjs +36 -15
  357. package/dist/index95.cjs.map +1 -1
  358. package/dist/index95.js +36 -15
  359. package/dist/index95.js.map +1 -1
  360. package/dist/index96.cjs +28 -13
  361. package/dist/index96.cjs.map +1 -1
  362. package/dist/index96.js +28 -13
  363. package/dist/index96.js.map +1 -1
  364. package/dist/index97.cjs +22 -27
  365. package/dist/index97.cjs.map +1 -1
  366. package/dist/index97.js +21 -26
  367. package/dist/index97.js.map +1 -1
  368. package/dist/index98.cjs +69 -21
  369. package/dist/index98.cjs.map +1 -1
  370. package/dist/index98.js +68 -20
  371. package/dist/index98.js.map +1 -1
  372. package/dist/index99.cjs +7 -21
  373. package/dist/index99.cjs.map +1 -1
  374. package/dist/index99.js +6 -20
  375. package/dist/index99.js.map +1 -1
  376. package/dist/style.css +19 -5
  377. package/package.json +1 -1
package/dist/index95.js CHANGED
@@ -1,21 +1,42 @@
1
- const region = "krc-region-4A3qS";
2
- const toast = "krc-toast-VuzaK";
3
- const toastIn = "krc-toast-in-TA6-r";
4
- const success = "krc-success-oDnTy";
5
- const error = "krc-error-dSTQn";
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";
6
13
  const styles = {
7
- region,
8
- toast,
9
- toastIn,
10
- success,
11
- error
14
+ throbber,
15
+ spinner,
16
+ loadingSpin,
17
+ titleRow,
18
+ titleSpinner,
19
+ steps,
20
+ step,
21
+ pending,
22
+ iconSlot,
23
+ stepSpinner,
24
+ checkIcon,
25
+ nonClosable
12
26
  };
13
27
  export {
28
+ checkIcon,
14
29
  styles as default,
15
- error,
16
- region,
17
- success,
18
- toast,
19
- toastIn
30
+ iconSlot,
31
+ loadingSpin,
32
+ nonClosable,
33
+ pending,
34
+ spinner,
35
+ step,
36
+ stepSpinner,
37
+ steps,
38
+ throbber,
39
+ titleRow,
40
+ titleSpinner
20
41
  };
21
42
  //# sourceMappingURL=index95.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index95.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
1
+ {"version":3,"file":"index95.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index96.cjs CHANGED
@@ -1,21 +1,36 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const root = "krc-root-oc0XP";
4
- const success = "krc-success-JzpGX";
5
- const warning = "krc-warning-lTskX";
6
- const danger = "krc-danger-zFPHk";
7
- const info = "krc-info-k9uTn";
3
+ const root = "krc-root-rUudF";
4
+ const header = "krc-header-zjbPA";
5
+ const title = "krc-title-ScYja";
6
+ const timeRangeGroup = "krc-timeRangeGroup-FP1TP";
7
+ const timeRangeButton = "krc-timeRangeButton-9XCxb";
8
+ const timeRangeButtonActive = "krc-timeRangeButtonActive-Y-KCh";
9
+ const chartContainer = "krc-chartContainer-6rb4Z";
10
+ const loading = "krc-loading-EWhol";
11
+ const error = "krc-error-erDaP";
12
+ const empty = "krc-empty---cYi";
8
13
  const styles = {
9
14
  root,
10
- success,
11
- warning,
12
- danger,
13
- info
15
+ header,
16
+ title,
17
+ timeRangeGroup,
18
+ timeRangeButton,
19
+ timeRangeButtonActive,
20
+ chartContainer,
21
+ loading,
22
+ error,
23
+ empty
14
24
  };
15
- exports.danger = danger;
25
+ exports.chartContainer = chartContainer;
16
26
  exports.default = styles;
17
- exports.info = info;
27
+ exports.empty = empty;
28
+ exports.error = error;
29
+ exports.header = header;
30
+ exports.loading = loading;
18
31
  exports.root = root;
19
- exports.success = success;
20
- exports.warning = warning;
32
+ exports.timeRangeButton = timeRangeButton;
33
+ exports.timeRangeButtonActive = timeRangeButtonActive;
34
+ exports.timeRangeGroup = timeRangeGroup;
35
+ exports.title = title;
21
36
  //# sourceMappingURL=index96.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index96.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index96.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index96.js CHANGED
@@ -1,21 +1,36 @@
1
- const root = "krc-root-oc0XP";
2
- const success = "krc-success-JzpGX";
3
- const warning = "krc-warning-lTskX";
4
- const danger = "krc-danger-zFPHk";
5
- const info = "krc-info-k9uTn";
1
+ const root = "krc-root-rUudF";
2
+ const header = "krc-header-zjbPA";
3
+ const title = "krc-title-ScYja";
4
+ const timeRangeGroup = "krc-timeRangeGroup-FP1TP";
5
+ const timeRangeButton = "krc-timeRangeButton-9XCxb";
6
+ const timeRangeButtonActive = "krc-timeRangeButtonActive-Y-KCh";
7
+ const chartContainer = "krc-chartContainer-6rb4Z";
8
+ const loading = "krc-loading-EWhol";
9
+ const error = "krc-error-erDaP";
10
+ const empty = "krc-empty---cYi";
6
11
  const styles = {
7
12
  root,
8
- success,
9
- warning,
10
- danger,
11
- info
13
+ header,
14
+ title,
15
+ timeRangeGroup,
16
+ timeRangeButton,
17
+ timeRangeButtonActive,
18
+ chartContainer,
19
+ loading,
20
+ error,
21
+ empty
12
22
  };
13
23
  export {
14
- danger,
24
+ chartContainer,
15
25
  styles as default,
16
- info,
26
+ empty,
27
+ error,
28
+ header,
29
+ loading,
17
30
  root,
18
- success,
19
- warning
31
+ timeRangeButton,
32
+ timeRangeButtonActive,
33
+ timeRangeGroup,
34
+ title
20
35
  };
21
36
  //# sourceMappingURL=index96.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index96.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
1
+ {"version":3,"file":"index96.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index97.cjs CHANGED
@@ -1,30 +1,25 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const root = "krc-root-ZwPiG";
4
- const label = "krc-label-WG17f";
5
- const value = "krc-value-S9SSu";
6
- const red = "krc-red-stqO-";
7
- const amber = "krc-amber-lZgsd";
8
- const sub = "krc-sub-0xfrv";
9
- const isClick = "krc-isClick-CnKvM";
10
- const isActive = "krc-isActive-YLCNL";
11
- const styles = {
12
- root,
13
- label,
14
- value,
15
- red,
16
- amber,
17
- sub,
18
- isClick,
19
- isActive
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const merge = (a, b) => a == null ? b : b == null ? a : a + b;
4
+ const pivotGroupedBars = (data) => {
5
+ const categories = /* @__PURE__ */ new Set();
6
+ const cells = /* @__PURE__ */ new Map();
7
+ for (const { category, series: series2, value } of data) {
8
+ categories.add(category);
9
+ let row = cells.get(series2);
10
+ if (!row) {
11
+ row = /* @__PURE__ */ new Map();
12
+ cells.set(series2, row);
13
+ }
14
+ row.set(category, row.has(category) ? merge(row.get(category) ?? null, value) : value);
15
+ }
16
+ const categoryList = [...categories];
17
+ const series = [...cells.entries()].map(([name, row]) => ({
18
+ name,
19
+ values: categoryList.map((category) => row.get(category) ?? null)
20
+ }));
21
+ const hasValues = series.some((s) => s.values.some((v) => v != null));
22
+ return { categories: categoryList, series, hasValues };
20
23
  };
21
- exports.amber = amber;
22
- exports.default = styles;
23
- exports.isActive = isActive;
24
- exports.isClick = isClick;
25
- exports.label = label;
26
- exports.red = red;
27
- exports.root = root;
28
- exports.sub = sub;
29
- exports.value = value;
24
+ exports.pivotGroupedBars = pivotGroupedBars;
30
25
  //# sourceMappingURL=index97.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index97.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index97.cjs","sources":["../src/charts/GroupedBarChartCard/pivotGroupedBars.ts"],"sourcesContent":["import type { GroupedBarPoint } from '../../types/chart.types';\n\n/** One series with its values aligned to `categories`; `null` is a gap. */\nexport interface PivotedSeries {\n name: string;\n values: (number | null)[];\n}\n\n/** Category × series matrix of a grouped bar chart. */\nexport interface GroupedBarPivot {\n /** First-seen order. */\n categories: string[];\n /** First-seen order. */\n series: PivotedSeries[];\n /** Whether any value is non-null — false means there is nothing to draw. */\n hasValues: boolean;\n}\n\n/** `null` adds nothing: only nulls stay a gap. */\nconst merge = (a: number | null, b: number | null) => (a == null ? b : b == null ? a : a + b);\n\n/**\n * Pivot points into a category × series matrix, keeping first-appearance order,\n * summing repeated pairs and filling missing pairs with `null` — never `0`.\n */\nexport const pivotGroupedBars = (data: GroupedBarPoint[]): GroupedBarPivot => {\n const categories = new Set<string>();\n const cells = new Map<string, Map<string, number | null>>();\n\n for (const { category, series, value } of data) {\n categories.add(category);\n let row = cells.get(series);\n if (!row) {\n row = new Map();\n cells.set(series, row);\n }\n row.set(category, row.has(category) ? merge(row.get(category) ?? null, value) : value);\n }\n\n const categoryList = [...categories];\n const series = [...cells.entries()].map(([name, row]) => ({\n name,\n values: categoryList.map((category) => row.get(category) ?? null),\n }));\n const hasValues = series.some((s) => s.values.some((v) => v != null));\n\n return { categories: categoryList, series, hasValues };\n};\n"],"names":["series"],"mappings":";;AAmBA,MAAM,QAAQ,CAAC,GAAkB,MAAsB,KAAK,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI;AAMpF,MAAM,mBAAmB,CAAC,SAA6C;AAC5E,QAAM,iCAAiB,IAAA;AACvB,QAAM,4BAAY,IAAA;AAElB,aAAW,EAAE,UAAU,QAAAA,SAAQ,MAAA,KAAW,MAAM;AAC9C,eAAW,IAAI,QAAQ;AACvB,QAAI,MAAM,MAAM,IAAIA,OAAM;AAC1B,QAAI,CAAC,KAAK;AACR,gCAAU,IAAA;AACV,YAAM,IAAIA,SAAQ,GAAG;AAAA,IACvB;AACA,QAAI,IAAI,UAAU,IAAI,IAAI,QAAQ,IAAI,MAAM,IAAI,IAAI,QAAQ,KAAK,MAAM,KAAK,IAAI,KAAK;AAAA,EACvF;AAEA,QAAM,eAAe,CAAC,GAAG,UAAU;AACnC,QAAM,SAAS,CAAC,GAAG,MAAM,QAAA,CAAS,EAAE,IAAI,CAAC,CAAC,MAAM,GAAG,OAAO;AAAA,IACxD;AAAA,IACA,QAAQ,aAAa,IAAI,CAAC,aAAa,IAAI,IAAI,QAAQ,KAAK,IAAI;AAAA,EAAA,EAChE;AACF,QAAM,YAAY,OAAO,KAAK,CAAC,MAAM,EAAE,OAAO,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC;AAEpE,SAAO,EAAE,YAAY,cAAc,QAAQ,UAAA;AAC7C;;"}
package/dist/index97.js CHANGED
@@ -1,30 +1,25 @@
1
- const root = "krc-root-ZwPiG";
2
- const label = "krc-label-WG17f";
3
- const value = "krc-value-S9SSu";
4
- const red = "krc-red-stqO-";
5
- const amber = "krc-amber-lZgsd";
6
- const sub = "krc-sub-0xfrv";
7
- const isClick = "krc-isClick-CnKvM";
8
- const isActive = "krc-isActive-YLCNL";
9
- const styles = {
10
- root,
11
- label,
12
- value,
13
- red,
14
- amber,
15
- sub,
16
- isClick,
17
- isActive
1
+ const merge = (a, b) => a == null ? b : b == null ? a : a + b;
2
+ const pivotGroupedBars = (data) => {
3
+ const categories = /* @__PURE__ */ new Set();
4
+ const cells = /* @__PURE__ */ new Map();
5
+ for (const { category, series: series2, value } of data) {
6
+ categories.add(category);
7
+ let row = cells.get(series2);
8
+ if (!row) {
9
+ row = /* @__PURE__ */ new Map();
10
+ cells.set(series2, row);
11
+ }
12
+ row.set(category, row.has(category) ? merge(row.get(category) ?? null, value) : value);
13
+ }
14
+ const categoryList = [...categories];
15
+ const series = [...cells.entries()].map(([name, row]) => ({
16
+ name,
17
+ values: categoryList.map((category) => row.get(category) ?? null)
18
+ }));
19
+ const hasValues = series.some((s) => s.values.some((v) => v != null));
20
+ return { categories: categoryList, series, hasValues };
18
21
  };
19
22
  export {
20
- amber,
21
- styles as default,
22
- isActive,
23
- isClick,
24
- label,
25
- red,
26
- root,
27
- sub,
28
- value
23
+ pivotGroupedBars
29
24
  };
30
25
  //# sourceMappingURL=index97.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index97.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index97.js","sources":["../src/charts/GroupedBarChartCard/pivotGroupedBars.ts"],"sourcesContent":["import type { GroupedBarPoint } from '../../types/chart.types';\n\n/** One series with its values aligned to `categories`; `null` is a gap. */\nexport interface PivotedSeries {\n name: string;\n values: (number | null)[];\n}\n\n/** Category × series matrix of a grouped bar chart. */\nexport interface GroupedBarPivot {\n /** First-seen order. */\n categories: string[];\n /** First-seen order. */\n series: PivotedSeries[];\n /** Whether any value is non-null — false means there is nothing to draw. */\n hasValues: boolean;\n}\n\n/** `null` adds nothing: only nulls stay a gap. */\nconst merge = (a: number | null, b: number | null) => (a == null ? b : b == null ? a : a + b);\n\n/**\n * Pivot points into a category × series matrix, keeping first-appearance order,\n * summing repeated pairs and filling missing pairs with `null` — never `0`.\n */\nexport const pivotGroupedBars = (data: GroupedBarPoint[]): GroupedBarPivot => {\n const categories = new Set<string>();\n const cells = new Map<string, Map<string, number | null>>();\n\n for (const { category, series, value } of data) {\n categories.add(category);\n let row = cells.get(series);\n if (!row) {\n row = new Map();\n cells.set(series, row);\n }\n row.set(category, row.has(category) ? merge(row.get(category) ?? null, value) : value);\n }\n\n const categoryList = [...categories];\n const series = [...cells.entries()].map(([name, row]) => ({\n name,\n values: categoryList.map((category) => row.get(category) ?? null),\n }));\n const hasValues = series.some((s) => s.values.some((v) => v != null));\n\n return { categories: categoryList, series, hasValues };\n};\n"],"names":["series"],"mappings":"AAmBA,MAAM,QAAQ,CAAC,GAAkB,MAAsB,KAAK,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI;AAMpF,MAAM,mBAAmB,CAAC,SAA6C;AAC5E,QAAM,iCAAiB,IAAA;AACvB,QAAM,4BAAY,IAAA;AAElB,aAAW,EAAE,UAAU,QAAAA,SAAQ,MAAA,KAAW,MAAM;AAC9C,eAAW,IAAI,QAAQ;AACvB,QAAI,MAAM,MAAM,IAAIA,OAAM;AAC1B,QAAI,CAAC,KAAK;AACR,gCAAU,IAAA;AACV,YAAM,IAAIA,SAAQ,GAAG;AAAA,IACvB;AACA,QAAI,IAAI,UAAU,IAAI,IAAI,QAAQ,IAAI,MAAM,IAAI,IAAI,QAAQ,KAAK,MAAM,KAAK,IAAI,KAAK;AAAA,EACvF;AAEA,QAAM,eAAe,CAAC,GAAG,UAAU;AACnC,QAAM,SAAS,CAAC,GAAG,MAAM,QAAA,CAAS,EAAE,IAAI,CAAC,CAAC,MAAM,GAAG,OAAO;AAAA,IACxD;AAAA,IACA,QAAQ,aAAa,IAAI,CAAC,aAAa,IAAI,IAAI,QAAQ,KAAK,IAAI;AAAA,EAAA,EAChE;AACF,QAAM,YAAY,OAAO,KAAK,CAAC,MAAM,EAAE,OAAO,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC;AAEpE,SAAO,EAAE,YAAY,cAAc,QAAQ,UAAA;AAC7C;"}
package/dist/index98.cjs CHANGED
@@ -1,24 +1,72 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const root = "krc-root-tsCGC";
4
- const input = "krc-input--stjU";
5
- const label = "krc-label-KD6pE";
6
- const disabled = "krc-disabled-ugpPh";
7
- const sm = "krc-sm-8drDq";
8
- const md = "krc-md-IG7oy";
9
- const styles = {
10
- root,
11
- input,
12
- label,
13
- disabled,
14
- sm,
15
- md
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const constants = require("./index63.cjs");
4
+ const { GRID_MARGIN, AXIS_NAME_GAP } = constants.GROUPED_BAR;
5
+ const escapeHtml = (value) => value.replace(/[&<>"]/g, (char) => `&#${char.charCodeAt(0)};`);
6
+ const colorFor = (name, index, seriesColors) => (seriesColors == null ? void 0 : seriesColors[name]) ?? constants.CHART_COLORS[index % constants.CHART_COLORS.length];
7
+ const markerFor = (color) => {
8
+ const { TOOLTIP_MARKER_SIZE: size, TOOLTIP_MARKER_GAP: gap } = constants.GROUPED_BAR;
9
+ return `<span style="display:inline-block;margin-right:${gap}px;border-radius:50%;width:${size}px;height:${size}px;background-color:${escapeHtml(color)};"></span>`;
16
10
  };
17
- exports.default = styles;
18
- exports.disabled = disabled;
19
- exports.input = input;
20
- exports.label = label;
21
- exports.md = md;
22
- exports.root = root;
23
- exports.sm = sm;
11
+ const buildTooltipFormatter = (pivot, colors, noValueText) => (params) => {
12
+ const first = Array.isArray(params) ? params[0] : params;
13
+ const index = first == null ? void 0 : first.dataIndex;
14
+ if (index == null || index >= pivot.categories.length) return "";
15
+ const lines = [escapeHtml(pivot.categories[index])];
16
+ pivot.series.forEach((s, i) => {
17
+ const value = s.values[index];
18
+ const text = value == null ? escapeHtml(noValueText) : String(value);
19
+ lines.push(`${markerFor(colors[i])}${escapeHtml(s.name)}: ${text}`);
20
+ });
21
+ return lines.join("<br/>");
22
+ };
23
+ const buildGrid = (config) => {
24
+ const named = Boolean(config.valueLabel);
25
+ return {
26
+ left: GRID_MARGIN.BASE + (named && !config.invertAxis ? GRID_MARGIN.VALUE_NAME_Y : 0),
27
+ right: GRID_MARGIN.RIGHT,
28
+ top: GRID_MARGIN.TOP,
29
+ // Room for a horizontal value-axis name and the legend, each only when drawn.
30
+ bottom: GRID_MARGIN.BASE + (named && config.invertAxis ? GRID_MARGIN.VALUE_NAME_X : 0) + (config.hideLegend ? 0 : GRID_MARGIN.LEGEND),
31
+ containLabel: true
32
+ };
33
+ };
34
+ const buildGroupedBarOption = (pivot, config) => {
35
+ const colors = pivot.series.map((s, i) => colorFor(s.name, i, config.seriesColors));
36
+ const categoryAxis = {
37
+ type: "category",
38
+ data: pivot.categories,
39
+ // Horizontal bars read top-down, so the first category goes on top.
40
+ inverse: config.invertAxis
41
+ };
42
+ const valueAxis = {
43
+ type: "value",
44
+ name: config.valueLabel,
45
+ nameLocation: "middle",
46
+ nameGap: config.invertAxis ? AXIS_NAME_GAP.X : AXIS_NAME_GAP.Y,
47
+ // Without this a vertical axis name is drawn horizontally and eats the plot's width.
48
+ nameRotate: config.invertAxis ? 0 : 90,
49
+ minInterval: config.integerValues ? 1 : void 0
50
+ };
51
+ return {
52
+ tooltip: {
53
+ trigger: "axis",
54
+ axisPointer: { type: "shadow" },
55
+ formatter: buildTooltipFormatter(pivot, colors, config.noValueText)
56
+ },
57
+ legend: { show: !config.hideLegend, bottom: 0, type: "scroll" },
58
+ grid: buildGrid(config),
59
+ xAxis: config.invertAxis ? valueAxis : categoryAxis,
60
+ yAxis: config.invertAxis ? categoryAxis : valueAxis,
61
+ series: pivot.series.map((s, i) => ({
62
+ name: s.name,
63
+ type: "bar",
64
+ data: s.values,
65
+ barMinHeight: constants.GROUPED_BAR.MIN_BAR_HEIGHT,
66
+ itemStyle: { color: colors[i] },
67
+ emphasis: { focus: "series" }
68
+ }))
69
+ };
70
+ };
71
+ exports.buildGroupedBarOption = buildGroupedBarOption;
24
72
  //# sourceMappingURL=index98.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index98.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index98.cjs","sources":["../src/charts/GroupedBarChartCard/buildGroupedBarOption.ts"],"sourcesContent":["import type { GroupedBarPivot } from './pivotGroupedBars';\nimport { CHART_COLORS, GROUPED_BAR } from '../../constants';\n\nexport interface GroupedBarOptionConfig {\n seriesColors?: Readonly<Record<string, string>>;\n invertAxis: boolean;\n hideLegend: boolean;\n integerValues: boolean;\n valueLabel?: string;\n /** Tooltip text for a gap. */\n noValueText: string;\n}\n\nconst { GRID_MARGIN, AXIS_NAME_GAP } = GROUPED_BAR;\n\n/** Category and series names come from consumer data and land in the tooltip's HTML. */\nconst escapeHtml = (value: string) =>\n value.replace(/[&<>\"]/g, (char) => `&#${char.charCodeAt(0)};`);\n\n/** Pinned colour first, else the palette by first-seen position. */\nconst colorFor = (name: string, index: number, seriesColors?: Readonly<Record<string, string>>) =>\n seriesColors?.[name] ?? CHART_COLORS[index % CHART_COLORS.length];\n\nconst markerFor = (color: string) => {\n const { TOOLTIP_MARKER_SIZE: size, TOOLTIP_MARKER_GAP: gap } = GROUPED_BAR;\n return `<span style=\"display:inline-block;margin-right:${gap}px;border-radius:50%;width:${size}px;height:${size}px;background-color:${escapeHtml(color)};\"></span>`;\n};\n\n/**\n * The tooltip is built from the pivot rather than from echarts' params, so every\n * series is listed in series order and a gap reads as `noValueText`, never `-`.\n */\nconst buildTooltipFormatter =\n (pivot: GroupedBarPivot, colors: string[], noValueText: string) => (params: unknown) => {\n const first = (Array.isArray(params) ? params[0] : params) as\n | { dataIndex?: number }\n | undefined;\n const index = first?.dataIndex;\n if (index == null || index >= pivot.categories.length) return '';\n\n const lines = [escapeHtml(pivot.categories[index])];\n pivot.series.forEach((s, i) => {\n const value = s.values[index];\n const text = value == null ? escapeHtml(noValueText) : String(value);\n lines.push(`${markerFor(colors[i])}${escapeHtml(s.name)}: ${text}`);\n });\n\n return lines.join('<br/>');\n };\n\nconst buildGrid = (config: GroupedBarOptionConfig) => {\n const named = Boolean(config.valueLabel);\n return {\n left: GRID_MARGIN.BASE + (named && !config.invertAxis ? GRID_MARGIN.VALUE_NAME_Y : 0),\n right: GRID_MARGIN.RIGHT,\n top: GRID_MARGIN.TOP,\n // Room for a horizontal value-axis name and the legend, each only when drawn.\n bottom:\n GRID_MARGIN.BASE +\n (named && config.invertAxis ? GRID_MARGIN.VALUE_NAME_X : 0) +\n (config.hideLegend ? 0 : GRID_MARGIN.LEGEND),\n containLabel: true,\n };\n};\n\nexport const buildGroupedBarOption = (pivot: GroupedBarPivot, config: GroupedBarOptionConfig) => {\n const colors = pivot.series.map((s, i) => colorFor(s.name, i, config.seriesColors));\n\n const categoryAxis = {\n type: 'category' as const,\n data: pivot.categories,\n // Horizontal bars read top-down, so the first category goes on top.\n inverse: config.invertAxis,\n };\n const valueAxis = {\n type: 'value' as const,\n name: config.valueLabel,\n nameLocation: 'middle' as const,\n nameGap: config.invertAxis ? AXIS_NAME_GAP.X : AXIS_NAME_GAP.Y,\n // Without this a vertical axis name is drawn horizontally and eats the plot's width.\n nameRotate: config.invertAxis ? 0 : 90,\n minInterval: config.integerValues ? 1 : undefined,\n };\n\n return {\n tooltip: {\n trigger: 'axis' as const,\n axisPointer: { type: 'shadow' as const },\n formatter: buildTooltipFormatter(pivot, colors, config.noValueText),\n },\n legend: { show: !config.hideLegend, bottom: 0, type: 'scroll' as const },\n grid: buildGrid(config),\n xAxis: config.invertAxis ? valueAxis : categoryAxis,\n yAxis: config.invertAxis ? categoryAxis : valueAxis,\n series: pivot.series.map((s, i) => ({\n name: s.name,\n type: 'bar' as const,\n data: s.values,\n barMinHeight: GROUPED_BAR.MIN_BAR_HEIGHT,\n itemStyle: { color: colors[i] },\n emphasis: { focus: 'series' as const },\n })),\n };\n};\n"],"names":["GROUPED_BAR","CHART_COLORS"],"mappings":";;;AAaA,MAAM,EAAE,aAAa,cAAA,IAAkBA,UAAAA;AAGvC,MAAM,aAAa,CAAC,UAClB,MAAM,QAAQ,WAAW,CAAC,SAAS,KAAK,KAAK,WAAW,CAAC,CAAC,GAAG;AAG/D,MAAM,WAAW,CAAC,MAAc,OAAe,kBAC7C,6CAAe,UAASC,UAAAA,aAAa,QAAQA,UAAAA,aAAa,MAAM;AAElE,MAAM,YAAY,CAAC,UAAkB;AACnC,QAAM,EAAE,qBAAqB,MAAM,oBAAoB,QAAQD,UAAAA;AAC/D,SAAO,kDAAkD,GAAG,8BAA8B,IAAI,aAAa,IAAI,uBAAuB,WAAW,KAAK,CAAC;AACzJ;AAMA,MAAM,wBACJ,CAAC,OAAwB,QAAkB,gBAAwB,CAAC,WAAoB;AACtF,QAAM,QAAS,MAAM,QAAQ,MAAM,IAAI,OAAO,CAAC,IAAI;AAGnD,QAAM,QAAQ,+BAAO;AACrB,MAAI,SAAS,QAAQ,SAAS,MAAM,WAAW,OAAQ,QAAO;AAE9D,QAAM,QAAQ,CAAC,WAAW,MAAM,WAAW,KAAK,CAAC,CAAC;AAClD,QAAM,OAAO,QAAQ,CAAC,GAAG,MAAM;AAC7B,UAAM,QAAQ,EAAE,OAAO,KAAK;AAC5B,UAAM,OAAO,SAAS,OAAO,WAAW,WAAW,IAAI,OAAO,KAAK;AACnE,UAAM,KAAK,GAAG,UAAU,OAAO,CAAC,CAAC,CAAC,GAAG,WAAW,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;AAAA,EACpE,CAAC;AAED,SAAO,MAAM,KAAK,OAAO;AAC3B;AAEF,MAAM,YAAY,CAAC,WAAmC;AACpD,QAAM,QAAQ,QAAQ,OAAO,UAAU;AACvC,SAAO;AAAA,IACL,MAAM,YAAY,QAAQ,SAAS,CAAC,OAAO,aAAa,YAAY,eAAe;AAAA,IACnF,OAAO,YAAY;AAAA,IACnB,KAAK,YAAY;AAAA;AAAA,IAEjB,QACE,YAAY,QACX,SAAS,OAAO,aAAa,YAAY,eAAe,MACxD,OAAO,aAAa,IAAI,YAAY;AAAA,IACvC,cAAc;AAAA,EAAA;AAElB;AAEO,MAAM,wBAAwB,CAAC,OAAwB,WAAmC;AAC/F,QAAM,SAAS,MAAM,OAAO,IAAI,CAAC,GAAG,MAAM,SAAS,EAAE,MAAM,GAAG,OAAO,YAAY,CAAC;AAElF,QAAM,eAAe;AAAA,IACnB,MAAM;AAAA,IACN,MAAM,MAAM;AAAA;AAAA,IAEZ,SAAS,OAAO;AAAA,EAAA;AAElB,QAAM,YAAY;AAAA,IAChB,MAAM;AAAA,IACN,MAAM,OAAO;AAAA,IACb,cAAc;AAAA,IACd,SAAS,OAAO,aAAa,cAAc,IAAI,cAAc;AAAA;AAAA,IAE7D,YAAY,OAAO,aAAa,IAAI;AAAA,IACpC,aAAa,OAAO,gBAAgB,IAAI;AAAA,EAAA;AAG1C,SAAO;AAAA,IACL,SAAS;AAAA,MACP,SAAS;AAAA,MACT,aAAa,EAAE,MAAM,SAAA;AAAA,MACrB,WAAW,sBAAsB,OAAO,QAAQ,OAAO,WAAW;AAAA,IAAA;AAAA,IAEpE,QAAQ,EAAE,MAAM,CAAC,OAAO,YAAY,QAAQ,GAAG,MAAM,SAAA;AAAA,IACrD,MAAM,UAAU,MAAM;AAAA,IACtB,OAAO,OAAO,aAAa,YAAY;AAAA,IACvC,OAAO,OAAO,aAAa,eAAe;AAAA,IAC1C,QAAQ,MAAM,OAAO,IAAI,CAAC,GAAG,OAAO;AAAA,MAClC,MAAM,EAAE;AAAA,MACR,MAAM;AAAA,MACN,MAAM,EAAE;AAAA,MACR,cAAcA,UAAAA,YAAY;AAAA,MAC1B,WAAW,EAAE,OAAO,OAAO,CAAC,EAAA;AAAA,MAC5B,UAAU,EAAE,OAAO,SAAA;AAAA,IAAkB,EACrC;AAAA,EAAA;AAEN;;"}
package/dist/index98.js CHANGED
@@ -1,24 +1,72 @@
1
- const root = "krc-root-tsCGC";
2
- const input = "krc-input--stjU";
3
- const label = "krc-label-KD6pE";
4
- const disabled = "krc-disabled-ugpPh";
5
- const sm = "krc-sm-8drDq";
6
- const md = "krc-md-IG7oy";
7
- const styles = {
8
- root,
9
- input,
10
- label,
11
- disabled,
12
- sm,
13
- md
1
+ import { GROUPED_BAR, CHART_COLORS } from "./index63.js";
2
+ const { GRID_MARGIN, AXIS_NAME_GAP } = GROUPED_BAR;
3
+ const escapeHtml = (value) => value.replace(/[&<>"]/g, (char) => `&#${char.charCodeAt(0)};`);
4
+ const colorFor = (name, index, seriesColors) => (seriesColors == null ? void 0 : seriesColors[name]) ?? CHART_COLORS[index % CHART_COLORS.length];
5
+ const markerFor = (color) => {
6
+ const { TOOLTIP_MARKER_SIZE: size, TOOLTIP_MARKER_GAP: gap } = GROUPED_BAR;
7
+ return `<span style="display:inline-block;margin-right:${gap}px;border-radius:50%;width:${size}px;height:${size}px;background-color:${escapeHtml(color)};"></span>`;
8
+ };
9
+ const buildTooltipFormatter = (pivot, colors, noValueText) => (params) => {
10
+ const first = Array.isArray(params) ? params[0] : params;
11
+ const index = first == null ? void 0 : first.dataIndex;
12
+ if (index == null || index >= pivot.categories.length) return "";
13
+ const lines = [escapeHtml(pivot.categories[index])];
14
+ pivot.series.forEach((s, i) => {
15
+ const value = s.values[index];
16
+ const text = value == null ? escapeHtml(noValueText) : String(value);
17
+ lines.push(`${markerFor(colors[i])}${escapeHtml(s.name)}: ${text}`);
18
+ });
19
+ return lines.join("<br/>");
20
+ };
21
+ const buildGrid = (config) => {
22
+ const named = Boolean(config.valueLabel);
23
+ return {
24
+ left: GRID_MARGIN.BASE + (named && !config.invertAxis ? GRID_MARGIN.VALUE_NAME_Y : 0),
25
+ right: GRID_MARGIN.RIGHT,
26
+ top: GRID_MARGIN.TOP,
27
+ // Room for a horizontal value-axis name and the legend, each only when drawn.
28
+ bottom: GRID_MARGIN.BASE + (named && config.invertAxis ? GRID_MARGIN.VALUE_NAME_X : 0) + (config.hideLegend ? 0 : GRID_MARGIN.LEGEND),
29
+ containLabel: true
30
+ };
31
+ };
32
+ const buildGroupedBarOption = (pivot, config) => {
33
+ const colors = pivot.series.map((s, i) => colorFor(s.name, i, config.seriesColors));
34
+ const categoryAxis = {
35
+ type: "category",
36
+ data: pivot.categories,
37
+ // Horizontal bars read top-down, so the first category goes on top.
38
+ inverse: config.invertAxis
39
+ };
40
+ const valueAxis = {
41
+ type: "value",
42
+ name: config.valueLabel,
43
+ nameLocation: "middle",
44
+ nameGap: config.invertAxis ? AXIS_NAME_GAP.X : AXIS_NAME_GAP.Y,
45
+ // Without this a vertical axis name is drawn horizontally and eats the plot's width.
46
+ nameRotate: config.invertAxis ? 0 : 90,
47
+ minInterval: config.integerValues ? 1 : void 0
48
+ };
49
+ return {
50
+ tooltip: {
51
+ trigger: "axis",
52
+ axisPointer: { type: "shadow" },
53
+ formatter: buildTooltipFormatter(pivot, colors, config.noValueText)
54
+ },
55
+ legend: { show: !config.hideLegend, bottom: 0, type: "scroll" },
56
+ grid: buildGrid(config),
57
+ xAxis: config.invertAxis ? valueAxis : categoryAxis,
58
+ yAxis: config.invertAxis ? categoryAxis : valueAxis,
59
+ series: pivot.series.map((s, i) => ({
60
+ name: s.name,
61
+ type: "bar",
62
+ data: s.values,
63
+ barMinHeight: GROUPED_BAR.MIN_BAR_HEIGHT,
64
+ itemStyle: { color: colors[i] },
65
+ emphasis: { focus: "series" }
66
+ }))
67
+ };
14
68
  };
15
69
  export {
16
- styles as default,
17
- disabled,
18
- input,
19
- label,
20
- md,
21
- root,
22
- sm
70
+ buildGroupedBarOption
23
71
  };
24
72
  //# sourceMappingURL=index98.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index98.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index98.js","sources":["../src/charts/GroupedBarChartCard/buildGroupedBarOption.ts"],"sourcesContent":["import type { GroupedBarPivot } from './pivotGroupedBars';\nimport { CHART_COLORS, GROUPED_BAR } from '../../constants';\n\nexport interface GroupedBarOptionConfig {\n seriesColors?: Readonly<Record<string, string>>;\n invertAxis: boolean;\n hideLegend: boolean;\n integerValues: boolean;\n valueLabel?: string;\n /** Tooltip text for a gap. */\n noValueText: string;\n}\n\nconst { GRID_MARGIN, AXIS_NAME_GAP } = GROUPED_BAR;\n\n/** Category and series names come from consumer data and land in the tooltip's HTML. */\nconst escapeHtml = (value: string) =>\n value.replace(/[&<>\"]/g, (char) => `&#${char.charCodeAt(0)};`);\n\n/** Pinned colour first, else the palette by first-seen position. */\nconst colorFor = (name: string, index: number, seriesColors?: Readonly<Record<string, string>>) =>\n seriesColors?.[name] ?? CHART_COLORS[index % CHART_COLORS.length];\n\nconst markerFor = (color: string) => {\n const { TOOLTIP_MARKER_SIZE: size, TOOLTIP_MARKER_GAP: gap } = GROUPED_BAR;\n return `<span style=\"display:inline-block;margin-right:${gap}px;border-radius:50%;width:${size}px;height:${size}px;background-color:${escapeHtml(color)};\"></span>`;\n};\n\n/**\n * The tooltip is built from the pivot rather than from echarts' params, so every\n * series is listed in series order and a gap reads as `noValueText`, never `-`.\n */\nconst buildTooltipFormatter =\n (pivot: GroupedBarPivot, colors: string[], noValueText: string) => (params: unknown) => {\n const first = (Array.isArray(params) ? params[0] : params) as\n | { dataIndex?: number }\n | undefined;\n const index = first?.dataIndex;\n if (index == null || index >= pivot.categories.length) return '';\n\n const lines = [escapeHtml(pivot.categories[index])];\n pivot.series.forEach((s, i) => {\n const value = s.values[index];\n const text = value == null ? escapeHtml(noValueText) : String(value);\n lines.push(`${markerFor(colors[i])}${escapeHtml(s.name)}: ${text}`);\n });\n\n return lines.join('<br/>');\n };\n\nconst buildGrid = (config: GroupedBarOptionConfig) => {\n const named = Boolean(config.valueLabel);\n return {\n left: GRID_MARGIN.BASE + (named && !config.invertAxis ? GRID_MARGIN.VALUE_NAME_Y : 0),\n right: GRID_MARGIN.RIGHT,\n top: GRID_MARGIN.TOP,\n // Room for a horizontal value-axis name and the legend, each only when drawn.\n bottom:\n GRID_MARGIN.BASE +\n (named && config.invertAxis ? GRID_MARGIN.VALUE_NAME_X : 0) +\n (config.hideLegend ? 0 : GRID_MARGIN.LEGEND),\n containLabel: true,\n };\n};\n\nexport const buildGroupedBarOption = (pivot: GroupedBarPivot, config: GroupedBarOptionConfig) => {\n const colors = pivot.series.map((s, i) => colorFor(s.name, i, config.seriesColors));\n\n const categoryAxis = {\n type: 'category' as const,\n data: pivot.categories,\n // Horizontal bars read top-down, so the first category goes on top.\n inverse: config.invertAxis,\n };\n const valueAxis = {\n type: 'value' as const,\n name: config.valueLabel,\n nameLocation: 'middle' as const,\n nameGap: config.invertAxis ? AXIS_NAME_GAP.X : AXIS_NAME_GAP.Y,\n // Without this a vertical axis name is drawn horizontally and eats the plot's width.\n nameRotate: config.invertAxis ? 0 : 90,\n minInterval: config.integerValues ? 1 : undefined,\n };\n\n return {\n tooltip: {\n trigger: 'axis' as const,\n axisPointer: { type: 'shadow' as const },\n formatter: buildTooltipFormatter(pivot, colors, config.noValueText),\n },\n legend: { show: !config.hideLegend, bottom: 0, type: 'scroll' as const },\n grid: buildGrid(config),\n xAxis: config.invertAxis ? valueAxis : categoryAxis,\n yAxis: config.invertAxis ? categoryAxis : valueAxis,\n series: pivot.series.map((s, i) => ({\n name: s.name,\n type: 'bar' as const,\n data: s.values,\n barMinHeight: GROUPED_BAR.MIN_BAR_HEIGHT,\n itemStyle: { color: colors[i] },\n emphasis: { focus: 'series' as const },\n })),\n };\n};\n"],"names":[],"mappings":";AAaA,MAAM,EAAE,aAAa,cAAA,IAAkB;AAGvC,MAAM,aAAa,CAAC,UAClB,MAAM,QAAQ,WAAW,CAAC,SAAS,KAAK,KAAK,WAAW,CAAC,CAAC,GAAG;AAG/D,MAAM,WAAW,CAAC,MAAc,OAAe,kBAC7C,6CAAe,UAAS,aAAa,QAAQ,aAAa,MAAM;AAElE,MAAM,YAAY,CAAC,UAAkB;AACnC,QAAM,EAAE,qBAAqB,MAAM,oBAAoB,QAAQ;AAC/D,SAAO,kDAAkD,GAAG,8BAA8B,IAAI,aAAa,IAAI,uBAAuB,WAAW,KAAK,CAAC;AACzJ;AAMA,MAAM,wBACJ,CAAC,OAAwB,QAAkB,gBAAwB,CAAC,WAAoB;AACtF,QAAM,QAAS,MAAM,QAAQ,MAAM,IAAI,OAAO,CAAC,IAAI;AAGnD,QAAM,QAAQ,+BAAO;AACrB,MAAI,SAAS,QAAQ,SAAS,MAAM,WAAW,OAAQ,QAAO;AAE9D,QAAM,QAAQ,CAAC,WAAW,MAAM,WAAW,KAAK,CAAC,CAAC;AAClD,QAAM,OAAO,QAAQ,CAAC,GAAG,MAAM;AAC7B,UAAM,QAAQ,EAAE,OAAO,KAAK;AAC5B,UAAM,OAAO,SAAS,OAAO,WAAW,WAAW,IAAI,OAAO,KAAK;AACnE,UAAM,KAAK,GAAG,UAAU,OAAO,CAAC,CAAC,CAAC,GAAG,WAAW,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;AAAA,EACpE,CAAC;AAED,SAAO,MAAM,KAAK,OAAO;AAC3B;AAEF,MAAM,YAAY,CAAC,WAAmC;AACpD,QAAM,QAAQ,QAAQ,OAAO,UAAU;AACvC,SAAO;AAAA,IACL,MAAM,YAAY,QAAQ,SAAS,CAAC,OAAO,aAAa,YAAY,eAAe;AAAA,IACnF,OAAO,YAAY;AAAA,IACnB,KAAK,YAAY;AAAA;AAAA,IAEjB,QACE,YAAY,QACX,SAAS,OAAO,aAAa,YAAY,eAAe,MACxD,OAAO,aAAa,IAAI,YAAY;AAAA,IACvC,cAAc;AAAA,EAAA;AAElB;AAEO,MAAM,wBAAwB,CAAC,OAAwB,WAAmC;AAC/F,QAAM,SAAS,MAAM,OAAO,IAAI,CAAC,GAAG,MAAM,SAAS,EAAE,MAAM,GAAG,OAAO,YAAY,CAAC;AAElF,QAAM,eAAe;AAAA,IACnB,MAAM;AAAA,IACN,MAAM,MAAM;AAAA;AAAA,IAEZ,SAAS,OAAO;AAAA,EAAA;AAElB,QAAM,YAAY;AAAA,IAChB,MAAM;AAAA,IACN,MAAM,OAAO;AAAA,IACb,cAAc;AAAA,IACd,SAAS,OAAO,aAAa,cAAc,IAAI,cAAc;AAAA;AAAA,IAE7D,YAAY,OAAO,aAAa,IAAI;AAAA,IACpC,aAAa,OAAO,gBAAgB,IAAI;AAAA,EAAA;AAG1C,SAAO;AAAA,IACL,SAAS;AAAA,MACP,SAAS;AAAA,MACT,aAAa,EAAE,MAAM,SAAA;AAAA,MACrB,WAAW,sBAAsB,OAAO,QAAQ,OAAO,WAAW;AAAA,IAAA;AAAA,IAEpE,QAAQ,EAAE,MAAM,CAAC,OAAO,YAAY,QAAQ,GAAG,MAAM,SAAA;AAAA,IACrD,MAAM,UAAU,MAAM;AAAA,IACtB,OAAO,OAAO,aAAa,YAAY;AAAA,IACvC,OAAO,OAAO,aAAa,eAAe;AAAA,IAC1C,QAAQ,MAAM,OAAO,IAAI,CAAC,GAAG,OAAO;AAAA,MAClC,MAAM,EAAE;AAAA,MACR,MAAM;AAAA,MACN,MAAM,EAAE;AAAA,MACR,cAAc,YAAY;AAAA,MAC1B,WAAW,EAAE,OAAO,OAAO,CAAC,EAAA;AAAA,MAC5B,UAAU,EAAE,OAAO,SAAA;AAAA,IAAkB,EACrC;AAAA,EAAA;AAEN;"}
package/dist/index99.cjs CHANGED
@@ -1,24 +1,10 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const root = "krc-root-p3Y59";
4
- const plain = "krc-plain-VC-9I";
5
- const icon = "krc-icon-ix2Mi";
6
- const title = "krc-title--QtUj";
7
- const description = "krc-description-Qrtj7";
8
- const action = "krc-action-NBNpI";
9
- const styles = {
10
- root,
11
- plain,
12
- icon,
13
- title,
14
- description,
15
- action
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const DEFAULT_LABELS = {
4
+ loading: "Loading chart...",
5
+ empty: "No data available.",
6
+ retry: "Retry",
7
+ noValue: "No data"
16
8
  };
17
- exports.action = action;
18
- exports.default = styles;
19
- exports.description = description;
20
- exports.icon = icon;
21
- exports.plain = plain;
22
- exports.root = root;
23
- exports.title = title;
9
+ exports.DEFAULT_LABELS = DEFAULT_LABELS;
24
10
  //# sourceMappingURL=index99.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index99.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index99.cjs","sources":["../src/charts/GroupedBarChartCard/defaultLabels.ts"],"sourcesContent":["import type { GroupedBarChartLabels } from './GroupedBarChartCard.types';\n\n/** English defaults, matching the texts of the other chart cards. */\nexport const DEFAULT_LABELS: GroupedBarChartLabels = {\n loading: 'Loading chart...',\n empty: 'No data available.',\n retry: 'Retry',\n noValue: 'No data',\n};\n"],"names":[],"mappings":";;AAGO,MAAM,iBAAwC;AAAA,EACnD,SAAS;AAAA,EACT,OAAO;AAAA,EACP,OAAO;AAAA,EACP,SAAS;AACX;;"}
package/dist/index99.js CHANGED
@@ -1,24 +1,10 @@
1
- const root = "krc-root-p3Y59";
2
- const plain = "krc-plain-VC-9I";
3
- const icon = "krc-icon-ix2Mi";
4
- const title = "krc-title--QtUj";
5
- const description = "krc-description-Qrtj7";
6
- const action = "krc-action-NBNpI";
7
- const styles = {
8
- root,
9
- plain,
10
- icon,
11
- title,
12
- description,
13
- action
1
+ const DEFAULT_LABELS = {
2
+ loading: "Loading chart...",
3
+ empty: "No data available.",
4
+ retry: "Retry",
5
+ noValue: "No data"
14
6
  };
15
7
  export {
16
- action,
17
- styles as default,
18
- description,
19
- icon,
20
- plain,
21
- root,
22
- title
8
+ DEFAULT_LABELS
23
9
  };
24
10
  //# sourceMappingURL=index99.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index99.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index99.js","sources":["../src/charts/GroupedBarChartCard/defaultLabels.ts"],"sourcesContent":["import type { GroupedBarChartLabels } from './GroupedBarChartCard.types';\n\n/** English defaults, matching the texts of the other chart cards. */\nexport const DEFAULT_LABELS: GroupedBarChartLabels = {\n loading: 'Loading chart...',\n empty: 'No data available.',\n retry: 'Retry',\n noValue: 'No data',\n};\n"],"names":[],"mappings":"AAGO,MAAM,iBAAwC;AAAA,EACnD,SAAS;AAAA,EACT,OAAO;AAAA,EACP,OAAO;AAAA,EACP,SAAS;AACX;"}
package/dist/style.css CHANGED
@@ -1917,13 +1917,28 @@
1917
1917
  white-space: nowrap;
1918
1918
  }
1919
1919
 
1920
+ /* The whole header is pinned, so one or two header rows always move together. */
1921
+ .krc-root-k9ocd thead {
1922
+ position: sticky;
1923
+ top: 0;
1924
+ z-index: 2;
1925
+ }
1926
+
1920
1927
  .krc-colh-Fi0Kr {
1921
1928
  background: var(--surface-alt);
1922
1929
  font-weight: 700;
1923
1930
  color: var(--text-secondary);
1924
- position: sticky;
1925
- top: 0;
1926
- z-index: 1;
1931
+ }
1932
+
1933
+ .krc-group-rVQPU {
1934
+ background: var(--surface-alt);
1935
+ font-weight: var(--font-weight-semibold);
1936
+ color: var(--text-secondary);
1937
+ }
1938
+
1939
+ /* On <colgroup>: with collapsed borders it is painted for the full height of the table. */
1940
+ .krc-groupStart-bu8S4 {
1941
+ border-left: var(--border-width-md) solid var(--border-color);
1927
1942
  }
1928
1943
 
1929
1944
  .krc-rowh-bTG4G {
@@ -1942,9 +1957,8 @@
1942
1957
  font-weight: 700;
1943
1958
  color: var(--text-secondary);
1944
1959
  position: sticky;
1945
- top: 0;
1946
1960
  left: 0;
1947
- z-index: 2;
1961
+ z-index: 1;
1948
1962
  }
1949
1963
 
1950
1964
  .krc-cell-i0lDG {