@ktnpm_devops/react-component 0.13.1 → 0.15.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 (448) hide show
  1. package/dist/charts/GroupedBarChartCard/GroupedBarChartCard.d.ts +7 -0
  2. package/dist/charts/GroupedBarChartCard/GroupedBarChartCard.d.ts.map +1 -0
  3. package/dist/charts/GroupedBarChartCard/GroupedBarChartCard.types.d.ts +38 -0
  4. package/dist/charts/GroupedBarChartCard/GroupedBarChartCard.types.d.ts.map +1 -0
  5. package/dist/charts/GroupedBarChartCard/buildGroupedBarOption.d.ts +69 -0
  6. package/dist/charts/GroupedBarChartCard/buildGroupedBarOption.d.ts.map +1 -0
  7. package/dist/charts/GroupedBarChartCard/buildGroupedBarOption.test.d.ts +2 -0
  8. package/dist/charts/GroupedBarChartCard/buildGroupedBarOption.test.d.ts.map +1 -0
  9. package/dist/charts/GroupedBarChartCard/defaultLabels.d.ts +5 -0
  10. package/dist/charts/GroupedBarChartCard/defaultLabels.d.ts.map +1 -0
  11. package/dist/charts/GroupedBarChartCard/index.d.ts +3 -0
  12. package/dist/charts/GroupedBarChartCard/index.d.ts.map +1 -0
  13. package/dist/charts/GroupedBarChartCard/pivotGroupedBars.d.ts +22 -0
  14. package/dist/charts/GroupedBarChartCard/pivotGroupedBars.d.ts.map +1 -0
  15. package/dist/charts/GroupedBarChartCard/pivotGroupedBars.test.d.ts +2 -0
  16. package/dist/charts/GroupedBarChartCard/pivotGroupedBars.test.d.ts.map +1 -0
  17. package/dist/constants.d.ts +28 -0
  18. package/dist/constants.d.ts.map +1 -1
  19. package/dist/index.cjs +30 -26
  20. package/dist/index.cjs.map +1 -1
  21. package/dist/index.d.ts +7 -3
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +30 -26
  24. package/dist/index.js.map +1 -1
  25. package/dist/index10.cjs +2 -2
  26. package/dist/index10.js +2 -2
  27. package/dist/index100.cjs +8 -32
  28. package/dist/index100.cjs.map +1 -1
  29. package/dist/index100.js +9 -33
  30. package/dist/index100.js.map +1 -1
  31. package/dist/index101.cjs +2 -53
  32. package/dist/index101.cjs.map +1 -1
  33. package/dist/index101.js +3 -54
  34. package/dist/index101.js.map +1 -1
  35. package/dist/index102.cjs +7 -134
  36. package/dist/index102.cjs.map +1 -1
  37. package/dist/index102.js +6 -133
  38. package/dist/index102.js.map +1 -1
  39. package/dist/index103.cjs +64 -40
  40. package/dist/index103.cjs.map +1 -1
  41. package/dist/index103.js +64 -40
  42. package/dist/index103.js.map +1 -1
  43. package/dist/index104.cjs +24 -35
  44. package/dist/index104.cjs.map +1 -1
  45. package/dist/index104.js +23 -34
  46. package/dist/index104.js.map +1 -1
  47. package/dist/index105.cjs +21 -43
  48. package/dist/index105.cjs.map +1 -1
  49. package/dist/index105.js +20 -42
  50. package/dist/index105.js.map +1 -1
  51. package/dist/index106.cjs +132 -23
  52. package/dist/index106.cjs.map +1 -1
  53. package/dist/index106.js +132 -23
  54. package/dist/index106.js.map +1 -1
  55. package/dist/index107.cjs +46 -20
  56. package/dist/index107.cjs.map +1 -1
  57. package/dist/index107.js +45 -19
  58. package/dist/index107.js.map +1 -1
  59. package/dist/index108.cjs +31 -14
  60. package/dist/index108.cjs.map +1 -1
  61. package/dist/index108.js +30 -13
  62. package/dist/index108.js.map +1 -1
  63. package/dist/index109.cjs +32 -53
  64. package/dist/index109.cjs.map +1 -1
  65. package/dist/index109.js +32 -53
  66. package/dist/index109.js.map +1 -1
  67. package/dist/index11.cjs +2 -2
  68. package/dist/index11.js +2 -2
  69. package/dist/index110.cjs +42 -18
  70. package/dist/index110.cjs.map +1 -1
  71. package/dist/index110.js +42 -18
  72. package/dist/index110.js.map +1 -1
  73. package/dist/index111.cjs +19 -10
  74. package/dist/index111.cjs.map +1 -1
  75. package/dist/index111.js +19 -10
  76. package/dist/index111.js.map +1 -1
  77. package/dist/index112.cjs +2 -20
  78. package/dist/index112.cjs.map +1 -1
  79. package/dist/index112.js +2 -20
  80. package/dist/index112.js.map +1 -1
  81. package/dist/index113.cjs +17 -11
  82. package/dist/index113.cjs.map +1 -1
  83. package/dist/index113.js +17 -11
  84. package/dist/index113.js.map +1 -1
  85. package/dist/index114.cjs +42 -0
  86. package/dist/index114.cjs.map +1 -0
  87. package/dist/index114.js +42 -0
  88. package/dist/index114.js.map +1 -0
  89. package/dist/index115.cjs +42 -0
  90. package/dist/index115.cjs.map +1 -0
  91. package/dist/index115.js +42 -0
  92. package/dist/index115.js.map +1 -0
  93. package/dist/index116.cjs +95 -0
  94. package/dist/index116.cjs.map +1 -0
  95. package/dist/index116.js +95 -0
  96. package/dist/index116.js.map +1 -0
  97. package/dist/index117.cjs +42 -0
  98. package/dist/index117.cjs.map +1 -0
  99. package/dist/index117.js +42 -0
  100. package/dist/index117.js.map +1 -0
  101. package/dist/index118.cjs +118 -0
  102. package/dist/index118.cjs.map +1 -0
  103. package/dist/index118.js +118 -0
  104. package/dist/index118.js.map +1 -0
  105. package/dist/index119.cjs +45 -0
  106. package/dist/index119.cjs.map +1 -0
  107. package/dist/index119.js +45 -0
  108. package/dist/index119.js.map +1 -0
  109. package/dist/index12.cjs +2 -2
  110. package/dist/index12.js +2 -2
  111. package/dist/index120.cjs +87 -0
  112. package/dist/index120.cjs.map +1 -0
  113. package/dist/index120.js +87 -0
  114. package/dist/index120.js.map +1 -0
  115. package/dist/index121.cjs +27 -0
  116. package/dist/index121.cjs.map +1 -0
  117. package/dist/index121.js +27 -0
  118. package/dist/index121.js.map +1 -0
  119. package/dist/index122.cjs +1166 -0
  120. package/dist/index122.cjs.map +1 -0
  121. package/dist/index122.js +1167 -0
  122. package/dist/index122.js.map +1 -0
  123. package/dist/index123.cjs +1578 -0
  124. package/dist/index123.cjs.map +1 -0
  125. package/dist/index123.js +1579 -0
  126. package/dist/index123.js.map +1 -0
  127. package/dist/index13.cjs +2 -2
  128. package/dist/index13.js +2 -2
  129. package/dist/index14.cjs +2 -2
  130. package/dist/index14.js +2 -2
  131. package/dist/index15.cjs +2 -2
  132. package/dist/index15.js +2 -2
  133. package/dist/index16.cjs +2 -2
  134. package/dist/index16.js +2 -2
  135. package/dist/index17.cjs +2 -2
  136. package/dist/index17.js +2 -2
  137. package/dist/index18.cjs +2 -2
  138. package/dist/index18.js +2 -2
  139. package/dist/index19.cjs +2 -2
  140. package/dist/index19.js +2 -2
  141. package/dist/index20.cjs +2 -2
  142. package/dist/index20.js +2 -2
  143. package/dist/index21.cjs +2 -2
  144. package/dist/index21.js +2 -2
  145. package/dist/index22.cjs +3 -3
  146. package/dist/index22.js +3 -3
  147. package/dist/index23.cjs +3 -3
  148. package/dist/index23.js +3 -3
  149. package/dist/index24.cjs +3 -3
  150. package/dist/index24.js +3 -3
  151. package/dist/index25.cjs +2 -2
  152. package/dist/index25.js +2 -2
  153. package/dist/index26.cjs +2 -2
  154. package/dist/index26.js +2 -2
  155. package/dist/index27.cjs +2 -2
  156. package/dist/index27.js +2 -2
  157. package/dist/index28.cjs +2 -2
  158. package/dist/index28.js +2 -2
  159. package/dist/index29.cjs +3 -3
  160. package/dist/index29.js +3 -3
  161. package/dist/index30.cjs +8 -8
  162. package/dist/index30.js +8 -8
  163. package/dist/index31.cjs +84 -76
  164. package/dist/index31.cjs.map +1 -1
  165. package/dist/index31.js +86 -78
  166. package/dist/index31.js.map +1 -1
  167. package/dist/index32.cjs +75 -6
  168. package/dist/index32.cjs.map +1 -1
  169. package/dist/index32.js +76 -7
  170. package/dist/index32.js.map +1 -1
  171. package/dist/index33.cjs +7 -130
  172. package/dist/index33.cjs.map +1 -1
  173. package/dist/index33.js +9 -132
  174. package/dist/index33.js.map +1 -1
  175. package/dist/index34.cjs +127 -52
  176. package/dist/index34.cjs.map +1 -1
  177. package/dist/index34.js +129 -54
  178. package/dist/index34.js.map +1 -1
  179. package/dist/index35.cjs +55 -37
  180. package/dist/index35.cjs.map +1 -1
  181. package/dist/index35.js +55 -37
  182. package/dist/index35.js.map +1 -1
  183. package/dist/index36.cjs +17 -223
  184. package/dist/index36.cjs.map +1 -1
  185. package/dist/index36.js +19 -225
  186. package/dist/index36.js.map +1 -1
  187. package/dist/index37.cjs +38 -34
  188. package/dist/index37.cjs.map +1 -1
  189. package/dist/index37.js +39 -35
  190. package/dist/index37.js.map +1 -1
  191. package/dist/index38.cjs +222 -106
  192. package/dist/index38.cjs.map +1 -1
  193. package/dist/index38.js +224 -108
  194. package/dist/index38.js.map +1 -1
  195. package/dist/index39.cjs +30 -64
  196. package/dist/index39.cjs.map +1 -1
  197. package/dist/index39.js +31 -65
  198. package/dist/index39.js.map +1 -1
  199. package/dist/index40.cjs +106 -74
  200. package/dist/index40.cjs.map +1 -1
  201. package/dist/index40.js +108 -76
  202. package/dist/index40.js.map +1 -1
  203. package/dist/index41.cjs +63 -54
  204. package/dist/index41.cjs.map +1 -1
  205. package/dist/index41.js +64 -55
  206. package/dist/index41.js.map +1 -1
  207. package/dist/index42.cjs +69 -144
  208. package/dist/index42.cjs.map +1 -1
  209. package/dist/index42.js +70 -145
  210. package/dist/index42.js.map +1 -1
  211. package/dist/index43.cjs +57 -96
  212. package/dist/index43.cjs.map +1 -1
  213. package/dist/index43.js +59 -98
  214. package/dist/index43.js.map +1 -1
  215. package/dist/index44.cjs +147 -66
  216. package/dist/index44.cjs.map +1 -1
  217. package/dist/index44.js +149 -68
  218. package/dist/index44.js.map +1 -1
  219. package/dist/index45.cjs +97 -7
  220. package/dist/index45.cjs.map +1 -1
  221. package/dist/index45.js +99 -9
  222. package/dist/index45.js.map +1 -1
  223. package/dist/index46.cjs +72 -17
  224. package/dist/index46.cjs.map +1 -1
  225. package/dist/index46.js +73 -18
  226. package/dist/index46.js.map +1 -1
  227. package/dist/index47.cjs +7 -76
  228. package/dist/index47.cjs.map +1 -1
  229. package/dist/index47.js +9 -78
  230. package/dist/index47.js.map +1 -1
  231. package/dist/index48.cjs +17 -143
  232. package/dist/index48.cjs.map +1 -1
  233. package/dist/index48.js +17 -143
  234. package/dist/index48.js.map +1 -1
  235. package/dist/index49.cjs +72 -59
  236. package/dist/index49.cjs.map +1 -1
  237. package/dist/index49.js +74 -61
  238. package/dist/index49.js.map +1 -1
  239. package/dist/index50.cjs +136 -98
  240. package/dist/index50.cjs.map +1 -1
  241. package/dist/index50.js +137 -99
  242. package/dist/index50.js.map +1 -1
  243. package/dist/index51.cjs +49 -32
  244. package/dist/index51.cjs.map +1 -1
  245. package/dist/index51.js +49 -32
  246. package/dist/index51.js.map +1 -1
  247. package/dist/index52.cjs +105 -6
  248. package/dist/index52.cjs.map +1 -1
  249. package/dist/index52.js +106 -7
  250. package/dist/index52.js.map +1 -1
  251. package/dist/index53.cjs +44 -144
  252. package/dist/index53.cjs.map +1 -1
  253. package/dist/index53.js +45 -145
  254. package/dist/index53.js.map +1 -1
  255. package/dist/index54.cjs +6 -8
  256. package/dist/index54.cjs.map +1 -1
  257. package/dist/index54.js +6 -8
  258. package/dist/index54.js.map +1 -1
  259. package/dist/index55.cjs +145 -15
  260. package/dist/index55.cjs.map +1 -1
  261. package/dist/index55.js +147 -17
  262. package/dist/index55.js.map +1 -1
  263. package/dist/index56.cjs +7 -65
  264. package/dist/index56.cjs.map +1 -1
  265. package/dist/index56.js +9 -67
  266. package/dist/index56.js.map +1 -1
  267. package/dist/index57.cjs +19 -16
  268. package/dist/index57.cjs.map +1 -1
  269. package/dist/index57.js +18 -15
  270. package/dist/index57.js.map +1 -1
  271. package/dist/index58.cjs +67 -18
  272. package/dist/index58.cjs.map +1 -1
  273. package/dist/index58.js +66 -17
  274. package/dist/index58.js.map +1 -1
  275. package/dist/index59.cjs +16 -116
  276. package/dist/index59.cjs.map +1 -1
  277. package/dist/index59.js +15 -115
  278. package/dist/index59.js.map +1 -1
  279. package/dist/index60.cjs +4 -7
  280. package/dist/index60.cjs.map +1 -1
  281. package/dist/index60.js +4 -7
  282. package/dist/index60.js.map +1 -1
  283. package/dist/index61.cjs +5 -11
  284. package/dist/index61.cjs.map +1 -1
  285. package/dist/index61.js +5 -11
  286. package/dist/index61.js.map +1 -1
  287. package/dist/index62.cjs +17 -18
  288. package/dist/index62.cjs.map +1 -1
  289. package/dist/index62.js +16 -17
  290. package/dist/index62.js.map +1 -1
  291. package/dist/index63.cjs +2 -23
  292. package/dist/index63.cjs.map +1 -1
  293. package/dist/index63.js +3 -24
  294. package/dist/index63.js.map +1 -1
  295. package/dist/index64.cjs +2 -35
  296. package/dist/index64.cjs.map +1 -1
  297. package/dist/index64.js +3 -36
  298. package/dist/index64.js.map +1 -1
  299. package/dist/index65.cjs +140 -6
  300. package/dist/index65.cjs.map +1 -1
  301. package/dist/index65.js +139 -5
  302. package/dist/index65.js.map +1 -1
  303. package/dist/index66.cjs +17 -2
  304. package/dist/index66.cjs.map +1 -1
  305. package/dist/index66.js +17 -2
  306. package/dist/index66.js.map +1 -1
  307. package/dist/index67.cjs +47 -5
  308. package/dist/index67.cjs.map +1 -1
  309. package/dist/index67.js +48 -6
  310. package/dist/index67.js.map +1 -1
  311. package/dist/index68.cjs +52 -19
  312. package/dist/index68.cjs.map +1 -1
  313. package/dist/index68.js +52 -19
  314. package/dist/index68.js.map +1 -1
  315. package/dist/index69.cjs +28 -19
  316. package/dist/index69.cjs.map +1 -1
  317. package/dist/index69.js +28 -19
  318. package/dist/index69.js.map +1 -1
  319. package/dist/index70.cjs +2 -17
  320. package/dist/index70.cjs.map +1 -1
  321. package/dist/index70.js +3 -18
  322. package/dist/index70.js.map +1 -1
  323. package/dist/index71.cjs +13 -13
  324. package/dist/index71.js +13 -13
  325. package/dist/index72.cjs +35 -2
  326. package/dist/index72.cjs.map +1 -1
  327. package/dist/index72.js +36 -3
  328. package/dist/index72.js.map +1 -1
  329. package/dist/index74.cjs +15 -36
  330. package/dist/index74.cjs.map +1 -1
  331. package/dist/index74.js +15 -36
  332. package/dist/index74.js.map +1 -1
  333. package/dist/index75.cjs +9 -33
  334. package/dist/index75.cjs.map +1 -1
  335. package/dist/index75.js +10 -34
  336. package/dist/index75.js.map +1 -1
  337. package/dist/index76.cjs +16 -22
  338. package/dist/index76.cjs.map +1 -1
  339. package/dist/index76.js +16 -22
  340. package/dist/index76.js.map +1 -1
  341. package/dist/index77.cjs +5 -2
  342. package/dist/index77.cjs.map +1 -1
  343. package/dist/index77.js +5 -2
  344. package/dist/index77.js.map +1 -1
  345. package/dist/index78.cjs +37 -16
  346. package/dist/index78.cjs.map +1 -1
  347. package/dist/index78.js +38 -17
  348. package/dist/index78.js.map +1 -1
  349. package/dist/index79.cjs +26 -8
  350. package/dist/index79.cjs.map +1 -1
  351. package/dist/index79.js +27 -9
  352. package/dist/index79.js.map +1 -1
  353. package/dist/index80.cjs +16 -64
  354. package/dist/index80.cjs.map +1 -1
  355. package/dist/index80.js +16 -64
  356. package/dist/index80.js.map +1 -1
  357. package/dist/index81.cjs +22 -21
  358. package/dist/index81.cjs.map +1 -1
  359. package/dist/index81.js +21 -20
  360. package/dist/index81.js.map +1 -1
  361. package/dist/index82.cjs +69 -51
  362. package/dist/index82.cjs.map +1 -1
  363. package/dist/index82.js +68 -50
  364. package/dist/index82.js.map +1 -1
  365. package/dist/index83.cjs +7 -57
  366. package/dist/index83.cjs.map +1 -1
  367. package/dist/index83.js +6 -56
  368. package/dist/index83.js.map +1 -1
  369. package/dist/index84.cjs +30 -15
  370. package/dist/index84.cjs.map +1 -1
  371. package/dist/index84.js +31 -16
  372. package/dist/index84.js.map +1 -1
  373. package/dist/index85.cjs +35 -24
  374. package/dist/index85.cjs.map +1 -1
  375. package/dist/index85.js +34 -23
  376. package/dist/index85.js.map +1 -1
  377. package/dist/index86.cjs +43 -84
  378. package/dist/index86.cjs.map +1 -1
  379. package/dist/index86.js +42 -83
  380. package/dist/index86.js.map +1 -1
  381. package/dist/index87.cjs +24 -6
  382. package/dist/index87.cjs.map +1 -1
  383. package/dist/index87.js +23 -5
  384. package/dist/index87.js.map +1 -1
  385. package/dist/index88.cjs +20 -22
  386. package/dist/index88.cjs.map +1 -1
  387. package/dist/index88.js +19 -21
  388. package/dist/index88.js.map +1 -1
  389. package/dist/index89.cjs +14 -34
  390. package/dist/index89.cjs.map +1 -1
  391. package/dist/index89.js +13 -33
  392. package/dist/index89.js.map +1 -1
  393. package/dist/index90.cjs +55 -16
  394. package/dist/index90.cjs.map +1 -1
  395. package/dist/index90.js +55 -16
  396. package/dist/index90.js.map +1 -1
  397. package/dist/index91.cjs +25 -116
  398. package/dist/index91.cjs.map +1 -1
  399. package/dist/index91.js +24 -115
  400. package/dist/index91.js.map +1 -1
  401. package/dist/index92.cjs +13 -37
  402. package/dist/index92.cjs.map +1 -1
  403. package/dist/index92.js +13 -37
  404. package/dist/index92.js.map +1 -1
  405. package/dist/index93.cjs +47 -35
  406. package/dist/index93.cjs.map +1 -1
  407. package/dist/index93.js +47 -35
  408. package/dist/index93.js.map +1 -1
  409. package/dist/index94.cjs +22 -4
  410. package/dist/index94.cjs.map +1 -1
  411. package/dist/index94.js +23 -5
  412. package/dist/index94.js.map +1 -1
  413. package/dist/index95.cjs +15 -18
  414. package/dist/index95.cjs.map +1 -1
  415. package/dist/index95.js +15 -18
  416. package/dist/index95.js.map +1 -1
  417. package/dist/index96.cjs +13 -49
  418. package/dist/index96.cjs.map +1 -1
  419. package/dist/index96.js +13 -49
  420. package/dist/index96.js.map +1 -1
  421. package/dist/index97.cjs +22 -25
  422. package/dist/index97.cjs.map +1 -1
  423. package/dist/index97.js +22 -25
  424. package/dist/index97.js.map +1 -1
  425. package/dist/index98.cjs +21 -39
  426. package/dist/index98.cjs.map +1 -1
  427. package/dist/index98.js +20 -38
  428. package/dist/index98.js.map +1 -1
  429. package/dist/index99.cjs +21 -92
  430. package/dist/index99.cjs.map +1 -1
  431. package/dist/index99.js +20 -91
  432. package/dist/index99.js.map +1 -1
  433. package/dist/primitives/MarkdownContent/MarkdownContent.d.ts +4 -0
  434. package/dist/primitives/MarkdownContent/MarkdownContent.d.ts.map +1 -0
  435. package/dist/primitives/MarkdownContent/MarkdownContent.types.d.ts +5 -0
  436. package/dist/primitives/MarkdownContent/MarkdownContent.types.d.ts.map +1 -0
  437. package/dist/primitives/MarkdownContent/index.d.ts +3 -0
  438. package/dist/primitives/MarkdownContent/index.d.ts.map +1 -0
  439. package/dist/style.css +219 -0
  440. package/dist/types/chart.types.d.ts +14 -0
  441. package/dist/types/chart.types.d.ts.map +1 -1
  442. package/dist/types/index.d.ts +2 -2
  443. package/dist/types/index.d.ts.map +1 -1
  444. package/dist/utils/markdown.d.ts +3 -0
  445. package/dist/utils/markdown.d.ts.map +1 -0
  446. package/dist/utils/markdown.test.d.ts +2 -0
  447. package/dist/utils/markdown.test.d.ts.map +1 -0
  448. package/package.json +23 -4
package/dist/index82.js CHANGED
@@ -1,54 +1,72 @@
1
- const root = "krc-root-zHJLB";
2
- const trigger = "krc-trigger-kRS4l";
3
- const isOpen = "krc-isOpen-4fsg7";
4
- const icon = "krc-icon-YS-DJ";
5
- const arrow = "krc-arrow-wiq8b";
6
- const pop = "krc-pop-boLzq";
7
- const head = "krc-head-FDhHr";
8
- const nav = "krc-nav-ZcR0Q";
9
- const title = "krc-title-MqB3H";
10
- const dows = "krc-dows-EshP3";
11
- const grid = "krc-grid-xiUF-";
12
- const day = "krc-day-2W9yq";
13
- const empty = "krc-empty-Mf05c";
14
- const off = "krc-off-tATo-";
15
- const able = "krc-able-bD-du";
16
- const selected = "krc-selected-Q1am3";
17
- const styles = {
18
- root,
19
- trigger,
20
- isOpen,
21
- icon,
22
- arrow,
23
- pop,
24
- head,
25
- nav,
26
- title,
27
- dows,
28
- grid,
29
- day,
30
- empty,
31
- off,
32
- able,
33
- selected
1
+ import { GROUPED_BAR, CHART_COLORS } from "./index65.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
+ };
34
68
  };
35
69
  export {
36
- able,
37
- arrow,
38
- day,
39
- styles as default,
40
- dows,
41
- empty,
42
- grid,
43
- head,
44
- icon,
45
- isOpen,
46
- nav,
47
- off,
48
- pop,
49
- root,
50
- selected,
51
- title,
52
- trigger
70
+ buildGroupedBarOption
53
71
  };
54
72
  //# sourceMappingURL=index82.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index82.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index82.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/index83.cjs CHANGED
@@ -1,60 +1,10 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const root = "krc-root--s1oD";
4
- const trigger = "krc-trigger-WMlNa";
5
- const active = "krc-active-O65lj";
6
- const triggerContent = "krc-triggerContent-JipmE";
7
- const chevron = "krc-chevron-J2Zsy";
8
- const label = "krc-label-lZlV-";
9
- const value = "krc-value-HsQrC";
10
- const clear = "krc-clear-bsi5j";
11
- const panel = "krc-panel--0odx";
12
- const searchContainer = "krc-searchContainer-WRS-U";
13
- const search = "krc-search-Dh3pY";
14
- const list = "krc-list-1RUtr";
15
- const noResults = "krc-noResults-Hin1U";
16
- const option = "krc-option-0mFGi";
17
- const focused = "krc-focused-0-7tE";
18
- const selected = "krc-selected-1zIqI";
19
- const optionLabel = "krc-optionLabel-pj-hL";
20
- const optionCount = "krc-optionCount-rVlCP";
21
- const styles = {
22
- root,
23
- trigger,
24
- active,
25
- triggerContent,
26
- chevron,
27
- label,
28
- value,
29
- clear,
30
- panel,
31
- searchContainer,
32
- search,
33
- list,
34
- noResults,
35
- option,
36
- focused,
37
- selected,
38
- optionLabel,
39
- optionCount
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"
40
8
  };
41
- exports.active = active;
42
- exports.chevron = chevron;
43
- exports.clear = clear;
44
- exports.default = styles;
45
- exports.focused = focused;
46
- exports.label = label;
47
- exports.list = list;
48
- exports.noResults = noResults;
49
- exports.option = option;
50
- exports.optionCount = optionCount;
51
- exports.optionLabel = optionLabel;
52
- exports.panel = panel;
53
- exports.root = root;
54
- exports.search = search;
55
- exports.searchContainer = searchContainer;
56
- exports.selected = selected;
57
- exports.trigger = trigger;
58
- exports.triggerContent = triggerContent;
59
- exports.value = value;
9
+ exports.DEFAULT_LABELS = DEFAULT_LABELS;
60
10
  //# sourceMappingURL=index83.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index83.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index83.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/index83.js CHANGED
@@ -1,60 +1,10 @@
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";
19
- const styles = {
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
1
+ const DEFAULT_LABELS = {
2
+ loading: "Loading chart...",
3
+ empty: "No data available.",
4
+ retry: "Retry",
5
+ noValue: "No data"
38
6
  };
39
7
  export {
40
- active,
41
- chevron,
42
- clear,
43
- styles as default,
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
8
+ DEFAULT_LABELS
59
9
  };
60
10
  //# sourceMappingURL=index83.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index83.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index83.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/index84.cjs CHANGED
@@ -1,27 +1,42 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const overlay = "krc-overlay-4gFc3";
4
- const root = "krc-root-eKDda";
5
- const header = "krc-header-YrzLd";
6
- const title = "krc-title-9rzEH";
7
- const closeBtn = "krc-closeBtn-vGJ7P";
8
- const body = "krc-body-g43Cd";
9
- const footer = "krc-footer-JRwi5";
3
+ const root = "krc-root-ij8wB";
4
+ const header = "krc-header-poY0R";
5
+ const headerText = "krc-headerText-ShzOl";
6
+ const title = "krc-title-H3VpM";
7
+ const subtitle = "krc-subtitle-n6tgG";
8
+ const headerActions = "krc-headerActions-WY-hn";
9
+ const toolbar = "krc-toolbar-lMVmb";
10
+ const chartContainer = "krc-chartContainer-nlbUx";
11
+ const loading = "krc-loading-xub77";
12
+ const empty = "krc-empty-vJ4UM";
13
+ const error = "krc-error-d-7n5";
14
+ const retryButton = "krc-retryButton-LT8qy";
10
15
  const styles = {
11
- overlay,
12
16
  root,
13
17
  header,
18
+ headerText,
14
19
  title,
15
- closeBtn,
16
- body,
17
- footer
20
+ subtitle,
21
+ headerActions,
22
+ toolbar,
23
+ chartContainer,
24
+ loading,
25
+ empty,
26
+ error,
27
+ retryButton
18
28
  };
19
- exports.body = body;
20
- exports.closeBtn = closeBtn;
29
+ exports.chartContainer = chartContainer;
21
30
  exports.default = styles;
22
- exports.footer = footer;
31
+ exports.empty = empty;
32
+ exports.error = error;
23
33
  exports.header = header;
24
- exports.overlay = overlay;
34
+ exports.headerActions = headerActions;
35
+ exports.headerText = headerText;
36
+ exports.loading = loading;
37
+ exports.retryButton = retryButton;
25
38
  exports.root = root;
39
+ exports.subtitle = subtitle;
26
40
  exports.title = title;
41
+ exports.toolbar = toolbar;
27
42
  //# sourceMappingURL=index84.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index84.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index84.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index84.js CHANGED
@@ -1,27 +1,42 @@
1
- const overlay = "krc-overlay-4gFc3";
2
- const root = "krc-root-eKDda";
3
- const header = "krc-header-YrzLd";
4
- const title = "krc-title-9rzEH";
5
- const closeBtn = "krc-closeBtn-vGJ7P";
6
- const body = "krc-body-g43Cd";
7
- const footer = "krc-footer-JRwi5";
1
+ const root = "krc-root-ij8wB";
2
+ const header = "krc-header-poY0R";
3
+ const headerText = "krc-headerText-ShzOl";
4
+ const title = "krc-title-H3VpM";
5
+ const subtitle = "krc-subtitle-n6tgG";
6
+ const headerActions = "krc-headerActions-WY-hn";
7
+ const toolbar = "krc-toolbar-lMVmb";
8
+ const chartContainer = "krc-chartContainer-nlbUx";
9
+ const loading = "krc-loading-xub77";
10
+ const empty = "krc-empty-vJ4UM";
11
+ const error = "krc-error-d-7n5";
12
+ const retryButton = "krc-retryButton-LT8qy";
8
13
  const styles = {
9
- overlay,
10
14
  root,
11
15
  header,
16
+ headerText,
12
17
  title,
13
- closeBtn,
14
- body,
15
- footer
18
+ subtitle,
19
+ headerActions,
20
+ toolbar,
21
+ chartContainer,
22
+ loading,
23
+ empty,
24
+ error,
25
+ retryButton
16
26
  };
17
27
  export {
18
- body,
19
- closeBtn,
28
+ chartContainer,
20
29
  styles as default,
21
- footer,
30
+ empty,
31
+ error,
22
32
  header,
23
- overlay,
33
+ headerActions,
34
+ headerText,
35
+ loading,
36
+ retryButton,
24
37
  root,
25
- title
38
+ subtitle,
39
+ title,
40
+ toolbar
26
41
  };
27
42
  //# 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,27 +1,38 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const root = "krc-root-cQSdQ";
4
- const disabled = "krc-disabled-mXUpZ";
5
- const active = "krc-active-c6Qv6";
6
- const collapsed = "krc-collapsed-zZjr3";
7
- const icon = "krc-icon-dmCQi";
8
- const label = "krc-label-ohVFC";
9
- const badge = "krc-badge-D8UnW";
10
- const styles = {
11
- root,
12
- disabled,
13
- active,
14
- collapsed,
15
- icon,
16
- label,
17
- badge
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const MAX_LATITUDE = 90;
4
+ const MAX_LONGITUDE = 180;
5
+ const hasUsableCoordinates = (point) => Number.isFinite(point.latitude) && Number.isFinite(point.longitude) && Math.abs(point.latitude) <= MAX_LATITUDE && Math.abs(point.longitude) <= MAX_LONGITUDE;
6
+ const sample = (points, cap) => {
7
+ if (cap <= 1) return points.slice(0, Math.max(cap, 0));
8
+ const step = (points.length - 1) / (cap - 1);
9
+ return Array.from({ length: cap }, (_, i) => points[Math.round(i * step)]);
18
10
  };
19
- exports.active = active;
20
- exports.badge = badge;
21
- exports.collapsed = collapsed;
22
- exports.default = styles;
23
- exports.disabled = disabled;
24
- exports.icon = icon;
25
- exports.label = label;
26
- exports.root = root;
11
+ const boundsOf = (points) => {
12
+ if (points.length === 0) return null;
13
+ const latitudes = points.map((p) => p.point.latitude);
14
+ const longitudes = points.map((p) => p.point.longitude);
15
+ return [
16
+ [Math.min(...latitudes), Math.min(...longitudes)],
17
+ [Math.max(...latitudes), Math.max(...longitudes)]
18
+ ];
19
+ };
20
+ const normalizePoints = (points, maxPoints) => {
21
+ const usable = [];
22
+ points.forEach((point, sourceIndex) => {
23
+ if (hasUsableCoordinates(point)) usable.push({ point, sourceIndex });
24
+ });
25
+ const drawn = usable.length > maxPoints ? sample(usable, maxPoints) : usable;
26
+ return {
27
+ drawn,
28
+ bounds: boundsOf(drawn),
29
+ info: {
30
+ total: points.length,
31
+ drawn: drawn.length,
32
+ skipped: points.length - usable.length,
33
+ dropped: usable.length - drawn.length
34
+ }
35
+ };
36
+ };
37
+ exports.normalizePoints = normalizePoints;
27
38
  //# sourceMappingURL=index85.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index85.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index85.cjs","sources":["../src/geo/GeoMapCard/normalizePoints.ts"],"sourcesContent":["import type { GeoPoint, GeoRenderInfo } from '../../types/geo.types';\n\n/** A point that survived validation, paired with where it came from. */\nexport interface DrawnPoint {\n point: GeoPoint;\n /** Index in the original `points` array, not in the normalised one. */\n sourceIndex: number;\n}\n\n/** South-west and north-east corners, in Leaflet's `[lat, lng]` order. */\nexport type GeoBounds = [[number, number], [number, number]];\n\nexport interface NormalizeResult {\n drawn: DrawnPoint[];\n bounds: GeoBounds | null;\n info: GeoRenderInfo;\n}\n\nconst MAX_LATITUDE = 90;\nconst MAX_LONGITUDE = 180;\n\n/**\n * Garbage coordinates are the norm in network inventories, not the exception:\n * nulls, empty strings coerced to NaN and swapped lat/lng all show up.\n */\nconst hasUsableCoordinates = (point: GeoPoint): boolean =>\n Number.isFinite(point.latitude) &&\n Number.isFinite(point.longitude) &&\n Math.abs(point.latitude) <= MAX_LATITUDE &&\n Math.abs(point.longitude) <= MAX_LONGITUDE;\n\n/**\n * Evenly spread `cap` markers across `points`, always keeping the first and last.\n * Deterministic on purpose: the same data must always draw the same map.\n */\nconst sample = (points: DrawnPoint[], cap: number): DrawnPoint[] => {\n if (cap <= 1) return points.slice(0, Math.max(cap, 0));\n\n const step = (points.length - 1) / (cap - 1);\n\n return Array.from({ length: cap }, (_, i) => points[Math.round(i * step)]);\n};\n\nconst boundsOf = (points: DrawnPoint[]): GeoBounds | null => {\n if (points.length === 0) return null;\n\n const latitudes = points.map((p) => p.point.latitude);\n const longitudes = points.map((p) => p.point.longitude);\n\n return [\n [Math.min(...latitudes), Math.min(...longitudes)],\n [Math.max(...latitudes), Math.max(...longitudes)],\n ];\n};\n\n/**\n * Drop the unplottable points, cap the marker count, then report what happened.\n *\n * Coincident points are *not* folded the way the scatter chart folds them: on a\n * map two cells at the same site are two cells, and zooming already separates\n * them.\n *\n * The reported counts satisfy `total === drawn + skipped + dropped`.\n */\nexport const normalizePoints = (points: GeoPoint[], maxPoints: number): NormalizeResult => {\n const usable: DrawnPoint[] = [];\n\n points.forEach((point, sourceIndex) => {\n if (hasUsableCoordinates(point)) usable.push({ point, sourceIndex });\n });\n\n const drawn = usable.length > maxPoints ? sample(usable, maxPoints) : usable;\n\n return {\n drawn,\n bounds: boundsOf(drawn),\n info: {\n total: points.length,\n drawn: drawn.length,\n skipped: points.length - usable.length,\n dropped: usable.length - drawn.length,\n },\n };\n};\n"],"names":[],"mappings":";;AAkBA,MAAM,eAAe;AACrB,MAAM,gBAAgB;AAMtB,MAAM,uBAAuB,CAAC,UAC5B,OAAO,SAAS,MAAM,QAAQ,KAC9B,OAAO,SAAS,MAAM,SAAS,KAC/B,KAAK,IAAI,MAAM,QAAQ,KAAK,gBAC5B,KAAK,IAAI,MAAM,SAAS,KAAK;AAM/B,MAAM,SAAS,CAAC,QAAsB,QAA8B;AAClE,MAAI,OAAO,EAAG,QAAO,OAAO,MAAM,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC;AAErD,QAAM,QAAQ,OAAO,SAAS,MAAM,MAAM;AAE1C,SAAO,MAAM,KAAK,EAAE,QAAQ,OAAO,CAAC,GAAG,MAAM,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC;AAC3E;AAEA,MAAM,WAAW,CAAC,WAA2C;AAC3D,MAAI,OAAO,WAAW,EAAG,QAAO;AAEhC,QAAM,YAAY,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,QAAQ;AACpD,QAAM,aAAa,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,SAAS;AAEtD,SAAO;AAAA,IACL,CAAC,KAAK,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,GAAG,UAAU,CAAC;AAAA,IAChD,CAAC,KAAK,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,GAAG,UAAU,CAAC;AAAA,EAAA;AAEpD;AAWO,MAAM,kBAAkB,CAAC,QAAoB,cAAuC;AACzF,QAAM,SAAuB,CAAA;AAE7B,SAAO,QAAQ,CAAC,OAAO,gBAAgB;AACrC,QAAI,qBAAqB,KAAK,EAAG,QAAO,KAAK,EAAE,OAAO,aAAa;AAAA,EACrE,CAAC;AAED,QAAM,QAAQ,OAAO,SAAS,YAAY,OAAO,QAAQ,SAAS,IAAI;AAEtE,SAAO;AAAA,IACL;AAAA,IACA,QAAQ,SAAS,KAAK;AAAA,IACtB,MAAM;AAAA,MACJ,OAAO,OAAO;AAAA,MACd,OAAO,MAAM;AAAA,MACb,SAAS,OAAO,SAAS,OAAO;AAAA,MAChC,SAAS,OAAO,SAAS,MAAM;AAAA,IAAA;AAAA,EACjC;AAEJ;;"}
package/dist/index85.js CHANGED
@@ -1,27 +1,38 @@
1
- const root = "krc-root-cQSdQ";
2
- const disabled = "krc-disabled-mXUpZ";
3
- const active = "krc-active-c6Qv6";
4
- const collapsed = "krc-collapsed-zZjr3";
5
- const icon = "krc-icon-dmCQi";
6
- const label = "krc-label-ohVFC";
7
- const badge = "krc-badge-D8UnW";
8
- const styles = {
9
- root,
10
- disabled,
11
- active,
12
- collapsed,
13
- icon,
14
- label,
15
- badge
1
+ const MAX_LATITUDE = 90;
2
+ const MAX_LONGITUDE = 180;
3
+ const hasUsableCoordinates = (point) => Number.isFinite(point.latitude) && Number.isFinite(point.longitude) && Math.abs(point.latitude) <= MAX_LATITUDE && Math.abs(point.longitude) <= MAX_LONGITUDE;
4
+ const sample = (points, cap) => {
5
+ if (cap <= 1) return points.slice(0, Math.max(cap, 0));
6
+ const step = (points.length - 1) / (cap - 1);
7
+ return Array.from({ length: cap }, (_, i) => points[Math.round(i * step)]);
8
+ };
9
+ const boundsOf = (points) => {
10
+ if (points.length === 0) return null;
11
+ const latitudes = points.map((p) => p.point.latitude);
12
+ const longitudes = points.map((p) => p.point.longitude);
13
+ return [
14
+ [Math.min(...latitudes), Math.min(...longitudes)],
15
+ [Math.max(...latitudes), Math.max(...longitudes)]
16
+ ];
17
+ };
18
+ const normalizePoints = (points, maxPoints) => {
19
+ const usable = [];
20
+ points.forEach((point, sourceIndex) => {
21
+ if (hasUsableCoordinates(point)) usable.push({ point, sourceIndex });
22
+ });
23
+ const drawn = usable.length > maxPoints ? sample(usable, maxPoints) : usable;
24
+ return {
25
+ drawn,
26
+ bounds: boundsOf(drawn),
27
+ info: {
28
+ total: points.length,
29
+ drawn: drawn.length,
30
+ skipped: points.length - usable.length,
31
+ dropped: usable.length - drawn.length
32
+ }
33
+ };
16
34
  };
17
35
  export {
18
- active,
19
- badge,
20
- collapsed,
21
- styles as default,
22
- disabled,
23
- icon,
24
- label,
25
- root
36
+ normalizePoints
26
37
  };
27
38
  //# sourceMappingURL=index85.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index85.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index85.js","sources":["../src/geo/GeoMapCard/normalizePoints.ts"],"sourcesContent":["import type { GeoPoint, GeoRenderInfo } from '../../types/geo.types';\n\n/** A point that survived validation, paired with where it came from. */\nexport interface DrawnPoint {\n point: GeoPoint;\n /** Index in the original `points` array, not in the normalised one. */\n sourceIndex: number;\n}\n\n/** South-west and north-east corners, in Leaflet's `[lat, lng]` order. */\nexport type GeoBounds = [[number, number], [number, number]];\n\nexport interface NormalizeResult {\n drawn: DrawnPoint[];\n bounds: GeoBounds | null;\n info: GeoRenderInfo;\n}\n\nconst MAX_LATITUDE = 90;\nconst MAX_LONGITUDE = 180;\n\n/**\n * Garbage coordinates are the norm in network inventories, not the exception:\n * nulls, empty strings coerced to NaN and swapped lat/lng all show up.\n */\nconst hasUsableCoordinates = (point: GeoPoint): boolean =>\n Number.isFinite(point.latitude) &&\n Number.isFinite(point.longitude) &&\n Math.abs(point.latitude) <= MAX_LATITUDE &&\n Math.abs(point.longitude) <= MAX_LONGITUDE;\n\n/**\n * Evenly spread `cap` markers across `points`, always keeping the first and last.\n * Deterministic on purpose: the same data must always draw the same map.\n */\nconst sample = (points: DrawnPoint[], cap: number): DrawnPoint[] => {\n if (cap <= 1) return points.slice(0, Math.max(cap, 0));\n\n const step = (points.length - 1) / (cap - 1);\n\n return Array.from({ length: cap }, (_, i) => points[Math.round(i * step)]);\n};\n\nconst boundsOf = (points: DrawnPoint[]): GeoBounds | null => {\n if (points.length === 0) return null;\n\n const latitudes = points.map((p) => p.point.latitude);\n const longitudes = points.map((p) => p.point.longitude);\n\n return [\n [Math.min(...latitudes), Math.min(...longitudes)],\n [Math.max(...latitudes), Math.max(...longitudes)],\n ];\n};\n\n/**\n * Drop the unplottable points, cap the marker count, then report what happened.\n *\n * Coincident points are *not* folded the way the scatter chart folds them: on a\n * map two cells at the same site are two cells, and zooming already separates\n * them.\n *\n * The reported counts satisfy `total === drawn + skipped + dropped`.\n */\nexport const normalizePoints = (points: GeoPoint[], maxPoints: number): NormalizeResult => {\n const usable: DrawnPoint[] = [];\n\n points.forEach((point, sourceIndex) => {\n if (hasUsableCoordinates(point)) usable.push({ point, sourceIndex });\n });\n\n const drawn = usable.length > maxPoints ? sample(usable, maxPoints) : usable;\n\n return {\n drawn,\n bounds: boundsOf(drawn),\n info: {\n total: points.length,\n drawn: drawn.length,\n skipped: points.length - usable.length,\n dropped: usable.length - drawn.length,\n },\n };\n};\n"],"names":[],"mappings":"AAkBA,MAAM,eAAe;AACrB,MAAM,gBAAgB;AAMtB,MAAM,uBAAuB,CAAC,UAC5B,OAAO,SAAS,MAAM,QAAQ,KAC9B,OAAO,SAAS,MAAM,SAAS,KAC/B,KAAK,IAAI,MAAM,QAAQ,KAAK,gBAC5B,KAAK,IAAI,MAAM,SAAS,KAAK;AAM/B,MAAM,SAAS,CAAC,QAAsB,QAA8B;AAClE,MAAI,OAAO,EAAG,QAAO,OAAO,MAAM,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC;AAErD,QAAM,QAAQ,OAAO,SAAS,MAAM,MAAM;AAE1C,SAAO,MAAM,KAAK,EAAE,QAAQ,OAAO,CAAC,GAAG,MAAM,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC;AAC3E;AAEA,MAAM,WAAW,CAAC,WAA2C;AAC3D,MAAI,OAAO,WAAW,EAAG,QAAO;AAEhC,QAAM,YAAY,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,QAAQ;AACpD,QAAM,aAAa,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,SAAS;AAEtD,SAAO;AAAA,IACL,CAAC,KAAK,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,GAAG,UAAU,CAAC;AAAA,IAChD,CAAC,KAAK,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,GAAG,UAAU,CAAC;AAAA,EAAA;AAEpD;AAWO,MAAM,kBAAkB,CAAC,QAAoB,cAAuC;AACzF,QAAM,SAAuB,CAAA;AAE7B,SAAO,QAAQ,CAAC,OAAO,gBAAgB;AACrC,QAAI,qBAAqB,KAAK,EAAG,QAAO,KAAK,EAAE,OAAO,aAAa;AAAA,EACrE,CAAC;AAED,QAAM,QAAQ,OAAO,SAAS,YAAY,OAAO,QAAQ,SAAS,IAAI;AAEtE,SAAO;AAAA,IACL;AAAA,IACA,QAAQ,SAAS,KAAK;AAAA,IACtB,MAAM;AAAA,MACJ,OAAO,OAAO;AAAA,MACd,OAAO,MAAM;AAAA,MACb,SAAS,OAAO,SAAS,OAAO;AAAA,MAChC,SAAS,OAAO,SAAS,MAAM;AAAA,IAAA;AAAA,EACjC;AAEJ;"}