@hexclave/dashboard-ui-components 1.0.41 → 1.0.43

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 (355) hide show
  1. package/dist/analytics-chart-BUxntwQ3.d.ts +553 -0
  2. package/dist/analytics-chart-BUxntwQ3.d.ts.map +1 -0
  3. package/dist/components/alert.d.ts +1 -3
  4. package/dist/components/alert.d.ts.map +1 -1
  5. package/dist/components/alert.js +4 -7
  6. package/dist/components/alert.js.map +1 -1
  7. package/dist/components/analytics-chart/analytics-chart-pie.d.ts +3 -4
  8. package/dist/components/analytics-chart/analytics-chart-pie.d.ts.map +1 -1
  9. package/dist/components/analytics-chart/analytics-chart-pie.js +2 -4
  10. package/dist/components/analytics-chart/analytics-chart-pie.js.map +1 -1
  11. package/dist/components/analytics-chart/analytics-chart.d.ts +2 -554
  12. package/dist/components/analytics-chart/analytics-chart.js +4 -7
  13. package/dist/components/analytics-chart/analytics-chart.js.map +1 -1
  14. package/dist/components/analytics-chart/default-analytics-chart-tooltip.d.ts +2 -66
  15. package/dist/components/analytics-chart/default-analytics-chart-tooltip.js +3 -5
  16. package/dist/components/analytics-chart/default-analytics-chart-tooltip.js.map +1 -1
  17. package/dist/components/analytics-chart/format.d.ts +2 -13
  18. package/dist/components/analytics-chart/format.js +2 -3
  19. package/dist/components/analytics-chart/format.js.map +1 -1
  20. package/dist/components/analytics-chart/index.d.ts +7 -7
  21. package/dist/components/analytics-chart/index.js +175 -177
  22. package/dist/components/analytics-chart/palette.d.ts +2 -15
  23. package/dist/components/analytics-chart/palette.js +2 -3
  24. package/dist/components/analytics-chart/palette.js.map +1 -1
  25. package/dist/components/analytics-chart/render-data-series.d.ts +1 -1
  26. package/dist/components/analytics-chart/render-data-series.d.ts.map +1 -1
  27. package/dist/components/analytics-chart/render-data-series.js +2 -4
  28. package/dist/components/analytics-chart/render-data-series.js.map +1 -1
  29. package/dist/components/analytics-chart/state.d.ts +2 -54
  30. package/dist/components/analytics-chart/state.js +2 -4
  31. package/dist/components/analytics-chart/state.js.map +1 -1
  32. package/dist/components/analytics-chart/strings.d.ts +2 -33
  33. package/dist/components/analytics-chart/strings.js +2 -3
  34. package/dist/components/analytics-chart/strings.js.map +1 -1
  35. package/dist/components/analytics-chart/types.d.ts +2 -158
  36. package/dist/components/analytics-chart/types.js +2 -3
  37. package/dist/components/analytics-chart/types.js.map +1 -1
  38. package/dist/components/badge.d.ts +1 -3
  39. package/dist/components/badge.d.ts.map +1 -1
  40. package/dist/components/badge.js +4 -10
  41. package/dist/components/badge.js.map +1 -1
  42. package/dist/components/button.d.ts +6 -7
  43. package/dist/components/button.d.ts.map +1 -1
  44. package/dist/components/button.js +4 -5
  45. package/dist/components/button.js.map +1 -1
  46. package/dist/components/card.d.ts +2 -3
  47. package/dist/components/card.d.ts.map +1 -1
  48. package/dist/components/card.js +6 -8
  49. package/dist/components/card.js.map +1 -1
  50. package/dist/components/chart-card.d.ts +1 -2
  51. package/dist/components/chart-card.d.ts.map +1 -1
  52. package/dist/components/chart-card.js +5 -7
  53. package/dist/components/chart-card.js.map +1 -1
  54. package/dist/components/chart-container.d.ts +1 -2
  55. package/dist/components/chart-container.d.ts.map +1 -1
  56. package/dist/components/chart-container.js +5 -7
  57. package/dist/components/chart-container.js.map +1 -1
  58. package/dist/components/chart-legend.d.ts +1 -1
  59. package/dist/components/chart-legend.js +4 -6
  60. package/dist/components/chart-legend.js.map +1 -1
  61. package/dist/components/chart-theme.d.ts.map +1 -1
  62. package/dist/components/chart-theme.js +3 -5
  63. package/dist/components/chart-theme.js.map +1 -1
  64. package/dist/components/chart-tooltip.d.ts +10 -14
  65. package/dist/components/chart-tooltip.d.ts.map +1 -1
  66. package/dist/components/chart-tooltip.js +6 -8
  67. package/dist/components/chart-tooltip.js.map +1 -1
  68. package/dist/components/cursor-blast-effect.d.ts +1 -3
  69. package/dist/components/cursor-blast-effect.d.ts.map +1 -1
  70. package/dist/components/cursor-blast-effect.js +2 -5
  71. package/dist/components/cursor-blast-effect.js.map +1 -1
  72. package/dist/components/data-grid/data-grid-export-dialog.d.ts +2 -3
  73. package/dist/components/data-grid/data-grid-export-dialog.d.ts.map +1 -1
  74. package/dist/components/data-grid/data-grid-export-dialog.js +4 -6
  75. package/dist/components/data-grid/data-grid-export-dialog.js.map +1 -1
  76. package/dist/components/data-grid/data-grid-sizing.d.ts +2 -13
  77. package/dist/components/data-grid/data-grid-sizing.js +3 -4
  78. package/dist/components/data-grid/data-grid-sizing.js.map +1 -1
  79. package/dist/components/data-grid/data-grid-toolbar.d.ts +2 -31
  80. package/dist/components/data-grid/data-grid-toolbar.js +5 -7
  81. package/dist/components/data-grid/data-grid-toolbar.js.map +1 -1
  82. package/dist/components/data-grid/data-grid.d.ts +2 -47
  83. package/dist/components/data-grid/data-grid.js +8 -10
  84. package/dist/components/data-grid/data-grid.js.map +1 -1
  85. package/dist/components/data-grid/data-grid.test.js +1 -3
  86. package/dist/components/data-grid/data-grid.test.js.map +1 -1
  87. package/dist/components/data-grid/index.d.ts +8 -8
  88. package/dist/components/data-grid/index.js +139 -141
  89. package/dist/components/data-grid/state.d.ts +2 -34
  90. package/dist/components/data-grid/state.js +2 -4
  91. package/dist/components/data-grid/state.js.map +1 -1
  92. package/dist/components/data-grid/strings.d.ts +2 -8
  93. package/dist/components/data-grid/strings.js +2 -3
  94. package/dist/components/data-grid/strings.js.map +1 -1
  95. package/dist/components/data-grid/types.d.ts +2 -308
  96. package/dist/components/data-grid/use-data-source.d.ts +2 -85
  97. package/dist/components/data-grid/use-data-source.js +2 -4
  98. package/dist/components/data-grid/use-data-source.js.map +1 -1
  99. package/dist/components/data-grid/use-url-state.d.ts +2 -38
  100. package/dist/components/data-grid/use-url-state.js +2 -5
  101. package/dist/components/data-grid/use-url-state.js.map +1 -1
  102. package/dist/components/data-grid/use-url-state.test.js +1 -3
  103. package/dist/components/data-grid/use-url-state.test.js.map +1 -1
  104. package/dist/components/dialog.d.ts +2 -71
  105. package/dist/components/dialog.js +6 -8
  106. package/dist/components/dialog.js.map +1 -1
  107. package/dist/components/edit-mode.d.ts +1 -3
  108. package/dist/components/edit-mode.d.ts.map +1 -1
  109. package/dist/components/edit-mode.js +2 -5
  110. package/dist/components/edit-mode.js.map +1 -1
  111. package/dist/components/empty-state.d.ts +1 -2
  112. package/dist/components/empty-state.d.ts.map +1 -1
  113. package/dist/components/empty-state.js +4 -6
  114. package/dist/components/empty-state.js.map +1 -1
  115. package/dist/components/input.js +4 -6
  116. package/dist/components/input.js.map +1 -1
  117. package/dist/components/metric-card.d.ts +1 -2
  118. package/dist/components/metric-card.d.ts.map +1 -1
  119. package/dist/components/metric-card.js +5 -7
  120. package/dist/components/metric-card.js.map +1 -1
  121. package/dist/components/pill-toggle.d.ts +1 -3
  122. package/dist/components/pill-toggle.d.ts.map +1 -1
  123. package/dist/components/pill-toggle.js +4 -7
  124. package/dist/components/pill-toggle.js.map +1 -1
  125. package/dist/components/progress-bar.d.ts +1 -3
  126. package/dist/components/progress-bar.d.ts.map +1 -1
  127. package/dist/components/progress-bar.js +3 -6
  128. package/dist/components/progress-bar.js.map +1 -1
  129. package/dist/components/separator.d.ts +1 -3
  130. package/dist/components/separator.d.ts.map +1 -1
  131. package/dist/components/separator.js +2 -5
  132. package/dist/components/separator.js.map +1 -1
  133. package/dist/components/skeleton.d.ts +1 -2
  134. package/dist/components/skeleton.d.ts.map +1 -1
  135. package/dist/components/skeleton.js +2 -5
  136. package/dist/components/skeleton.js.map +1 -1
  137. package/dist/components/table.js +4 -6
  138. package/dist/components/table.js.map +1 -1
  139. package/dist/components/tabs.d.ts +1 -2
  140. package/dist/components/tabs.d.ts.map +1 -1
  141. package/dist/components/tabs.js +4 -7
  142. package/dist/components/tabs.js.map +1 -1
  143. package/dist/dashboard-ui-components.global.js +247 -258
  144. package/dist/dashboard-ui-components.global.js.map +3 -3
  145. package/dist/data-grid-AJi1TNDa.d.ts +46 -0
  146. package/dist/data-grid-AJi1TNDa.d.ts.map +1 -0
  147. package/dist/data-grid-sizing-S1ixcZKo.d.ts +13 -0
  148. package/dist/data-grid-sizing-S1ixcZKo.d.ts.map +1 -0
  149. package/dist/data-grid-toolbar-BGSNGDpT.d.ts +30 -0
  150. package/dist/data-grid-toolbar-BGSNGDpT.d.ts.map +1 -0
  151. package/dist/default-analytics-chart-tooltip-PrLoMaC1.d.ts +65 -0
  152. package/dist/default-analytics-chart-tooltip-PrLoMaC1.d.ts.map +1 -0
  153. package/dist/dialog-CCtTH7s6.d.ts +131 -0
  154. package/dist/dialog-CCtTH7s6.d.ts.map +1 -0
  155. package/dist/esm/components/alert.d.ts +1 -3
  156. package/dist/esm/components/alert.d.ts.map +1 -1
  157. package/dist/esm/components/alert.js +3 -5
  158. package/dist/esm/components/alert.js.map +1 -1
  159. package/dist/esm/components/analytics-chart/analytics-chart-pie.d.ts +3 -4
  160. package/dist/esm/components/analytics-chart/analytics-chart-pie.d.ts.map +1 -1
  161. package/dist/esm/components/analytics-chart/analytics-chart-pie.js +1 -2
  162. package/dist/esm/components/analytics-chart/analytics-chart-pie.js.map +1 -1
  163. package/dist/esm/components/analytics-chart/analytics-chart.d.ts +4 -5
  164. package/dist/esm/components/analytics-chart/analytics-chart.d.ts.map +1 -1
  165. package/dist/esm/components/analytics-chart/analytics-chart.js +3 -5
  166. package/dist/esm/components/analytics-chart/analytics-chart.js.map +1 -1
  167. package/dist/esm/components/analytics-chart/default-analytics-chart-tooltip.d.ts +4 -5
  168. package/dist/esm/components/analytics-chart/default-analytics-chart-tooltip.d.ts.map +1 -1
  169. package/dist/esm/components/analytics-chart/default-analytics-chart-tooltip.js +2 -3
  170. package/dist/esm/components/analytics-chart/default-analytics-chart-tooltip.js.map +1 -1
  171. package/dist/esm/components/analytics-chart/format.d.ts +1 -1
  172. package/dist/esm/components/analytics-chart/format.d.ts.map +1 -1
  173. package/dist/esm/components/analytics-chart/format.js +1 -1
  174. package/dist/esm/components/analytics-chart/format.js.map +1 -1
  175. package/dist/esm/components/analytics-chart/index.d.ts +7 -7
  176. package/dist/esm/components/analytics-chart/index.js +1 -2
  177. package/dist/esm/components/analytics-chart/palette.d.ts +1 -1
  178. package/dist/esm/components/analytics-chart/palette.d.ts.map +1 -1
  179. package/dist/esm/components/analytics-chart/palette.js +1 -1
  180. package/dist/esm/components/analytics-chart/palette.js.map +1 -1
  181. package/dist/esm/components/analytics-chart/render-data-series.d.ts +1 -1
  182. package/dist/esm/components/analytics-chart/render-data-series.d.ts.map +1 -1
  183. package/dist/esm/components/analytics-chart/render-data-series.js +1 -2
  184. package/dist/esm/components/analytics-chart/render-data-series.js.map +1 -1
  185. package/dist/esm/components/analytics-chart/state.d.ts +1 -1
  186. package/dist/esm/components/analytics-chart/state.d.ts.map +1 -1
  187. package/dist/esm/components/analytics-chart/state.js +1 -2
  188. package/dist/esm/components/analytics-chart/state.js.map +1 -1
  189. package/dist/esm/components/analytics-chart/strings.d.ts.map +1 -1
  190. package/dist/esm/components/analytics-chart/strings.js +1 -1
  191. package/dist/esm/components/analytics-chart/strings.js.map +1 -1
  192. package/dist/esm/components/analytics-chart/types.d.ts.map +1 -1
  193. package/dist/esm/components/analytics-chart/types.js +1 -1
  194. package/dist/esm/components/analytics-chart/types.js.map +1 -1
  195. package/dist/esm/components/badge.d.ts +1 -3
  196. package/dist/esm/components/badge.d.ts.map +1 -1
  197. package/dist/esm/components/badge.js +3 -8
  198. package/dist/esm/components/badge.js.map +1 -1
  199. package/dist/esm/components/button.d.ts +6 -7
  200. package/dist/esm/components/button.d.ts.map +1 -1
  201. package/dist/esm/components/button.js +2 -3
  202. package/dist/esm/components/button.js.map +1 -1
  203. package/dist/esm/components/card.d.ts +2 -3
  204. package/dist/esm/components/card.d.ts.map +1 -1
  205. package/dist/esm/components/card.js +3 -5
  206. package/dist/esm/components/card.js.map +1 -1
  207. package/dist/esm/components/chart-card.d.ts +1 -2
  208. package/dist/esm/components/chart-card.d.ts.map +1 -1
  209. package/dist/esm/components/chart-card.js +3 -5
  210. package/dist/esm/components/chart-card.js.map +1 -1
  211. package/dist/esm/components/chart-container.d.ts +1 -2
  212. package/dist/esm/components/chart-container.d.ts.map +1 -1
  213. package/dist/esm/components/chart-container.js +1 -3
  214. package/dist/esm/components/chart-container.js.map +1 -1
  215. package/dist/esm/components/chart-legend.d.ts +1 -1
  216. package/dist/esm/components/chart-legend.js +1 -3
  217. package/dist/esm/components/chart-legend.js.map +1 -1
  218. package/dist/esm/components/chart-theme.d.ts.map +1 -1
  219. package/dist/esm/components/chart-theme.js +2 -3
  220. package/dist/esm/components/chart-theme.js.map +1 -1
  221. package/dist/esm/components/chart-tooltip.d.ts +10 -14
  222. package/dist/esm/components/chart-tooltip.d.ts.map +1 -1
  223. package/dist/esm/components/chart-tooltip.js +2 -4
  224. package/dist/esm/components/chart-tooltip.js.map +1 -1
  225. package/dist/esm/components/cursor-blast-effect.d.ts +1 -3
  226. package/dist/esm/components/cursor-blast-effect.d.ts.map +1 -1
  227. package/dist/esm/components/cursor-blast-effect.js +1 -3
  228. package/dist/esm/components/cursor-blast-effect.js.map +1 -1
  229. package/dist/esm/components/data-grid/data-grid-export-dialog.d.ts +2 -3
  230. package/dist/esm/components/data-grid/data-grid-export-dialog.d.ts.map +1 -1
  231. package/dist/esm/components/data-grid/data-grid-export-dialog.js +2 -4
  232. package/dist/esm/components/data-grid/data-grid-export-dialog.js.map +1 -1
  233. package/dist/esm/components/data-grid/data-grid-sizing.d.ts +1 -1
  234. package/dist/esm/components/data-grid/data-grid-sizing.d.ts.map +1 -1
  235. package/dist/esm/components/data-grid/data-grid-sizing.js +2 -2
  236. package/dist/esm/components/data-grid/data-grid-sizing.js.map +1 -1
  237. package/dist/esm/components/data-grid/data-grid-toolbar.d.ts +2 -3
  238. package/dist/esm/components/data-grid/data-grid-toolbar.d.ts.map +1 -1
  239. package/dist/esm/components/data-grid/data-grid-toolbar.js +2 -4
  240. package/dist/esm/components/data-grid/data-grid-toolbar.js.map +1 -1
  241. package/dist/esm/components/data-grid/data-grid.d.ts +2 -3
  242. package/dist/esm/components/data-grid/data-grid.d.ts.map +1 -1
  243. package/dist/esm/components/data-grid/data-grid.js +6 -8
  244. package/dist/esm/components/data-grid/data-grid.js.map +1 -1
  245. package/dist/esm/components/data-grid/data-grid.test.js +2 -3
  246. package/dist/esm/components/data-grid/data-grid.test.js.map +1 -1
  247. package/dist/esm/components/data-grid/index.d.ts +8 -8
  248. package/dist/esm/components/data-grid/index.js +1 -2
  249. package/dist/esm/components/data-grid/state.d.ts +1 -1
  250. package/dist/esm/components/data-grid/state.d.ts.map +1 -1
  251. package/dist/esm/components/data-grid/state.js +1 -2
  252. package/dist/esm/components/data-grid/state.js.map +1 -1
  253. package/dist/esm/components/data-grid/strings.d.ts +1 -1
  254. package/dist/esm/components/data-grid/strings.d.ts.map +1 -1
  255. package/dist/esm/components/data-grid/strings.js +1 -1
  256. package/dist/esm/components/data-grid/strings.js.map +1 -1
  257. package/dist/esm/components/data-grid/types.d.ts.map +1 -1
  258. package/dist/esm/components/data-grid/types.js +1 -1
  259. package/dist/esm/components/data-grid/use-data-source.d.ts +1 -1
  260. package/dist/esm/components/data-grid/use-data-source.d.ts.map +1 -1
  261. package/dist/esm/components/data-grid/use-data-source.js +1 -2
  262. package/dist/esm/components/data-grid/use-data-source.js.map +1 -1
  263. package/dist/esm/components/data-grid/use-url-state.d.ts +1 -1
  264. package/dist/esm/components/data-grid/use-url-state.d.ts.map +1 -1
  265. package/dist/esm/components/data-grid/use-url-state.js +1 -3
  266. package/dist/esm/components/data-grid/use-url-state.js.map +1 -1
  267. package/dist/esm/components/data-grid/use-url-state.test.js +2 -3
  268. package/dist/esm/components/data-grid/use-url-state.test.js.map +1 -1
  269. package/dist/esm/components/dialog.d.ts +6 -8
  270. package/dist/esm/components/dialog.d.ts.map +1 -1
  271. package/dist/esm/components/dialog.js +3 -5
  272. package/dist/esm/components/dialog.js.map +1 -1
  273. package/dist/esm/components/edit-mode.d.ts +1 -3
  274. package/dist/esm/components/edit-mode.d.ts.map +1 -1
  275. package/dist/esm/components/edit-mode.js +1 -3
  276. package/dist/esm/components/edit-mode.js.map +1 -1
  277. package/dist/esm/components/empty-state.d.ts +1 -2
  278. package/dist/esm/components/empty-state.d.ts.map +1 -1
  279. package/dist/esm/components/empty-state.js +2 -4
  280. package/dist/esm/components/empty-state.js.map +1 -1
  281. package/dist/esm/components/input.js +2 -4
  282. package/dist/esm/components/input.js.map +1 -1
  283. package/dist/esm/components/metric-card.d.ts +1 -2
  284. package/dist/esm/components/metric-card.d.ts.map +1 -1
  285. package/dist/esm/components/metric-card.js +3 -5
  286. package/dist/esm/components/metric-card.js.map +1 -1
  287. package/dist/esm/components/pill-toggle.d.ts +1 -3
  288. package/dist/esm/components/pill-toggle.d.ts.map +1 -1
  289. package/dist/esm/components/pill-toggle.js +3 -5
  290. package/dist/esm/components/pill-toggle.js.map +1 -1
  291. package/dist/esm/components/progress-bar.d.ts +1 -3
  292. package/dist/esm/components/progress-bar.d.ts.map +1 -1
  293. package/dist/esm/components/progress-bar.js +2 -4
  294. package/dist/esm/components/progress-bar.js.map +1 -1
  295. package/dist/esm/components/separator.d.ts +1 -3
  296. package/dist/esm/components/separator.d.ts.map +1 -1
  297. package/dist/esm/components/separator.js +1 -3
  298. package/dist/esm/components/separator.js.map +1 -1
  299. package/dist/esm/components/skeleton.d.ts +1 -2
  300. package/dist/esm/components/skeleton.d.ts.map +1 -1
  301. package/dist/esm/components/skeleton.js +1 -3
  302. package/dist/esm/components/skeleton.js.map +1 -1
  303. package/dist/esm/components/table.js +2 -4
  304. package/dist/esm/components/table.js.map +1 -1
  305. package/dist/esm/components/tabs.d.ts +1 -2
  306. package/dist/esm/components/tabs.d.ts.map +1 -1
  307. package/dist/esm/components/tabs.js +3 -5
  308. package/dist/esm/components/tabs.js.map +1 -1
  309. package/dist/esm/index.d.ts +23 -23
  310. package/dist/esm/index.js +3 -6
  311. package/dist/format-DdrrnMlc.d.ts +13 -0
  312. package/dist/format-DdrrnMlc.d.ts.map +1 -0
  313. package/dist/index.d.ts +17 -17
  314. package/dist/index.js +278 -277
  315. package/dist/palette-pqnuo5cq.d.ts +15 -0
  316. package/dist/palette-pqnuo5cq.d.ts.map +1 -0
  317. package/dist/{chunk-BE-pF4vm.js → rolldown-runtime-D6vf50IK.js} +12 -18
  318. package/dist/state-6LW8ACh5.d.ts +34 -0
  319. package/dist/state-6LW8ACh5.d.ts.map +1 -0
  320. package/dist/state-Hch3gYtt.d.ts +54 -0
  321. package/dist/state-Hch3gYtt.d.ts.map +1 -0
  322. package/dist/strings-CACVtKlq.d.ts +8 -0
  323. package/dist/strings-CACVtKlq.d.ts.map +1 -0
  324. package/dist/strings-D-t58Uol.d.ts +33 -0
  325. package/dist/strings-D-t58Uol.d.ts.map +1 -0
  326. package/dist/types-1-eOd1JF.d.ts +308 -0
  327. package/dist/types-1-eOd1JF.d.ts.map +1 -0
  328. package/dist/types-NyzRTEfi.d.ts +158 -0
  329. package/dist/types-NyzRTEfi.d.ts.map +1 -0
  330. package/dist/use-data-source-BVFynerX.d.ts +85 -0
  331. package/dist/use-data-source-BVFynerX.d.ts.map +1 -0
  332. package/dist/use-url-state-B4_wnBjm.d.ts +38 -0
  333. package/dist/use-url-state-B4_wnBjm.d.ts.map +1 -0
  334. package/package.json +3 -7
  335. package/src/components/analytics-chart/analytics-chart.tsx +2 -3
  336. package/src/components/analytics-chart/default-analytics-chart-tooltip.tsx +1 -1
  337. package/src/components/chart-tooltip.tsx +1 -1
  338. package/src/components/data-grid/data-grid-toolbar.tsx +1 -1
  339. package/src/components/data-grid/data-grid.tsx +2 -2
  340. package/dist/components/analytics-chart/analytics-chart.d.ts.map +0 -1
  341. package/dist/components/analytics-chart/default-analytics-chart-tooltip.d.ts.map +0 -1
  342. package/dist/components/analytics-chart/format.d.ts.map +0 -1
  343. package/dist/components/analytics-chart/palette.d.ts.map +0 -1
  344. package/dist/components/analytics-chart/state.d.ts.map +0 -1
  345. package/dist/components/analytics-chart/strings.d.ts.map +0 -1
  346. package/dist/components/analytics-chart/types.d.ts.map +0 -1
  347. package/dist/components/data-grid/data-grid-sizing.d.ts.map +0 -1
  348. package/dist/components/data-grid/data-grid-toolbar.d.ts.map +0 -1
  349. package/dist/components/data-grid/data-grid.d.ts.map +0 -1
  350. package/dist/components/data-grid/state.d.ts.map +0 -1
  351. package/dist/components/data-grid/strings.d.ts.map +0 -1
  352. package/dist/components/data-grid/types.d.ts.map +0 -1
  353. package/dist/components/data-grid/use-data-source.d.ts.map +0 -1
  354. package/dist/components/data-grid/use-url-state.d.ts.map +0 -1
  355. package/dist/components/dialog.d.ts.map +0 -1
@@ -1,5 +1,4 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_chunk = require('../../chunk-BE-pF4vm.js');
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
2
  let _phosphor_icons_react = require("@phosphor-icons/react");
4
3
  let _hexclave_ui = require("@hexclave/ui");
5
4
  let react_jsx_runtime = require("react/jsx-runtime");
@@ -9,7 +8,6 @@ let ___chart_container_js = require("../chart-container.js");
9
8
  let __default_analytics_chart_tooltip_js = require("./default-analytics-chart-tooltip.js");
10
9
  let __format_js = require("./format.js");
11
10
  let __types_js = require("./types.js");
12
-
13
11
  //#region src/components/analytics-chart/analytics-chart-pie.tsx
14
12
  const DEFAULT_PIE_CLASSNAME = "aspect-square h-[220px] w-[220px] sm:h-[240px] sm:w-[240px]";
15
13
  function AnalyticsChartPie({ wrapperRef, primarySegmentSeries, compareSegmentSeries, aggregatedPrimarySegments, aggregatedCompareSegments, aggregatedPrimaryTotal, aggregatedCompareTotal, segmentColors, showPrimary, showCompare, xFormatKind, yFormatKind, hoverKey, setHoverKey, zoomRange, onResetZoom, visibleStart, visibleEnd, fullData, strings, fmtValue, pie }) {
@@ -269,7 +267,7 @@ function AnalyticsChartPie({ wrapperRef, primarySegmentSeries, compareSegmentSer
269
267
  })]
270
268
  });
271
269
  }
272
-
273
270
  //#endregion
274
271
  exports.AnalyticsChartPie = AnalyticsChartPie;
272
+
275
273
  //# sourceMappingURL=analytics-chart-pie.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"analytics-chart-pie.js","names":["MagnifyingGlassMinusIcon","DesignChartContainer","PieChart","Pie","Cell","TrendPill"],"sources":["../../../src/components/analytics-chart/analytics-chart-pie.tsx"],"sourcesContent":["import { MagnifyingGlassMinusIcon } from \"@phosphor-icons/react\";\nimport { cn } from \"@hexclave/ui\";\nimport { type DesignChartConfig, DesignChartContainer } from \"../chart-container\";\nimport { type CSSProperties, type Ref, useEffect, useMemo, useState } from \"react\";\nimport { Cell, Pie, PieChart } from \"recharts\";\nimport { TrendPill } from \"./default-analytics-chart-tooltip\";\nimport { formatDelta } from \"./format\";\nimport type { AnalyticsChartStrings } from \"./strings\";\nimport {\n cssIdent,\n type AnalyticsChartPieProps,\n type AnalyticsChartSeries,\n type FormatKind,\n type Point,\n} from \"./types\";\n\ntype SegmentColors = {\n primary: { light: string[], dark: string[] },\n compare: { light: string[], dark: string[] },\n};\n\ntype AnalyticsChartPieBodyProps = {\n wrapperRef: Ref<HTMLDivElement>,\n primarySegmentSeries: readonly AnalyticsChartSeries[],\n compareSegmentSeries: readonly AnalyticsChartSeries[],\n aggregatedPrimarySegments: number[],\n aggregatedCompareSegments: number[],\n aggregatedPrimaryTotal: number,\n aggregatedCompareTotal: number,\n segmentColors: SegmentColors,\n showPrimary: boolean,\n showCompare: boolean,\n xFormatKind: FormatKind,\n yFormatKind: FormatKind,\n hoverKey: string | null,\n setHoverKey: (k: string | null) => void,\n zoomRange: [number, number] | null,\n onResetZoom: () => void,\n visibleStart: number,\n visibleEnd: number,\n fullData: Point[],\n strings: AnalyticsChartStrings,\n fmtValue: (value: number, kind: FormatKind) => string,\n pie: AnalyticsChartPieProps | undefined,\n};\n\nconst DEFAULT_PIE_CLASSNAME = \"aspect-square h-[220px] w-[220px] sm:h-[240px] sm:w-[240px]\";\n\nexport function AnalyticsChartPie({\n wrapperRef,\n primarySegmentSeries,\n compareSegmentSeries,\n aggregatedPrimarySegments,\n aggregatedCompareSegments,\n aggregatedPrimaryTotal,\n aggregatedCompareTotal,\n segmentColors,\n showPrimary,\n showCompare,\n xFormatKind,\n yFormatKind,\n hoverKey,\n setHoverKey,\n zoomRange,\n onResetZoom,\n visibleStart,\n visibleEnd,\n fullData,\n strings,\n fmtValue,\n pie,\n}: AnalyticsChartPieBodyProps) {\n const innerRadius = pie?.innerRadius ?? 60;\n const outerRadius = pie?.outerRadius ?? 84;\n const compareInnerRadius = pie?.compareInnerRadius ?? 36;\n const compareOuterRadius = pie?.compareOuterRadius ?? 52;\n const containerClassName = pie?.className ?? DEFAULT_PIE_CLASSNAME;\n const showDateRange = pie?.showDateRange ?? true;\n const centerTextMaxWidth = Math.max(64, innerRadius * 2 - 28);\n const segmentTransitionStyle: CSSProperties = {\n transition: \"opacity 180ms ease-out\",\n };\n\n const canonicalSeries = primarySegmentSeries.length > 0\n ? primarySegmentSeries\n : compareSegmentSeries;\n const usePrimaryForCanonical = primarySegmentSeries.length > 0;\n\n const compareValueByKey = useMemo(() => {\n const m = new Map<string, number>();\n compareSegmentSeries.forEach((s, sIdx) => {\n m.set(s.key, aggregatedCompareSegments[sIdx] ?? 0);\n });\n return m;\n }, [compareSegmentSeries, aggregatedCompareSegments]);\n const primaryValueByKey = useMemo(() => {\n const m = new Map<string, number>();\n primarySegmentSeries.forEach((s, sIdx) => {\n m.set(s.key, aggregatedPrimarySegments[sIdx] ?? 0);\n });\n return m;\n }, [primarySegmentSeries, aggregatedPrimarySegments]);\n\n const canonicalTotal = usePrimaryForCanonical\n ? aggregatedPrimaryTotal\n : aggregatedCompareTotal;\n\n const legendRows = useMemo(\n () =>\n canonicalSeries\n .map((s, sIdx) => {\n const value = usePrimaryForCanonical\n ? (aggregatedPrimarySegments[sIdx] ?? 0)\n : (aggregatedCompareSegments[sIdx] ?? 0);\n const prevValue = usePrimaryForCanonical\n ? (compareValueByKey.get(s.key) ?? 0)\n : (primaryValueByKey.get(s.key) ?? 0);\n return {\n key: s.key,\n label: s.label,\n sIdx,\n value,\n prevValue,\n pct: canonicalTotal > 0 ? value / canonicalTotal : 0,\n fill: segmentColors.primary.light[sIdx],\n fillDark: segmentColors.primary.dark[sIdx],\n fillCompare: segmentColors.compare.light[sIdx],\n fillCompareDark: segmentColors.compare.dark[sIdx],\n };\n })\n .sort((a, b) => b.value - a.value),\n [\n canonicalSeries,\n usePrimaryForCanonical,\n aggregatedPrimarySegments,\n aggregatedCompareSegments,\n compareValueByKey,\n primaryValueByKey,\n canonicalTotal,\n segmentColors,\n ],\n );\n\n const chartConfig = useMemo<DesignChartConfig>(() => {\n const config: DesignChartConfig = {};\n canonicalSeries.forEach((s, sIdx) => {\n config[cssIdent(s.key)] = {\n label: s.label,\n theme: {\n light: segmentColors.primary.light[sIdx],\n dark: segmentColors.primary.dark[sIdx],\n },\n };\n config[`compare-${cssIdent(s.key)}`] = {\n label: s.label,\n theme: {\n light: segmentColors.compare.light[sIdx],\n dark: segmentColors.compare.dark[sIdx],\n },\n };\n });\n return config;\n }, [canonicalSeries, segmentColors]);\n\n const activeRow = hoverKey != null\n ? legendRows.find((r) => r.key === hoverKey) ?? null\n : null;\n const [centerDisplayKey, setCenterDisplayKey] = useState<string | null>(null);\n const [centerDisplayVisible, setCenterDisplayVisible] = useState(true);\n const centerDisplayRow = centerDisplayKey != null\n ? legendRows.find((r) => r.key === centerDisplayKey) ?? null\n : null;\n useEffect(() => {\n const nextKey = activeRow?.key ?? null;\n if (nextKey === centerDisplayKey) {\n return;\n }\n\n setCenterDisplayVisible(false);\n const timeoutId = window.setTimeout(() => {\n setCenterDisplayKey(nextKey);\n setCenterDisplayVisible(true);\n }, 120);\n\n return () => {\n window.clearTimeout(timeoutId);\n };\n }, [activeRow?.key, centerDisplayKey]);\n\n const activeDelta = activeRow\n ? formatDelta(activeRow.value, activeRow.prevValue)\n : formatDelta(aggregatedPrimaryTotal, aggregatedCompareTotal);\n\n const windowDays = visibleEnd - visibleStart + 1;\n const startLabel = fmtValue(fullData[visibleStart]!.ts, xFormatKind);\n const endLabel = fmtValue(fullData[visibleEnd]!.ts, xFormatKind);\n\n const outerData = legendRows.map((r) => ({ name: cssIdent(r.key), hoverKey: r.key, value: r.value, fill: r.fill }));\n const innerData = legendRows.map((r) => ({ name: cssIdent(r.key), hoverKey: r.key, value: r.prevValue, fill: r.fillCompare }));\n const activeIdx = hoverKey != null ? legendRows.findIndex((r) => r.key === hoverKey) : -1;\n\n return (\n <div\n ref={wrapperRef}\n className=\"relative flex h-full min-h-0 w-full min-w-0 flex-1 flex-col select-none\"\n onClick={(e) => e.stopPropagation()}\n >\n {zoomRange && (\n <div className=\"absolute right-2 top-2 z-20\">\n <button\n type=\"button\"\n onClick={onResetZoom}\n className=\"inline-flex items-center gap-1.5 rounded-full bg-blue-500/10 px-2.5 py-1 font-mono text-[10px] font-semibold uppercase tracking-wider text-blue-600 ring-1 ring-blue-500/30 transition-colors duration-150 hover:bg-blue-500/15 hover:transition-none focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500/50 dark:text-blue-300 dark:ring-blue-400/30\"\n >\n <MagnifyingGlassMinusIcon weight=\"bold\" className=\"size-3\" aria-hidden=\"true\" />\n <span>{strings.resetZoom}</span>\n </button>\n </div>\n )}\n\n <div className=\"flex h-full min-h-0 w-full flex-1 flex-wrap content-center items-center justify-center gap-x-10 gap-y-6\">\n <div className=\"flex shrink-0 flex-col items-center gap-3\">\n <div className=\"relative\">\n <DesignChartContainer config={chartConfig} className={containerClassName}>\n <PieChart\n role=\"img\"\n aria-label={strings.pieAriaLabel({\n segmentCount: canonicalSeries.length,\n windowDays,\n })}\n >\n {showPrimary && (\n <Pie\n data={outerData}\n dataKey=\"value\"\n nameKey=\"name\"\n cx=\"50%\"\n cy=\"50%\"\n innerRadius={innerRadius}\n outerRadius={outerRadius}\n paddingAngle={1}\n startAngle={90}\n endAngle={-270}\n isAnimationActive={false}\n stroke=\"none\"\n >\n {outerData.map((d, i) => {\n const inactive = activeIdx >= 0 && activeIdx !== i;\n return (\n <Cell\n key={`outer-${d.name}`}\n fill={`var(--color-${d.name})`}\n opacity={inactive ? 0.22 : 1}\n style={segmentTransitionStyle}\n onMouseEnter={() => setHoverKey(d.hoverKey)}\n onMouseLeave={() => setHoverKey(null)}\n />\n );\n })}\n </Pie>\n )}\n {showCompare && (\n <Pie\n data={innerData}\n dataKey=\"value\"\n nameKey=\"name\"\n cx=\"50%\"\n cy=\"50%\"\n innerRadius={compareInnerRadius}\n outerRadius={compareOuterRadius}\n paddingAngle={1}\n startAngle={90}\n endAngle={-270}\n isAnimationActive={false}\n stroke=\"none\"\n >\n {innerData.map((d, i) => {\n const inactive = activeIdx >= 0 && activeIdx !== i;\n return (\n <Cell\n key={`inner-${d.name}`}\n fill={`var(--color-compare-${d.name})`}\n opacity={inactive ? 0.22 : 0.95}\n style={segmentTransitionStyle}\n onMouseEnter={() => setHoverKey(d.hoverKey)}\n onMouseLeave={() => setHoverKey(null)}\n />\n );\n })}\n </Pie>\n )}\n </PieChart>\n </DesignChartContainer>\n\n <div\n className={cn(\n \"pointer-events-none absolute inset-0 flex flex-col items-center justify-center text-center transition-opacity duration-200 ease-out\",\n centerDisplayVisible ? \"opacity-100\" : \"opacity-35\",\n )}\n >\n <span className=\"block truncate font-mono text-[9px] uppercase tracking-wider text-muted-foreground\" style={{ maxWidth: centerTextMaxWidth }}>\n {centerDisplayRow ? centerDisplayRow.label : strings.pieTotalCenter}\n </span>\n <span className=\"mt-0.5 block truncate font-mono text-xl font-semibold leading-none tabular-nums text-foreground\" style={{ maxWidth: centerTextMaxWidth }}>\n {fmtValue(centerDisplayRow ? centerDisplayRow.value : canonicalTotal, yFormatKind)}\n </span>\n </div>\n </div>\n\n {(showDateRange || showCompare) && (\n <div className=\"flex items-center gap-2 text-center\">\n {showDateRange && (\n <span className=\"font-mono text-[10px] uppercase tracking-wider text-muted-foreground/80\">\n {startLabel} – {endLabel}\n </span>\n )}\n {showCompare && (\n <TrendPill delta={activeDelta} size=\"sm\" label={strings.pieVsPrev} />\n )}\n </div>\n )}\n </div>\n\n <ul className=\"flex min-w-[200px] max-w-[300px] flex-col gap-1\">\n {legendRows.map((r) => {\n const isActive = hoverKey === r.key;\n const dimmed = hoverKey != null && !isActive;\n const rowDelta = formatDelta(r.value, r.prevValue);\n return (\n <li key={r.key}>\n <button\n type=\"button\"\n onMouseEnter={() => setHoverKey(r.key)}\n onMouseLeave={() => setHoverKey(null)}\n onFocus={() => setHoverKey(r.key)}\n onBlur={() => setHoverKey(null)}\n className={cn(\n \"flex w-full items-center gap-2.5 rounded-md px-2 py-1.5 text-left transition-[background-color,opacity] duration-200 ease-out hover:bg-foreground/[0.04] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-foreground/20\",\n isActive && \"bg-foreground/[0.05]\",\n dimmed && \"opacity-50\",\n )}\n >\n <span\n className=\"size-2.5 shrink-0 rounded-[3px] bg-[var(--c-l)] dark:bg-[var(--c-d)]\"\n style={{ \"--c-l\": r.fill, \"--c-d\": r.fillDark } as CSSProperties}\n />\n <span className=\"min-w-0 flex-1 truncate text-[12px] font-medium text-foreground\">\n {r.label}\n </span>\n <span className=\"shrink-0 font-mono text-[11px] tabular-nums text-muted-foreground\">\n {(r.pct * 100).toFixed(1)}%\n </span>\n <span className=\"shrink-0 min-w-[48px] text-right font-mono text-[11px] font-semibold tabular-nums text-foreground\">\n {fmtValue(r.value, yFormatKind)}\n </span>\n {showCompare && (\n <span className=\"shrink-0\">\n <TrendPill delta={rowDelta} size=\"sm\" />\n </span>\n )}\n </button>\n </li>\n );\n })}\n </ul>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"analytics-chart-pie.js","names":["MagnifyingGlassMinusIcon","DesignChartContainer","PieChart","Pie","Cell","TrendPill"],"sources":["../../../src/components/analytics-chart/analytics-chart-pie.tsx"],"sourcesContent":["import { MagnifyingGlassMinusIcon } from \"@phosphor-icons/react\";\nimport { cn } from \"@hexclave/ui\";\nimport { type DesignChartConfig, DesignChartContainer } from \"../chart-container\";\nimport { type CSSProperties, type Ref, useEffect, useMemo, useState } from \"react\";\nimport { Cell, Pie, PieChart } from \"recharts\";\nimport { TrendPill } from \"./default-analytics-chart-tooltip\";\nimport { formatDelta } from \"./format\";\nimport type { AnalyticsChartStrings } from \"./strings\";\nimport {\n cssIdent,\n type AnalyticsChartPieProps,\n type AnalyticsChartSeries,\n type FormatKind,\n type Point,\n} from \"./types\";\n\ntype SegmentColors = {\n primary: { light: string[], dark: string[] },\n compare: { light: string[], dark: string[] },\n};\n\ntype AnalyticsChartPieBodyProps = {\n wrapperRef: Ref<HTMLDivElement>,\n primarySegmentSeries: readonly AnalyticsChartSeries[],\n compareSegmentSeries: readonly AnalyticsChartSeries[],\n aggregatedPrimarySegments: number[],\n aggregatedCompareSegments: number[],\n aggregatedPrimaryTotal: number,\n aggregatedCompareTotal: number,\n segmentColors: SegmentColors,\n showPrimary: boolean,\n showCompare: boolean,\n xFormatKind: FormatKind,\n yFormatKind: FormatKind,\n hoverKey: string | null,\n setHoverKey: (k: string | null) => void,\n zoomRange: [number, number] | null,\n onResetZoom: () => void,\n visibleStart: number,\n visibleEnd: number,\n fullData: Point[],\n strings: AnalyticsChartStrings,\n fmtValue: (value: number, kind: FormatKind) => string,\n pie: AnalyticsChartPieProps | undefined,\n};\n\nconst DEFAULT_PIE_CLASSNAME = \"aspect-square h-[220px] w-[220px] sm:h-[240px] sm:w-[240px]\";\n\nexport function AnalyticsChartPie({\n wrapperRef,\n primarySegmentSeries,\n compareSegmentSeries,\n aggregatedPrimarySegments,\n aggregatedCompareSegments,\n aggregatedPrimaryTotal,\n aggregatedCompareTotal,\n segmentColors,\n showPrimary,\n showCompare,\n xFormatKind,\n yFormatKind,\n hoverKey,\n setHoverKey,\n zoomRange,\n onResetZoom,\n visibleStart,\n visibleEnd,\n fullData,\n strings,\n fmtValue,\n pie,\n}: AnalyticsChartPieBodyProps) {\n const innerRadius = pie?.innerRadius ?? 60;\n const outerRadius = pie?.outerRadius ?? 84;\n const compareInnerRadius = pie?.compareInnerRadius ?? 36;\n const compareOuterRadius = pie?.compareOuterRadius ?? 52;\n const containerClassName = pie?.className ?? DEFAULT_PIE_CLASSNAME;\n const showDateRange = pie?.showDateRange ?? true;\n const centerTextMaxWidth = Math.max(64, innerRadius * 2 - 28);\n const segmentTransitionStyle: CSSProperties = {\n transition: \"opacity 180ms ease-out\",\n };\n\n const canonicalSeries = primarySegmentSeries.length > 0\n ? primarySegmentSeries\n : compareSegmentSeries;\n const usePrimaryForCanonical = primarySegmentSeries.length > 0;\n\n const compareValueByKey = useMemo(() => {\n const m = new Map<string, number>();\n compareSegmentSeries.forEach((s, sIdx) => {\n m.set(s.key, aggregatedCompareSegments[sIdx] ?? 0);\n });\n return m;\n }, [compareSegmentSeries, aggregatedCompareSegments]);\n const primaryValueByKey = useMemo(() => {\n const m = new Map<string, number>();\n primarySegmentSeries.forEach((s, sIdx) => {\n m.set(s.key, aggregatedPrimarySegments[sIdx] ?? 0);\n });\n return m;\n }, [primarySegmentSeries, aggregatedPrimarySegments]);\n\n const canonicalTotal = usePrimaryForCanonical\n ? aggregatedPrimaryTotal\n : aggregatedCompareTotal;\n\n const legendRows = useMemo(\n () =>\n canonicalSeries\n .map((s, sIdx) => {\n const value = usePrimaryForCanonical\n ? (aggregatedPrimarySegments[sIdx] ?? 0)\n : (aggregatedCompareSegments[sIdx] ?? 0);\n const prevValue = usePrimaryForCanonical\n ? (compareValueByKey.get(s.key) ?? 0)\n : (primaryValueByKey.get(s.key) ?? 0);\n return {\n key: s.key,\n label: s.label,\n sIdx,\n value,\n prevValue,\n pct: canonicalTotal > 0 ? value / canonicalTotal : 0,\n fill: segmentColors.primary.light[sIdx],\n fillDark: segmentColors.primary.dark[sIdx],\n fillCompare: segmentColors.compare.light[sIdx],\n fillCompareDark: segmentColors.compare.dark[sIdx],\n };\n })\n .sort((a, b) => b.value - a.value),\n [\n canonicalSeries,\n usePrimaryForCanonical,\n aggregatedPrimarySegments,\n aggregatedCompareSegments,\n compareValueByKey,\n primaryValueByKey,\n canonicalTotal,\n segmentColors,\n ],\n );\n\n const chartConfig = useMemo<DesignChartConfig>(() => {\n const config: DesignChartConfig = {};\n canonicalSeries.forEach((s, sIdx) => {\n config[cssIdent(s.key)] = {\n label: s.label,\n theme: {\n light: segmentColors.primary.light[sIdx],\n dark: segmentColors.primary.dark[sIdx],\n },\n };\n config[`compare-${cssIdent(s.key)}`] = {\n label: s.label,\n theme: {\n light: segmentColors.compare.light[sIdx],\n dark: segmentColors.compare.dark[sIdx],\n },\n };\n });\n return config;\n }, [canonicalSeries, segmentColors]);\n\n const activeRow = hoverKey != null\n ? legendRows.find((r) => r.key === hoverKey) ?? null\n : null;\n const [centerDisplayKey, setCenterDisplayKey] = useState<string | null>(null);\n const [centerDisplayVisible, setCenterDisplayVisible] = useState(true);\n const centerDisplayRow = centerDisplayKey != null\n ? legendRows.find((r) => r.key === centerDisplayKey) ?? null\n : null;\n useEffect(() => {\n const nextKey = activeRow?.key ?? null;\n if (nextKey === centerDisplayKey) {\n return;\n }\n\n setCenterDisplayVisible(false);\n const timeoutId = window.setTimeout(() => {\n setCenterDisplayKey(nextKey);\n setCenterDisplayVisible(true);\n }, 120);\n\n return () => {\n window.clearTimeout(timeoutId);\n };\n }, [activeRow?.key, centerDisplayKey]);\n\n const activeDelta = activeRow\n ? formatDelta(activeRow.value, activeRow.prevValue)\n : formatDelta(aggregatedPrimaryTotal, aggregatedCompareTotal);\n\n const windowDays = visibleEnd - visibleStart + 1;\n const startLabel = fmtValue(fullData[visibleStart]!.ts, xFormatKind);\n const endLabel = fmtValue(fullData[visibleEnd]!.ts, xFormatKind);\n\n const outerData = legendRows.map((r) => ({ name: cssIdent(r.key), hoverKey: r.key, value: r.value, fill: r.fill }));\n const innerData = legendRows.map((r) => ({ name: cssIdent(r.key), hoverKey: r.key, value: r.prevValue, fill: r.fillCompare }));\n const activeIdx = hoverKey != null ? legendRows.findIndex((r) => r.key === hoverKey) : -1;\n\n return (\n <div\n ref={wrapperRef}\n className=\"relative flex h-full min-h-0 w-full min-w-0 flex-1 flex-col select-none\"\n onClick={(e) => e.stopPropagation()}\n >\n {zoomRange && (\n <div className=\"absolute right-2 top-2 z-20\">\n <button\n type=\"button\"\n onClick={onResetZoom}\n className=\"inline-flex items-center gap-1.5 rounded-full bg-blue-500/10 px-2.5 py-1 font-mono text-[10px] font-semibold uppercase tracking-wider text-blue-600 ring-1 ring-blue-500/30 transition-colors duration-150 hover:bg-blue-500/15 hover:transition-none focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500/50 dark:text-blue-300 dark:ring-blue-400/30\"\n >\n <MagnifyingGlassMinusIcon weight=\"bold\" className=\"size-3\" aria-hidden=\"true\" />\n <span>{strings.resetZoom}</span>\n </button>\n </div>\n )}\n\n <div className=\"flex h-full min-h-0 w-full flex-1 flex-wrap content-center items-center justify-center gap-x-10 gap-y-6\">\n <div className=\"flex shrink-0 flex-col items-center gap-3\">\n <div className=\"relative\">\n <DesignChartContainer config={chartConfig} className={containerClassName}>\n <PieChart\n role=\"img\"\n aria-label={strings.pieAriaLabel({\n segmentCount: canonicalSeries.length,\n windowDays,\n })}\n >\n {showPrimary && (\n <Pie\n data={outerData}\n dataKey=\"value\"\n nameKey=\"name\"\n cx=\"50%\"\n cy=\"50%\"\n innerRadius={innerRadius}\n outerRadius={outerRadius}\n paddingAngle={1}\n startAngle={90}\n endAngle={-270}\n isAnimationActive={false}\n stroke=\"none\"\n >\n {outerData.map((d, i) => {\n const inactive = activeIdx >= 0 && activeIdx !== i;\n return (\n <Cell\n key={`outer-${d.name}`}\n fill={`var(--color-${d.name})`}\n opacity={inactive ? 0.22 : 1}\n style={segmentTransitionStyle}\n onMouseEnter={() => setHoverKey(d.hoverKey)}\n onMouseLeave={() => setHoverKey(null)}\n />\n );\n })}\n </Pie>\n )}\n {showCompare && (\n <Pie\n data={innerData}\n dataKey=\"value\"\n nameKey=\"name\"\n cx=\"50%\"\n cy=\"50%\"\n innerRadius={compareInnerRadius}\n outerRadius={compareOuterRadius}\n paddingAngle={1}\n startAngle={90}\n endAngle={-270}\n isAnimationActive={false}\n stroke=\"none\"\n >\n {innerData.map((d, i) => {\n const inactive = activeIdx >= 0 && activeIdx !== i;\n return (\n <Cell\n key={`inner-${d.name}`}\n fill={`var(--color-compare-${d.name})`}\n opacity={inactive ? 0.22 : 0.95}\n style={segmentTransitionStyle}\n onMouseEnter={() => setHoverKey(d.hoverKey)}\n onMouseLeave={() => setHoverKey(null)}\n />\n );\n })}\n </Pie>\n )}\n </PieChart>\n </DesignChartContainer>\n\n <div\n className={cn(\n \"pointer-events-none absolute inset-0 flex flex-col items-center justify-center text-center transition-opacity duration-200 ease-out\",\n centerDisplayVisible ? \"opacity-100\" : \"opacity-35\",\n )}\n >\n <span className=\"block truncate font-mono text-[9px] uppercase tracking-wider text-muted-foreground\" style={{ maxWidth: centerTextMaxWidth }}>\n {centerDisplayRow ? centerDisplayRow.label : strings.pieTotalCenter}\n </span>\n <span className=\"mt-0.5 block truncate font-mono text-xl font-semibold leading-none tabular-nums text-foreground\" style={{ maxWidth: centerTextMaxWidth }}>\n {fmtValue(centerDisplayRow ? centerDisplayRow.value : canonicalTotal, yFormatKind)}\n </span>\n </div>\n </div>\n\n {(showDateRange || showCompare) && (\n <div className=\"flex items-center gap-2 text-center\">\n {showDateRange && (\n <span className=\"font-mono text-[10px] uppercase tracking-wider text-muted-foreground/80\">\n {startLabel} – {endLabel}\n </span>\n )}\n {showCompare && (\n <TrendPill delta={activeDelta} size=\"sm\" label={strings.pieVsPrev} />\n )}\n </div>\n )}\n </div>\n\n <ul className=\"flex min-w-[200px] max-w-[300px] flex-col gap-1\">\n {legendRows.map((r) => {\n const isActive = hoverKey === r.key;\n const dimmed = hoverKey != null && !isActive;\n const rowDelta = formatDelta(r.value, r.prevValue);\n return (\n <li key={r.key}>\n <button\n type=\"button\"\n onMouseEnter={() => setHoverKey(r.key)}\n onMouseLeave={() => setHoverKey(null)}\n onFocus={() => setHoverKey(r.key)}\n onBlur={() => setHoverKey(null)}\n className={cn(\n \"flex w-full items-center gap-2.5 rounded-md px-2 py-1.5 text-left transition-[background-color,opacity] duration-200 ease-out hover:bg-foreground/[0.04] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-foreground/20\",\n isActive && \"bg-foreground/[0.05]\",\n dimmed && \"opacity-50\",\n )}\n >\n <span\n className=\"size-2.5 shrink-0 rounded-[3px] bg-[var(--c-l)] dark:bg-[var(--c-d)]\"\n style={{ \"--c-l\": r.fill, \"--c-d\": r.fillDark } as CSSProperties}\n />\n <span className=\"min-w-0 flex-1 truncate text-[12px] font-medium text-foreground\">\n {r.label}\n </span>\n <span className=\"shrink-0 font-mono text-[11px] tabular-nums text-muted-foreground\">\n {(r.pct * 100).toFixed(1)}%\n </span>\n <span className=\"shrink-0 min-w-[48px] text-right font-mono text-[11px] font-semibold tabular-nums text-foreground\">\n {fmtValue(r.value, yFormatKind)}\n </span>\n {showCompare && (\n <span className=\"shrink-0\">\n <TrendPill delta={rowDelta} size=\"sm\" />\n </span>\n )}\n </button>\n </li>\n );\n })}\n </ul>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}