@economic/taco 14.0.0 → 14.1.0-EC-85807-code-report-fixes.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 (364) hide show
  1. package/dist/charts/components/Area/AreaChart.cjs.map +1 -1
  2. package/dist/charts/components/Area/AreaChart.d.ts +1 -1
  3. package/dist/charts/components/Area/AreaChart.js.map +1 -1
  4. package/dist/charts/components/Bar/BarChart.cjs +2 -2
  5. package/dist/charts/components/Bar/BarChart.cjs.map +1 -1
  6. package/dist/charts/components/Bar/BarChart.d.ts +1 -1
  7. package/dist/charts/components/Bar/BarChart.js +2 -2
  8. package/dist/charts/components/Bar/BarChart.js.map +1 -1
  9. package/dist/charts/components/ChartWrapper.cjs.map +1 -1
  10. package/dist/charts/components/ChartWrapper.js.map +1 -1
  11. package/dist/charts/components/Composed/BarLineChart.cjs.map +1 -1
  12. package/dist/charts/components/Composed/BarLineChart.d.ts +2 -2
  13. package/dist/charts/components/Composed/BarLineChart.js.map +1 -1
  14. package/dist/charts/components/Donut/DonutChart.cjs.map +1 -1
  15. package/dist/charts/components/Donut/DonutChart.d.ts +1 -1
  16. package/dist/charts/components/Donut/DonutChart.js.map +1 -1
  17. package/dist/charts/components/LegacyDonut/ActiveShape.cjs +7 -5
  18. package/dist/charts/components/LegacyDonut/ActiveShape.cjs.map +1 -1
  19. package/dist/charts/components/LegacyDonut/ActiveShape.d.ts +6 -3
  20. package/dist/charts/components/LegacyDonut/ActiveShape.js +7 -5
  21. package/dist/charts/components/LegacyDonut/ActiveShape.js.map +1 -1
  22. package/dist/charts/components/LegacyDonut/CenteredLabel.cjs +1 -1
  23. package/dist/charts/components/LegacyDonut/CenteredLabel.cjs.map +1 -1
  24. package/dist/charts/components/LegacyDonut/CenteredLabel.js +1 -1
  25. package/dist/charts/components/LegacyDonut/CenteredLabel.js.map +1 -1
  26. package/dist/charts/components/LegacyDonut/LegacyDonutChart.cjs +119 -103
  27. package/dist/charts/components/LegacyDonut/LegacyDonutChart.cjs.map +1 -1
  28. package/dist/charts/components/LegacyDonut/LegacyDonutChart.d.ts +13 -2
  29. package/dist/charts/components/LegacyDonut/LegacyDonutChart.js +119 -103
  30. package/dist/charts/components/LegacyDonut/LegacyDonutChart.js.map +1 -1
  31. package/dist/charts/components/LegacyDonut/Legend.cjs +1 -1
  32. package/dist/charts/components/LegacyDonut/Legend.cjs.map +1 -1
  33. package/dist/charts/components/LegacyDonut/Legend.js +1 -1
  34. package/dist/charts/components/LegacyDonut/Legend.js.map +1 -1
  35. package/dist/charts/components/Legend.cjs +1 -1
  36. package/dist/charts/components/Legend.cjs.map +1 -1
  37. package/dist/charts/components/Legend.js +1 -1
  38. package/dist/charts/components/Legend.js.map +1 -1
  39. package/dist/charts/components/Line/LineChart.cjs.map +1 -1
  40. package/dist/charts/components/Line/LineChart.d.ts +3 -2
  41. package/dist/charts/components/Line/LineChart.js.map +1 -1
  42. package/dist/charts/components/Pie/PieChart.cjs +4 -4
  43. package/dist/charts/components/Pie/PieChart.cjs.map +1 -1
  44. package/dist/charts/components/Pie/PieChart.js +4 -4
  45. package/dist/charts/components/Pie/PieChart.js.map +1 -1
  46. package/dist/charts/components/Pie/util.cjs.map +1 -1
  47. package/dist/charts/components/Pie/util.d.ts +2 -1
  48. package/dist/charts/components/Pie/util.js.map +1 -1
  49. package/dist/charts/components/Tooltip.cjs.map +1 -1
  50. package/dist/charts/components/Tooltip.d.ts +2 -3
  51. package/dist/charts/components/Tooltip.js.map +1 -1
  52. package/dist/charts/components/types.d.ts +9 -5
  53. package/dist/charts/components/useChartData.cjs +5 -3
  54. package/dist/charts/components/useChartData.cjs.map +1 -1
  55. package/dist/charts/components/useChartData.d.ts +6 -2
  56. package/dist/charts/components/useChartData.js +5 -3
  57. package/dist/charts/components/useChartData.js.map +1 -1
  58. package/dist/charts/utils/color.cjs +6 -10
  59. package/dist/charts/utils/color.cjs.map +1 -1
  60. package/dist/charts/utils/color.js +6 -10
  61. package/dist/charts/utils/color.js.map +1 -1
  62. package/dist/charts/utils/common.cjs +10 -10
  63. package/dist/charts/utils/common.cjs.map +1 -1
  64. package/dist/charts/utils/common.d.ts +5 -6
  65. package/dist/charts/utils/common.js +10 -10
  66. package/dist/charts/utils/common.js.map +1 -1
  67. package/dist/components/AlertDialog/Context.cjs.map +1 -1
  68. package/dist/components/AlertDialog/Context.d.ts +1 -1
  69. package/dist/components/AlertDialog/Context.js.map +1 -1
  70. package/dist/components/Calendar/Calendar.cjs.map +1 -1
  71. package/dist/components/Calendar/Calendar.js.map +1 -1
  72. package/dist/components/Combobox/Combobox.cjs.map +1 -1
  73. package/dist/components/Combobox/Combobox.js.map +1 -1
  74. package/dist/components/Combobox/useCombobox.cjs +2 -4
  75. package/dist/components/Combobox/useCombobox.cjs.map +1 -1
  76. package/dist/components/Combobox/useCombobox.d.ts +1 -1
  77. package/dist/components/Combobox/useCombobox.js +2 -4
  78. package/dist/components/Combobox/useCombobox.js.map +1 -1
  79. package/dist/components/Datepicker/useDatepicker.cjs.map +1 -1
  80. package/dist/components/Datepicker/useDatepicker.js.map +1 -1
  81. package/dist/components/Dialog/Context.cjs.map +1 -1
  82. package/dist/components/Dialog/Context.d.ts +1 -1
  83. package/dist/components/Dialog/Context.js.map +1 -1
  84. package/dist/components/Dialog/components/Content.cjs.map +1 -1
  85. package/dist/components/Dialog/components/Content.js.map +1 -1
  86. package/dist/components/Drawer/components/Content.cjs +1 -1
  87. package/dist/components/Drawer/components/Content.cjs.map +1 -1
  88. package/dist/components/Drawer/components/Content.js +1 -1
  89. package/dist/components/Drawer/components/Content.js.map +1 -1
  90. package/dist/components/Drawer/useDrawerStack.cjs.map +1 -1
  91. package/dist/components/Drawer/useDrawerStack.js.map +1 -1
  92. package/dist/components/Hanger/Hanger.cjs.map +1 -1
  93. package/dist/components/Hanger/Hanger.js.map +1 -1
  94. package/dist/components/Header/Header.cjs +1 -1
  95. package/dist/components/Header/Header.cjs.map +1 -1
  96. package/dist/components/Header/Header.js +1 -1
  97. package/dist/components/Header/Header.js.map +1 -1
  98. package/dist/components/Header/components/PrimaryNavigation.cjs.map +1 -1
  99. package/dist/components/Header/components/PrimaryNavigation.js.map +1 -1
  100. package/dist/components/Icon/Icon.cjs.map +1 -1
  101. package/dist/components/Icon/Icon.js.map +1 -1
  102. package/dist/components/Layout/components/Sidebar.cjs +2 -1
  103. package/dist/components/Layout/components/Sidebar.cjs.map +1 -1
  104. package/dist/components/Layout/components/Sidebar.js +2 -1
  105. package/dist/components/Layout/components/Sidebar.js.map +1 -1
  106. package/dist/components/LegacyComponents/IconButton/IconButton.cjs.map +1 -1
  107. package/dist/components/LegacyComponents/IconButton/IconButton.js.map +1 -1
  108. package/dist/components/List/components/Toggle.cjs +0 -2
  109. package/dist/components/List/components/Toggle.cjs.map +1 -1
  110. package/dist/components/List/components/Toggle.js +0 -2
  111. package/dist/components/List/components/Toggle.js.map +1 -1
  112. package/dist/components/Listbox/Listbox.cjs +2 -5
  113. package/dist/components/Listbox/Listbox.cjs.map +1 -1
  114. package/dist/components/Listbox/Listbox.js +2 -5
  115. package/dist/components/Listbox/Listbox.js.map +1 -1
  116. package/dist/components/Listbox/useListbox.cjs +1 -1
  117. package/dist/components/Listbox/useListbox.cjs.map +1 -1
  118. package/dist/components/Listbox/useListbox.js +1 -1
  119. package/dist/components/Listbox/useListbox.js.map +1 -1
  120. package/dist/components/Listbox/useMultiListbox.cjs +1 -1
  121. package/dist/components/Listbox/useMultiListbox.cjs.map +1 -1
  122. package/dist/components/Listbox/useMultiListbox.js +1 -1
  123. package/dist/components/Listbox/useMultiListbox.js.map +1 -1
  124. package/dist/components/Listbox/util.cjs.map +1 -1
  125. package/dist/components/Listbox/util.js.map +1 -1
  126. package/dist/components/Menu/components/Content.cjs.map +1 -1
  127. package/dist/components/Menu/components/Content.js.map +1 -1
  128. package/dist/components/Menu/components/Item.cjs.map +1 -1
  129. package/dist/components/Menu/components/Item.d.ts +2 -2
  130. package/dist/components/Menu/components/Item.js.map +1 -1
  131. package/dist/components/Menu/components/Trigger.cjs +1 -5
  132. package/dist/components/Menu/components/Trigger.cjs.map +1 -1
  133. package/dist/components/Menu/components/Trigger.js +1 -5
  134. package/dist/components/Menu/components/Trigger.js.map +1 -1
  135. package/dist/components/Pagination/usePaginationShortcuts.cjs +0 -1
  136. package/dist/components/Pagination/usePaginationShortcuts.cjs.map +1 -1
  137. package/dist/components/Pagination/usePaginationShortcuts.js +0 -1
  138. package/dist/components/Pagination/usePaginationShortcuts.js.map +1 -1
  139. package/dist/components/Provider/Provider.cjs.map +1 -1
  140. package/dist/components/Provider/Provider.d.ts +1 -1
  141. package/dist/components/Provider/Provider.js.map +1 -1
  142. package/dist/components/SearchInput/SearchInput.cjs +0 -1
  143. package/dist/components/SearchInput/SearchInput.cjs.map +1 -1
  144. package/dist/components/SearchInput/SearchInput.js +0 -1
  145. package/dist/components/SearchInput/SearchInput.js.map +1 -1
  146. package/dist/components/SearchInput2/SearchInput2.cjs +0 -1
  147. package/dist/components/SearchInput2/SearchInput2.cjs.map +1 -1
  148. package/dist/components/SearchInput2/SearchInput2.js +0 -1
  149. package/dist/components/SearchInput2/SearchInput2.js.map +1 -1
  150. package/dist/components/Select2/Select2.cjs +6 -7
  151. package/dist/components/Select2/Select2.cjs.map +1 -1
  152. package/dist/components/Select2/Select2.js +6 -7
  153. package/dist/components/Select2/Select2.js.map +1 -1
  154. package/dist/components/Select2/components/Search.cjs +0 -1
  155. package/dist/components/Select2/components/Search.cjs.map +1 -1
  156. package/dist/components/Select2/components/Search.js +0 -1
  157. package/dist/components/Select2/components/Search.js.map +1 -1
  158. package/dist/components/Select2/components/Trigger.cjs +1 -1
  159. package/dist/components/Select2/components/Trigger.cjs.map +1 -1
  160. package/dist/components/Select2/components/Trigger.js +1 -1
  161. package/dist/components/Select2/components/Trigger.js.map +1 -1
  162. package/dist/components/Table3/components/Columns/Cell/EditingControlCell.cjs +1 -1
  163. package/dist/components/Table3/components/Columns/Cell/EditingControlCell.cjs.map +1 -1
  164. package/dist/components/Table3/components/Columns/Cell/EditingControlCell.js +1 -1
  165. package/dist/components/Table3/components/Columns/Cell/EditingControlCell.js.map +1 -1
  166. package/dist/components/Table3/components/Columns/Cell/util.cjs.map +1 -1
  167. package/dist/components/Table3/components/Columns/Cell/util.js.map +1 -1
  168. package/dist/components/Table3/components/Editing/Alert.cjs +4 -4
  169. package/dist/components/Table3/components/Editing/Alert.cjs.map +1 -1
  170. package/dist/components/Table3/components/Editing/Alert.js +4 -4
  171. package/dist/components/Table3/components/Editing/Alert.js.map +1 -1
  172. package/dist/components/Table3/features/useEditingState.cjs +1 -1
  173. package/dist/components/Table3/features/useEditingState.cjs.map +1 -1
  174. package/dist/components/Table3/features/useEditingState.js +1 -1
  175. package/dist/components/Table3/features/useEditingState.js.map +1 -1
  176. package/dist/components/Table3/types.d.ts +2 -2
  177. package/dist/components/Table3/useTable3.cjs +8 -6
  178. package/dist/components/Table3/useTable3.cjs.map +1 -1
  179. package/dist/components/Table3/useTable3.js +8 -6
  180. package/dist/components/Table3/useTable3.js.map +1 -1
  181. package/dist/components/Table3/util/editing.cjs +1 -1
  182. package/dist/components/Table3/util/editing.cjs.map +1 -1
  183. package/dist/components/Table3/util/editing.d.ts +1 -1
  184. package/dist/components/Table3/util/editing.js +1 -1
  185. package/dist/components/Table3/util/editing.js.map +1 -1
  186. package/dist/hooks/useBoundaryOverflowDetection.cjs.map +1 -1
  187. package/dist/hooks/useBoundaryOverflowDetection.d.ts +1 -1
  188. package/dist/hooks/useBoundaryOverflowDetection.js.map +1 -1
  189. package/dist/hooks/useBoundingClientRectListener.cjs.map +1 -1
  190. package/dist/hooks/useBoundingClientRectListener.d.ts +1 -1
  191. package/dist/hooks/useBoundingClientRectListener.js.map +1 -1
  192. package/dist/hooks/useControlled.cjs +6 -10
  193. package/dist/hooks/useControlled.cjs.map +1 -1
  194. package/dist/hooks/useControlled.js +6 -10
  195. package/dist/hooks/useControlled.js.map +1 -1
  196. package/dist/hooks/useIsFormControl.cjs.map +1 -1
  197. package/dist/hooks/useIsFormControl.d.ts +1 -1
  198. package/dist/hooks/useIsFormControl.js.map +1 -1
  199. package/dist/hooks/useMergedRef.cjs.map +1 -1
  200. package/dist/hooks/useMergedRef.js.map +1 -1
  201. package/dist/hooks/usePrevious.cjs.map +1 -1
  202. package/dist/hooks/usePrevious.js.map +1 -1
  203. package/dist/primitives/Button.cjs.map +1 -1
  204. package/dist/primitives/Button.js.map +1 -1
  205. package/dist/primitives/Collection/components/Root.cjs +9 -16
  206. package/dist/primitives/Collection/components/Root.cjs.map +1 -1
  207. package/dist/primitives/Collection/components/Root.js +9 -16
  208. package/dist/primitives/Collection/components/Root.js.map +1 -1
  209. package/dist/primitives/Listbox2/components/Context.cjs.map +1 -1
  210. package/dist/primitives/Listbox2/components/Context.d.ts +1 -0
  211. package/dist/primitives/Listbox2/components/Context.js.map +1 -1
  212. package/dist/primitives/Listbox2/components/Option.cjs +8 -2
  213. package/dist/primitives/Listbox2/components/Option.cjs.map +1 -1
  214. package/dist/primitives/Listbox2/components/Option.js +8 -2
  215. package/dist/primitives/Listbox2/components/Option.js.map +1 -1
  216. package/dist/primitives/Listbox2/components/Root.cjs +3 -2
  217. package/dist/primitives/Listbox2/components/Root.cjs.map +1 -1
  218. package/dist/primitives/Listbox2/components/Root.js +3 -2
  219. package/dist/primitives/Listbox2/components/Root.js.map +1 -1
  220. package/dist/primitives/Sortable/components/Item.cjs +2 -4
  221. package/dist/primitives/Sortable/components/Item.cjs.map +1 -1
  222. package/dist/primitives/Sortable/components/Item.js +2 -4
  223. package/dist/primitives/Sortable/components/Item.js.map +1 -1
  224. package/dist/primitives/Table/Core/components/Body/Body.cjs +4 -4
  225. package/dist/primitives/Table/Core/components/Body/Body.cjs.map +1 -1
  226. package/dist/primitives/Table/Core/components/Body/Body.js +4 -4
  227. package/dist/primitives/Table/Core/components/Body/Body.js.map +1 -1
  228. package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell.cjs.map +1 -1
  229. package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell.js.map +1 -1
  230. package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.cjs.map +1 -1
  231. package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.js.map +1 -1
  232. package/dist/primitives/Table/Core/components/Columns/Cell/util.cjs +22 -16
  233. package/dist/primitives/Table/Core/components/Columns/Cell/util.cjs.map +1 -1
  234. package/dist/primitives/Table/Core/components/Columns/Cell/util.js +22 -16
  235. package/dist/primitives/Table/Core/components/Columns/Cell/util.js.map +1 -1
  236. package/dist/primitives/Table/Core/components/Footer/Summary.cjs.map +1 -1
  237. package/dist/primitives/Table/Core/components/Footer/Summary.js.map +1 -1
  238. package/dist/primitives/Table/Core/components/Header/util.cjs +4 -3
  239. package/dist/primitives/Table/Core/components/Header/util.cjs.map +1 -1
  240. package/dist/primitives/Table/Core/components/Header/util.js +4 -3
  241. package/dist/primitives/Table/Core/components/Header/util.js.map +1 -1
  242. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/Filters.cjs +1 -1
  243. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/Filters.cjs.map +1 -1
  244. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/Filters.js +1 -1
  245. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/Filters.js.map +1 -1
  246. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.cjs +4 -2
  247. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.cjs.map +1 -1
  248. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.js +4 -2
  249. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.js.map +1 -1
  250. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.cjs.map +1 -1
  251. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.js.map +1 -1
  252. package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.cjs +1 -1
  253. package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.cjs.map +1 -1
  254. package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.js +1 -1
  255. package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.js.map +1 -1
  256. package/dist/primitives/Table/Core/features/useTableRef.cjs +7 -0
  257. package/dist/primitives/Table/Core/features/useTableRef.cjs.map +1 -1
  258. package/dist/primitives/Table/Core/features/useTableRef.js +7 -0
  259. package/dist/primitives/Table/Core/features/useTableRef.js.map +1 -1
  260. package/dist/primitives/Table/Core/features/useTableRenderer.cjs +2 -2
  261. package/dist/primitives/Table/Core/features/useTableRenderer.cjs.map +1 -1
  262. package/dist/primitives/Table/Core/features/useTableRenderer.js +2 -2
  263. package/dist/primitives/Table/Core/features/useTableRenderer.js.map +1 -1
  264. package/dist/primitives/Table/Core/features/useTableStyleColumnFreezing.cjs +2 -2
  265. package/dist/primitives/Table/Core/features/useTableStyleColumnFreezing.cjs.map +1 -1
  266. package/dist/primitives/Table/Core/features/useTableStyleColumnFreezing.js +2 -2
  267. package/dist/primitives/Table/Core/features/useTableStyleColumnFreezing.js.map +1 -1
  268. package/dist/primitives/Table/Core/features/useTableStyleGrid.cjs.map +1 -1
  269. package/dist/primitives/Table/Core/features/useTableStyleGrid.js.map +1 -1
  270. package/dist/primitives/Table/Core/listeners/useTableRowActiveListener.cjs +2 -4
  271. package/dist/primitives/Table/Core/listeners/useTableRowActiveListener.cjs.map +1 -1
  272. package/dist/primitives/Table/Core/listeners/useTableRowActiveListener.d.ts +2 -2
  273. package/dist/primitives/Table/Core/listeners/useTableRowActiveListener.js +2 -4
  274. package/dist/primitives/Table/Core/listeners/useTableRowActiveListener.js.map +1 -1
  275. package/dist/primitives/Table/types.cjs.map +1 -1
  276. package/dist/primitives/Table/types.d.ts +6 -0
  277. package/dist/primitives/Table/types.js.map +1 -1
  278. package/dist/primitives/Table/useTableDataLoader2.cjs +36 -3
  279. package/dist/primitives/Table/useTableDataLoader2.cjs.map +1 -1
  280. package/dist/primitives/Table/useTableDataLoader2.d.ts +2 -1
  281. package/dist/primitives/Table/useTableDataLoader2.js +36 -3
  282. package/dist/primitives/Table/useTableDataLoader2.js.map +1 -1
  283. package/dist/primitives/Table/useTableManager/features/useTableRowActive.cjs +0 -1
  284. package/dist/primitives/Table/useTableManager/features/useTableRowActive.cjs.map +1 -1
  285. package/dist/primitives/Table/useTableManager/features/useTableRowActive.d.ts +1 -1
  286. package/dist/primitives/Table/useTableManager/features/useTableRowActive.js +0 -1
  287. package/dist/primitives/Table/useTableManager/features/useTableRowActive.js.map +1 -1
  288. package/dist/primitives/Table/useTableManager/features/useTableRowClick.cjs +0 -2
  289. package/dist/primitives/Table/useTableManager/features/useTableRowClick.cjs.map +1 -1
  290. package/dist/primitives/Table/useTableManager/features/useTableRowClick.js +0 -2
  291. package/dist/primitives/Table/useTableManager/features/useTableRowClick.js.map +1 -1
  292. package/dist/primitives/Table/useTableManager/features/useTableRowSelection.cjs +0 -1
  293. package/dist/primitives/Table/useTableManager/features/useTableRowSelection.cjs.map +1 -1
  294. package/dist/primitives/Table/useTableManager/features/useTableRowSelection.js +0 -1
  295. package/dist/primitives/Table/useTableManager/features/useTableRowSelection.js.map +1 -1
  296. package/dist/primitives/Table/useTableManager/features/useTableServerLoading.cjs +10 -1
  297. package/dist/primitives/Table/useTableManager/features/useTableServerLoading.cjs.map +1 -1
  298. package/dist/primitives/Table/useTableManager/features/useTableServerLoading.d.ts +3 -2
  299. package/dist/primitives/Table/useTableManager/features/useTableServerLoading.js +10 -1
  300. package/dist/primitives/Table/useTableManager/features/useTableServerLoading.js.map +1 -1
  301. package/dist/primitives/Table/useTableManager/useTableManager.cjs +1 -5
  302. package/dist/primitives/Table/useTableManager/useTableManager.cjs.map +1 -1
  303. package/dist/primitives/Table/useTableManager/useTableManager.js +1 -5
  304. package/dist/primitives/Table/useTableManager/useTableManager.js.map +1 -1
  305. package/dist/primitives/Table/useTableManager/util/dataTypes.cjs.map +1 -1
  306. package/dist/primitives/Table/useTableManager/util/dataTypes.d.ts +3 -3
  307. package/dist/primitives/Table/useTableManager/util/dataTypes.js.map +1 -1
  308. package/dist/primitives/Table/useTableManager/util/filtering.cjs.map +1 -1
  309. package/dist/primitives/Table/useTableManager/util/filtering.js.map +1 -1
  310. package/dist/primitives/Table/useTableManager/util/search.cjs +1 -1
  311. package/dist/primitives/Table/useTableManager/util/search.cjs.map +1 -1
  312. package/dist/primitives/Table/useTableManager/util/search.js +1 -1
  313. package/dist/primitives/Table/useTableManager/util/search.js.map +1 -1
  314. package/dist/primitives/Table/useTableManager/util/setup.cjs +3 -3
  315. package/dist/primitives/Table/useTableManager/util/setup.cjs.map +1 -1
  316. package/dist/primitives/Table/useTableManager/util/setup.js +3 -3
  317. package/dist/primitives/Table/useTableManager/util/setup.js.map +1 -1
  318. package/dist/types.cjs.map +1 -1
  319. package/dist/types.d.ts +1 -1
  320. package/dist/types.js.map +1 -1
  321. package/dist/utils/dataTypes.cjs +4 -4
  322. package/dist/utils/dataTypes.cjs.map +1 -1
  323. package/dist/utils/dataTypes.d.ts +1 -1
  324. package/dist/utils/dataTypes.js +4 -4
  325. package/dist/utils/dataTypes.js.map +1 -1
  326. package/dist/utils/date.cjs +14 -16
  327. package/dist/utils/date.cjs.map +1 -1
  328. package/dist/utils/date.js +14 -16
  329. package/dist/utils/date.js.map +1 -1
  330. package/dist/utils/debounce.cjs.map +1 -1
  331. package/dist/utils/debounce.d.ts +1 -1
  332. package/dist/utils/debounce.js.map +1 -1
  333. package/dist/utils/device.cjs +1 -1
  334. package/dist/utils/device.cjs.map +1 -1
  335. package/dist/utils/device.js +1 -1
  336. package/dist/utils/device.js.map +1 -1
  337. package/dist/utils/dom.cjs +1 -1
  338. package/dist/utils/dom.cjs.map +1 -1
  339. package/dist/utils/dom.d.ts +2 -2
  340. package/dist/utils/dom.js +1 -1
  341. package/dist/utils/dom.js.map +1 -1
  342. package/dist/utils/hooks/useDraggable.cjs.map +1 -1
  343. package/dist/utils/hooks/useDraggable.d.ts +9 -1
  344. package/dist/utils/hooks/useDraggable.js.map +1 -1
  345. package/dist/utils/hooks/useListKeyboardNavigation.cjs +1 -1
  346. package/dist/utils/hooks/useListKeyboardNavigation.cjs.map +1 -1
  347. package/dist/utils/hooks/useListKeyboardNavigation.js +1 -1
  348. package/dist/utils/hooks/useListKeyboardNavigation.js.map +1 -1
  349. package/dist/utils/hooks/useListScrollTo.cjs.map +1 -1
  350. package/dist/utils/hooks/useListScrollTo.d.ts +4 -1
  351. package/dist/utils/hooks/useListScrollTo.js.map +1 -1
  352. package/dist/utils/hooks/useOnClickOutside.cjs.map +1 -1
  353. package/dist/utils/hooks/useOnClickOutside.d.ts +1 -1
  354. package/dist/utils/hooks/useOnClickOutside.js.map +1 -1
  355. package/dist/utils/hooks/useTruncated.cjs.map +1 -1
  356. package/dist/utils/hooks/useTruncated.d.ts +2 -1
  357. package/dist/utils/hooks/useTruncated.js.map +1 -1
  358. package/dist/utils/mergeRefs.cjs.map +1 -1
  359. package/dist/utils/mergeRefs.d.ts +1 -1
  360. package/dist/utils/mergeRefs.js.map +1 -1
  361. package/dist/utils/storyutils.d.ts +1 -3
  362. package/package.json +4 -5
  363. package/plugins/tailwindcss-group-peer.js +1 -1
  364. package/scripts/stylelint-plugin/radius.mjs +2 -2
@@ -25,113 +25,129 @@ function _interopNamespaceDefault(e) {
25
25
  }
26
26
  const RechartsPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(RechartsPrimitive);
27
27
  const Segment = (_) => null;
28
- const LegacyDonutChart = function LegacyDonutChart2({ children, formatter, onClick, label }) {
29
- const ref = React.useRef(null);
30
- const [radius, setRadius] = React.useState(0);
31
- const [hoveredItem, setHoveredItem] = React.useState([]);
32
- const [selectedItem, setSelectedItem] = React.useState([]);
33
- React.useEffect(() => {
34
- if (ref.current) {
35
- const rect = ref.current.parentElement?.getBoundingClientRect();
36
- if (rect) {
37
- const width = rect.width / 2;
38
- const max = rect.height < width ? rect.height : width;
39
- setRadius(max / 2);
40
- }
41
- }
42
- }, [ref.current]);
43
- const diameter = radius * 2;
44
- const data = React.Children.map(children, (child) => ({
45
- id: child.props.id,
46
- color: child.props.color,
47
- label: child.props.label,
48
- value: child.props.value
49
- }));
50
- const total = data.reduce((accum, entry) => accum + entry.value, 0);
51
- const handleLegendClick = (entry) => {
52
- const nextSelectedItem = Array.isArray(entry) ? entry.map((entryItem) => entryItem.id) : [entry.id];
53
- const isCurrentSegmentActive = selectedItem.slice().sort().join(",") === nextSelectedItem.sort().join(",");
54
- if (onClick && !isCurrentSegmentActive) {
55
- onClick(entry);
56
- }
57
- setSelectedItem(isCurrentSegmentActive ? [] : nextSelectedItem);
58
- };
59
- const handlePieClick = React.useCallback(
60
- (pieId) => {
61
- if (onClick && pieId !== void 0) {
62
- const pieProps = data.find((item) => item.id === pieId);
63
- onClick(pieProps);
28
+ const LegacyDonutChart = Object.assign(
29
+ function LegacyDonutChart2({ children, formatter, onClick, label }) {
30
+ const ref = React.useRef(null);
31
+ const [radius, setRadius] = React.useState(0);
32
+ const [hoveredItem, setHoveredItem] = React.useState([]);
33
+ const [selectedItem, setSelectedItem] = React.useState([]);
34
+ React.useEffect(() => {
35
+ if (ref.current) {
36
+ const rect = ref.current.parentElement?.getBoundingClientRect();
37
+ if (rect) {
38
+ const width = rect.width / 2;
39
+ const max = rect.height < width ? rect.height : width;
40
+ setRadius(max / 2);
41
+ }
64
42
  }
65
- },
66
- [onClick, data]
67
- );
68
- const activeShapeColor = React.useMemo(() => {
69
- const getSegmentColor = (item) => item.reduce((colors, itemId) => {
70
- const visibleHoveredItem = data.find((dataItem) => dataItem.id === itemId);
71
- if (visibleHoveredItem) {
72
- colors[visibleHoveredItem.id] = visibleHoveredItem.color;
43
+ }, [ref.current]);
44
+ const diameter = radius * 2;
45
+ const data = React.Children.map(children, (child) => ({
46
+ id: child.props.id,
47
+ color: child.props.color,
48
+ label: child.props.label,
49
+ value: child.props.value
50
+ }));
51
+ const total = data.reduce((accum, entry) => accum + entry.value, 0);
52
+ const handleLegendClick = (entry) => {
53
+ const nextSelectedItem = Array.isArray(entry) ? entry.map((entryItem) => entryItem.id) : [entry.id];
54
+ const isCurrentSegmentActive = selectedItem.slice().sort().join(",") === nextSelectedItem.sort().join(",");
55
+ if (onClick && !isCurrentSegmentActive) {
56
+ onClick(entry);
73
57
  }
74
- return colors;
75
- }, {});
76
- const hoveredSegmentColor = getSegmentColor(hoveredItem);
77
- const selectedSegmentColor = getSegmentColor(selectedItem);
78
- return hoveredItem.length === 0 ? selectedSegmentColor : hoveredSegmentColor;
79
- }, [hoveredItem, selectedItem]);
80
- if (ref.current && !radius) {
81
- return null;
82
- }
83
- const getActiveIndex = () => {
84
- if (hoveredItem.length > 0) {
85
- return hoveredItem.map((itemId) => data.findIndex((element) => element.id === itemId));
86
- }
87
- return selectedItem.map((selectedItemId) => data.findIndex((element) => element.id === selectedItemId));
88
- };
89
- const content = () => {
90
- const elements = React.Children.toArray(children).filter(
91
- (child) => React.isValidElement(child)
58
+ setSelectedItem(isCurrentSegmentActive ? [] : nextSelectedItem);
59
+ };
60
+ const handlePieClick = React.useCallback(
61
+ (pieId) => {
62
+ if (onClick && pieId !== void 0) {
63
+ const pieProps = data.find((item) => item.id === pieId);
64
+ onClick(pieProps);
65
+ }
66
+ },
67
+ [onClick, data]
92
68
  );
93
- return elements.length > 0 ? elements.map((child, index) => {
94
- return /* @__PURE__ */ React.createElement(
95
- RechartsPrimitive__namespace.Cell,
96
- {
97
- key: `cell-${index}`,
98
- name: child.props.label,
99
- fill: color.getThemeColor(child.props.color) ?? color.getThemeColor("blue-300")
69
+ const activeShapeColor = React.useMemo(() => {
70
+ const getSegmentColor = (item) => item.reduce((colors, itemId) => {
71
+ const visibleHoveredItem = data.find((dataItem) => dataItem.id === itemId);
72
+ if (visibleHoveredItem) {
73
+ colors[visibleHoveredItem.id] = visibleHoveredItem.color;
100
74
  }
101
- );
102
- }) : /* @__PURE__ */ React.createElement(RechartsPrimitive__namespace.Cell, { key: "empty-chart", name: "", fill: color.getThemeColor("grey-200") });
103
- };
104
- return /* @__PURE__ */ React.createElement("div", { className: "relative flex h-full w-full", ref }, /* @__PURE__ */ React.createElement(CenteredLabel.CenteredLabel, { radius, label, total, formatter }), /* @__PURE__ */ React.createElement(RechartsPrimitive__namespace.PieChart, { data, height: diameter, width: diameter, style: { transform: "rotate(90deg) scale(-1,1)" } }, /* @__PURE__ */ React.createElement(
105
- RechartsPrimitive__namespace.Pie,
106
- {
107
- isAnimationActive: false,
108
- activeIndex: getActiveIndex(),
109
- activeShape: /* @__PURE__ */ React.createElement(ActiveShape.ActiveShape, { pieColors: activeShapeColor, onClick: handlePieClick }),
110
- data: data.length > 0 ? data : [],
111
- dataKey: "value",
112
- innerRadius: radius - util.HOVER_DONUT_WIDTH - util.DONUT_WIDTH,
113
- onMouseEnter: (segment) => data.length > 0 && setHoveredItem([segment.id]),
114
- onMouseLeave: () => setHoveredItem([]),
115
- outerRadius: radius - util.HOVER_DONUT_WIDTH,
116
- paddingAngle: 2.5,
117
- stroke: "0",
118
- rootTabIndex: -1
119
- },
120
- content()
121
- )), /* @__PURE__ */ React.createElement(
122
- Legend.Legend,
123
- {
124
- data,
125
- onClick: handleLegendClick,
126
- total,
127
- setHoveredItem,
128
- label,
129
- hoveredItem,
130
- selectedItem,
131
- formatter
75
+ return colors;
76
+ }, {});
77
+ const hoveredSegmentColor = getSegmentColor(hoveredItem);
78
+ const selectedSegmentColor = getSegmentColor(selectedItem);
79
+ return hoveredItem.length === 0 ? selectedSegmentColor : hoveredSegmentColor;
80
+ }, [hoveredItem, selectedItem]);
81
+ if (ref.current && !radius) {
82
+ return null;
132
83
  }
133
- ));
134
- };
135
- LegacyDonutChart.Segment = Segment;
84
+ const content = () => {
85
+ const elements = React.Children.toArray(children).filter(
86
+ (child) => React.isValidElement(child)
87
+ );
88
+ return elements.length > 0 ? elements.map((child, index) => {
89
+ return /* @__PURE__ */ React.createElement(
90
+ RechartsPrimitive__namespace.Cell,
91
+ {
92
+ key: `cell-${index}`,
93
+ name: child.props.label,
94
+ fill: color.getThemeColor(child.props.color) ?? color.getThemeColor("blue-300")
95
+ }
96
+ );
97
+ }) : /* @__PURE__ */ React.createElement(RechartsPrimitive__namespace.Cell, { key: "empty-chart", name: "", fill: color.getThemeColor("grey-200") });
98
+ };
99
+ return /* @__PURE__ */ React.createElement("div", { className: "relative flex h-full w-full", ref }, /* @__PURE__ */ React.createElement(CenteredLabel.CenteredLabel, { radius, label, total, formatter }), /* @__PURE__ */ React.createElement(
100
+ RechartsPrimitive__namespace.PieChart,
101
+ {
102
+ data,
103
+ height: diameter,
104
+ width: diameter,
105
+ style: { transform: "rotate(90deg) scale(-1,1)" }
106
+ },
107
+ /* @__PURE__ */ React.createElement(
108
+ RechartsPrimitive__namespace.Pie,
109
+ {
110
+ isAnimationActive: false,
111
+ shape: (sectorProps) => /* @__PURE__ */ React.createElement(
112
+ ActiveShape.ActiveShape,
113
+ {
114
+ ...sectorProps,
115
+ activeColorById: activeShapeColor,
116
+ onClick: onClick ? handlePieClick : void 0
117
+ }
118
+ ),
119
+ data: data.length > 0 ? data : [],
120
+ dataKey: "value",
121
+ innerRadius: radius - util.HOVER_DONUT_WIDTH - util.DONUT_WIDTH,
122
+ onMouseEnter: (segment) => {
123
+ const id = segment.payload?.id;
124
+ if (data.length > 0 && id !== void 0) {
125
+ setHoveredItem([id]);
126
+ }
127
+ },
128
+ onMouseLeave: () => setHoveredItem([]),
129
+ outerRadius: radius - util.HOVER_DONUT_WIDTH,
130
+ paddingAngle: 2.5,
131
+ stroke: "0",
132
+ rootTabIndex: -1
133
+ },
134
+ content()
135
+ )
136
+ ), /* @__PURE__ */ React.createElement(
137
+ Legend.Legend,
138
+ {
139
+ data,
140
+ onClick: handleLegendClick,
141
+ total,
142
+ setHoveredItem,
143
+ label,
144
+ hoveredItem,
145
+ selectedItem,
146
+ formatter
147
+ }
148
+ ));
149
+ },
150
+ { Segment }
151
+ );
136
152
  exports.LegacyDonutChart = LegacyDonutChart;
137
153
  //# sourceMappingURL=LegacyDonutChart.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"LegacyDonutChart.cjs","sources":["../../../../src/charts/components/LegacyDonut/LegacyDonutChart.tsx"],"sourcesContent":["import React from 'react';\nimport * as Recharts from 'recharts';\n\nimport type { Color } from '@/charts/utils/color';\nimport { getThemeColor } from '@/charts/utils/color';\n\nimport { ActiveShape } from './ActiveShape';\nimport { CenteredLabel } from './CenteredLabel';\nimport { Legend } from './Legend';\nimport { DONUT_WIDTH, HOVER_DONUT_WIDTH } from './util';\n\nconst Segment = (_: LegacyDonutChartSegmentProps) => null;\n\nexport type LegacyDonutChartSegmentProps = {\n color: Color;\n id: string;\n label: string;\n value: number;\n};\n\nexport type LegacyDonutSegmentIds = string[];\n\nexport type LegacyDonutChartProps = {\n children: React.ReactElement<LegacyDonutChartSegmentProps> | React.ReactElement<LegacyDonutChartSegmentProps>[];\n formatter?: (value: number) => string;\n onClick?: (segment: LegacyDonutChartSegmentProps | LegacyDonutChartSegmentProps[]) => void;\n label: string;\n};\n\nexport const LegacyDonutChart = function LegacyDonutChart({ children, formatter, onClick, label }: LegacyDonutChartProps) {\n const ref = React.useRef<HTMLDivElement>(null);\n const [radius, setRadius] = React.useState<number>(0);\n\n const [hoveredItem, setHoveredItem] = React.useState<LegacyDonutSegmentIds>([]);\n const [selectedItem, setSelectedItem] = React.useState<LegacyDonutSegmentIds>([]);\n\n React.useEffect(() => {\n if (ref.current) {\n const rect = ref.current.parentElement?.getBoundingClientRect();\n\n if (rect) {\n const width = rect.width / 2;\n const max: number = rect.height < width ? rect.height : width;\n setRadius(max / 2);\n }\n }\n }, [ref.current]);\n\n const diameter = radius * 2; // get dimensions of the parent container to find the max radius, so we can fill the container AND always have a 16px wide donut\n const data: LegacyDonutChartSegmentProps[] = React.Children.map(children, child => ({\n id: child.props.id,\n color: child.props.color,\n label: child.props.label,\n value: child.props.value,\n }));\n\n const total = data.reduce((accum, entry) => accum + entry.value, 0);\n\n const handleLegendClick = (entry: LegacyDonutChartSegmentProps | LegacyDonutChartSegmentProps[]): void => {\n const nextSelectedItem = Array.isArray(entry) ? entry.map(entryItem => entryItem.id) : [entry.id];\n\n // Using slice to avoid mutation of the react state 'selectedItem'\n const isCurrentSegmentActive = selectedItem.slice().sort().join(',') === nextSelectedItem.sort().join(',');\n\n if (onClick && !isCurrentSegmentActive) {\n onClick(entry);\n }\n\n setSelectedItem(isCurrentSegmentActive ? [] : nextSelectedItem);\n };\n const handlePieClick = React.useCallback(\n (pieId: string | undefined) => {\n if (onClick && pieId !== undefined) {\n const pieProps = data.find(item => item.id === pieId);\n\n onClick(pieProps as LegacyDonutChartSegmentProps);\n }\n },\n [onClick, data]\n );\n\n const activeShapeColor = React.useMemo(() => {\n const getSegmentColor = (item: LegacyDonutSegmentIds) =>\n item.reduce<Record<string, string>>((colors, itemId) => {\n const visibleHoveredItem = data.find(dataItem => dataItem.id === itemId);\n\n if (visibleHoveredItem) {\n colors[visibleHoveredItem.id] = visibleHoveredItem.color;\n }\n\n return colors;\n }, {});\n\n const hoveredSegmentColor = getSegmentColor(hoveredItem);\n const selectedSegmentColor = getSegmentColor(selectedItem);\n\n return hoveredItem.length === 0 ? selectedSegmentColor : hoveredSegmentColor;\n }, [hoveredItem, selectedItem]);\n\n if (ref.current && !radius) {\n return null;\n }\n\n const getActiveIndex = () => {\n if (hoveredItem.length > 0) {\n return hoveredItem.map(itemId => data.findIndex(element => element.id === itemId));\n }\n\n return selectedItem.map(selectedItemId => data.findIndex(element => element.id === selectedItemId));\n };\n\n const content = () => {\n const elements = React.Children.toArray(children).filter(\n (child): child is React.ReactElement<LegacyDonutChartSegmentProps> =>\n React.isValidElement<LegacyDonutChartSegmentProps>(child)\n );\n\n return elements.length > 0 ? (\n elements.map((child, index) => {\n return (\n <Recharts.Cell\n key={`cell-${index}`}\n name={child.props.label}\n fill={getThemeColor(child.props.color) ?? getThemeColor('blue-300')}\n />\n );\n })\n ) : (\n <Recharts.Cell key=\"empty-chart\" name={''} fill={getThemeColor('grey-200')} />\n );\n };\n\n return (\n <div className=\"relative flex h-full w-full\" ref={ref}>\n <CenteredLabel radius={radius} label={label} total={total} formatter={formatter} />\n <Recharts.PieChart data={data} height={diameter} width={diameter} style={{ transform: 'rotate(90deg) scale(-1,1)' }}>\n <Recharts.Pie\n isAnimationActive={false}\n activeIndex={getActiveIndex()}\n activeShape={<ActiveShape pieColors={activeShapeColor} onClick={handlePieClick} />}\n data={data.length > 0 ? data : []}\n dataKey=\"value\"\n innerRadius={radius - HOVER_DONUT_WIDTH - DONUT_WIDTH} // offset the 12px wider hover state, and then make the donut 16px wide\n onMouseEnter={(segment: LegacyDonutChartSegmentProps) => data.length > 0 && setHoveredItem([segment.id])}\n onMouseLeave={() => setHoveredItem([])}\n outerRadius={radius - HOVER_DONUT_WIDTH} // offset the 12px wide hover state\n paddingAngle={2.5}\n stroke=\"0\"\n // Prevents the pie group element from being focusable\n rootTabIndex={-1}>\n {content()}\n </Recharts.Pie>\n </Recharts.PieChart>\n <Legend\n data={data}\n onClick={handleLegendClick}\n total={total}\n setHoveredItem={setHoveredItem}\n label={label}\n hoveredItem={hoveredItem}\n selectedItem={selectedItem}\n formatter={formatter}\n />\n </div>\n );\n};\n\nLegacyDonutChart.Segment = Segment;\n"],"names":["LegacyDonutChart","Recharts","getThemeColor","CenteredLabel","ActiveShape","HOVER_DONUT_WIDTH","DONUT_WIDTH","Legend"],"mappings":"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"}
1
+ {"version":3,"file":"LegacyDonutChart.cjs","sources":["../../../../src/charts/components/LegacyDonut/LegacyDonutChart.tsx"],"sourcesContent":["import React from 'react';\nimport * as Recharts from 'recharts';\n\nimport type { Color } from '@/charts/utils/color';\nimport { getThemeColor } from '@/charts/utils/color';\n\nimport { ActiveShape } from './ActiveShape';\nimport { CenteredLabel } from './CenteredLabel';\nimport { Legend } from './Legend';\nimport { DONUT_WIDTH, HOVER_DONUT_WIDTH } from './util';\n\nconst Segment = (_: LegacyDonutChartSegmentProps) => null;\n\n/**\n * @deprecated\n */\nexport type LegacyDonutChartSegmentProps = {\n color: Color;\n id: string;\n label: string;\n value: number;\n};\n\n/**\n * @deprecated\n */\nexport type LegacyDonutSegmentIds = string[];\n\n/**\n * @deprecated\n */\nexport type LegacyDonutChartProps = {\n children: React.ReactElement<LegacyDonutChartSegmentProps> | React.ReactElement<LegacyDonutChartSegmentProps>[];\n formatter?: (value: number) => string;\n onClick?: (segment: LegacyDonutChartSegmentProps | LegacyDonutChartSegmentProps[]) => void;\n label: string;\n};\n\n/**\n * @deprecated Use DonutChart component instead\n */\nexport const LegacyDonutChart = Object.assign(\n function LegacyDonutChart({ children, formatter, onClick, label }: LegacyDonutChartProps) {\n const ref = React.useRef<HTMLDivElement>(null);\n const [radius, setRadius] = React.useState<number>(0);\n\n const [hoveredItem, setHoveredItem] = React.useState<LegacyDonutSegmentIds>([]);\n const [selectedItem, setSelectedItem] = React.useState<LegacyDonutSegmentIds>([]);\n\n React.useEffect(() => {\n if (ref.current) {\n const rect = ref.current.parentElement?.getBoundingClientRect();\n\n if (rect) {\n const width = rect.width / 2;\n const max: number = rect.height < width ? rect.height : width;\n setRadius(max / 2);\n }\n }\n }, [ref.current]);\n\n // get dimensions of the parent container to find the max radius, so we can fill the container AND always have a 16px wide donut\n const diameter = radius * 2;\n const data: LegacyDonutChartSegmentProps[] = React.Children.map(children, child => ({\n id: child.props.id,\n color: child.props.color,\n label: child.props.label,\n value: child.props.value,\n }));\n\n const total = data.reduce((accum, entry) => accum + entry.value, 0);\n\n const handleLegendClick = (entry: LegacyDonutChartSegmentProps | LegacyDonutChartSegmentProps[]): void => {\n const nextSelectedItem = Array.isArray(entry) ? entry.map(entryItem => entryItem.id) : [entry.id];\n\n // Using slice to avoid mutation of the react state 'selectedItem'\n const isCurrentSegmentActive = selectedItem.slice().sort().join(',') === nextSelectedItem.sort().join(',');\n\n if (onClick && !isCurrentSegmentActive) {\n onClick(entry);\n }\n\n setSelectedItem(isCurrentSegmentActive ? [] : nextSelectedItem);\n };\n const handlePieClick = React.useCallback(\n (pieId: string | undefined) => {\n if (onClick && pieId !== undefined) {\n const pieProps = data.find(item => item.id === pieId);\n\n onClick(pieProps as LegacyDonutChartSegmentProps);\n }\n },\n [onClick, data]\n );\n\n const activeShapeColor = React.useMemo(() => {\n const getSegmentColor = (item: LegacyDonutSegmentIds) =>\n item.reduce<Record<string, string>>((colors, itemId) => {\n const visibleHoveredItem = data.find(dataItem => dataItem.id === itemId);\n\n if (visibleHoveredItem) {\n colors[visibleHoveredItem.id] = visibleHoveredItem.color;\n }\n\n return colors;\n }, {});\n\n const hoveredSegmentColor = getSegmentColor(hoveredItem);\n const selectedSegmentColor = getSegmentColor(selectedItem);\n\n return hoveredItem.length === 0 ? selectedSegmentColor : hoveredSegmentColor;\n }, [hoveredItem, selectedItem]);\n\n if (ref.current && !radius) {\n return null;\n }\n\n const content = () => {\n const elements = React.Children.toArray(children).filter(\n (child): child is React.ReactElement<LegacyDonutChartSegmentProps> =>\n React.isValidElement<LegacyDonutChartSegmentProps>(child)\n );\n\n return elements.length > 0 ? (\n elements.map((child, index) => {\n return (\n <Recharts.Cell\n key={`cell-${index}`}\n name={child.props.label}\n fill={getThemeColor(child.props.color) ?? getThemeColor('blue-300')}\n />\n );\n })\n ) : (\n <Recharts.Cell key=\"empty-chart\" name={''} fill={getThemeColor('grey-200')} />\n );\n };\n\n return (\n <div className=\"relative flex h-full w-full\" ref={ref}>\n <CenteredLabel radius={radius} label={label} total={total} formatter={formatter} />\n <Recharts.PieChart\n data={data}\n height={diameter}\n width={diameter}\n style={{ transform: 'rotate(90deg) scale(-1,1)' }}>\n <Recharts.Pie\n isAnimationActive={false}\n shape={sectorProps => (\n <ActiveShape\n {...sectorProps}\n activeColorById={activeShapeColor}\n onClick={onClick ? handlePieClick : undefined}\n />\n )}\n data={data.length > 0 ? data : []}\n dataKey=\"value\"\n // offset the 12px wider hover state, and then make the donut 16px wide\n innerRadius={radius - HOVER_DONUT_WIDTH - DONUT_WIDTH}\n onMouseEnter={segment => {\n const id = segment.payload?.id;\n\n if (data.length > 0 && id !== undefined) {\n setHoveredItem([id]);\n }\n }}\n onMouseLeave={() => setHoveredItem([])}\n // offset the 12px wide hover state\n outerRadius={radius - HOVER_DONUT_WIDTH}\n paddingAngle={2.5}\n stroke=\"0\"\n // Prevents the pie group element from being focusable\n rootTabIndex={-1}>\n {content()}\n </Recharts.Pie>\n </Recharts.PieChart>\n <Legend\n data={data}\n onClick={handleLegendClick}\n total={total}\n setHoveredItem={setHoveredItem}\n label={label}\n hoveredItem={hoveredItem}\n selectedItem={selectedItem}\n formatter={formatter}\n />\n </div>\n );\n },\n { Segment }\n);\n"],"names":["LegacyDonutChart","Recharts","getThemeColor","CenteredLabel","ActiveShape","HOVER_DONUT_WIDTH","DONUT_WIDTH","Legend"],"mappings":"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"}
@@ -1,19 +1,30 @@
1
1
  import { default as React } from 'react';
2
2
  import { Color } from '../../utils/color';
3
+ /**
4
+ * @deprecated
5
+ */
3
6
  export type LegacyDonutChartSegmentProps = {
4
7
  color: Color;
5
8
  id: string;
6
9
  label: string;
7
10
  value: number;
8
11
  };
12
+ /**
13
+ * @deprecated
14
+ */
9
15
  export type LegacyDonutSegmentIds = string[];
16
+ /**
17
+ * @deprecated
18
+ */
10
19
  export type LegacyDonutChartProps = {
11
20
  children: React.ReactElement<LegacyDonutChartSegmentProps> | React.ReactElement<LegacyDonutChartSegmentProps>[];
12
21
  formatter?: (value: number) => string;
13
22
  onClick?: (segment: LegacyDonutChartSegmentProps | LegacyDonutChartSegmentProps[]) => void;
14
23
  label: string;
15
24
  };
16
- export declare const LegacyDonutChart: {
17
- ({ children, formatter, onClick, label }: LegacyDonutChartProps): React.JSX.Element | null;
25
+ /**
26
+ * @deprecated Use DonutChart component instead
27
+ */
28
+ export declare const LegacyDonutChart: (({ children, formatter, onClick, label }: LegacyDonutChartProps) => React.JSX.Element | null) & {
18
29
  Segment: (_: LegacyDonutChartSegmentProps) => null;
19
30
  };
@@ -6,114 +6,130 @@ import { CenteredLabel } from "./CenteredLabel.js";
6
6
  import { Legend } from "./Legend.js";
7
7
  import { HOVER_DONUT_WIDTH, DONUT_WIDTH } from "./util.js";
8
8
  const Segment = (_) => null;
9
- const LegacyDonutChart = function LegacyDonutChart2({ children, formatter, onClick, label }) {
10
- const ref = React__default.useRef(null);
11
- const [radius, setRadius] = React__default.useState(0);
12
- const [hoveredItem, setHoveredItem] = React__default.useState([]);
13
- const [selectedItem, setSelectedItem] = React__default.useState([]);
14
- React__default.useEffect(() => {
15
- if (ref.current) {
16
- const rect = ref.current.parentElement?.getBoundingClientRect();
17
- if (rect) {
18
- const width = rect.width / 2;
19
- const max = rect.height < width ? rect.height : width;
20
- setRadius(max / 2);
21
- }
22
- }
23
- }, [ref.current]);
24
- const diameter = radius * 2;
25
- const data = React__default.Children.map(children, (child) => ({
26
- id: child.props.id,
27
- color: child.props.color,
28
- label: child.props.label,
29
- value: child.props.value
30
- }));
31
- const total = data.reduce((accum, entry) => accum + entry.value, 0);
32
- const handleLegendClick = (entry) => {
33
- const nextSelectedItem = Array.isArray(entry) ? entry.map((entryItem) => entryItem.id) : [entry.id];
34
- const isCurrentSegmentActive = selectedItem.slice().sort().join(",") === nextSelectedItem.sort().join(",");
35
- if (onClick && !isCurrentSegmentActive) {
36
- onClick(entry);
37
- }
38
- setSelectedItem(isCurrentSegmentActive ? [] : nextSelectedItem);
39
- };
40
- const handlePieClick = React__default.useCallback(
41
- (pieId) => {
42
- if (onClick && pieId !== void 0) {
43
- const pieProps = data.find((item) => item.id === pieId);
44
- onClick(pieProps);
9
+ const LegacyDonutChart = Object.assign(
10
+ function LegacyDonutChart2({ children, formatter, onClick, label }) {
11
+ const ref = React__default.useRef(null);
12
+ const [radius, setRadius] = React__default.useState(0);
13
+ const [hoveredItem, setHoveredItem] = React__default.useState([]);
14
+ const [selectedItem, setSelectedItem] = React__default.useState([]);
15
+ React__default.useEffect(() => {
16
+ if (ref.current) {
17
+ const rect = ref.current.parentElement?.getBoundingClientRect();
18
+ if (rect) {
19
+ const width = rect.width / 2;
20
+ const max = rect.height < width ? rect.height : width;
21
+ setRadius(max / 2);
22
+ }
45
23
  }
46
- },
47
- [onClick, data]
48
- );
49
- const activeShapeColor = React__default.useMemo(() => {
50
- const getSegmentColor = (item) => item.reduce((colors, itemId) => {
51
- const visibleHoveredItem = data.find((dataItem) => dataItem.id === itemId);
52
- if (visibleHoveredItem) {
53
- colors[visibleHoveredItem.id] = visibleHoveredItem.color;
24
+ }, [ref.current]);
25
+ const diameter = radius * 2;
26
+ const data = React__default.Children.map(children, (child) => ({
27
+ id: child.props.id,
28
+ color: child.props.color,
29
+ label: child.props.label,
30
+ value: child.props.value
31
+ }));
32
+ const total = data.reduce((accum, entry) => accum + entry.value, 0);
33
+ const handleLegendClick = (entry) => {
34
+ const nextSelectedItem = Array.isArray(entry) ? entry.map((entryItem) => entryItem.id) : [entry.id];
35
+ const isCurrentSegmentActive = selectedItem.slice().sort().join(",") === nextSelectedItem.sort().join(",");
36
+ if (onClick && !isCurrentSegmentActive) {
37
+ onClick(entry);
54
38
  }
55
- return colors;
56
- }, {});
57
- const hoveredSegmentColor = getSegmentColor(hoveredItem);
58
- const selectedSegmentColor = getSegmentColor(selectedItem);
59
- return hoveredItem.length === 0 ? selectedSegmentColor : hoveredSegmentColor;
60
- }, [hoveredItem, selectedItem]);
61
- if (ref.current && !radius) {
62
- return null;
63
- }
64
- const getActiveIndex = () => {
65
- if (hoveredItem.length > 0) {
66
- return hoveredItem.map((itemId) => data.findIndex((element) => element.id === itemId));
67
- }
68
- return selectedItem.map((selectedItemId) => data.findIndex((element) => element.id === selectedItemId));
69
- };
70
- const content = () => {
71
- const elements = React__default.Children.toArray(children).filter(
72
- (child) => React__default.isValidElement(child)
39
+ setSelectedItem(isCurrentSegmentActive ? [] : nextSelectedItem);
40
+ };
41
+ const handlePieClick = React__default.useCallback(
42
+ (pieId) => {
43
+ if (onClick && pieId !== void 0) {
44
+ const pieProps = data.find((item) => item.id === pieId);
45
+ onClick(pieProps);
46
+ }
47
+ },
48
+ [onClick, data]
73
49
  );
74
- return elements.length > 0 ? elements.map((child, index) => {
75
- return /* @__PURE__ */ React__default.createElement(
76
- RechartsPrimitive.Cell,
77
- {
78
- key: `cell-${index}`,
79
- name: child.props.label,
80
- fill: getThemeColor(child.props.color) ?? getThemeColor("blue-300")
50
+ const activeShapeColor = React__default.useMemo(() => {
51
+ const getSegmentColor = (item) => item.reduce((colors, itemId) => {
52
+ const visibleHoveredItem = data.find((dataItem) => dataItem.id === itemId);
53
+ if (visibleHoveredItem) {
54
+ colors[visibleHoveredItem.id] = visibleHoveredItem.color;
81
55
  }
82
- );
83
- }) : /* @__PURE__ */ React__default.createElement(RechartsPrimitive.Cell, { key: "empty-chart", name: "", fill: getThemeColor("grey-200") });
84
- };
85
- return /* @__PURE__ */ React__default.createElement("div", { className: "relative flex h-full w-full", ref }, /* @__PURE__ */ React__default.createElement(CenteredLabel, { radius, label, total, formatter }), /* @__PURE__ */ React__default.createElement(RechartsPrimitive.PieChart, { data, height: diameter, width: diameter, style: { transform: "rotate(90deg) scale(-1,1)" } }, /* @__PURE__ */ React__default.createElement(
86
- RechartsPrimitive.Pie,
87
- {
88
- isAnimationActive: false,
89
- activeIndex: getActiveIndex(),
90
- activeShape: /* @__PURE__ */ React__default.createElement(ActiveShape, { pieColors: activeShapeColor, onClick: handlePieClick }),
91
- data: data.length > 0 ? data : [],
92
- dataKey: "value",
93
- innerRadius: radius - HOVER_DONUT_WIDTH - DONUT_WIDTH,
94
- onMouseEnter: (segment) => data.length > 0 && setHoveredItem([segment.id]),
95
- onMouseLeave: () => setHoveredItem([]),
96
- outerRadius: radius - HOVER_DONUT_WIDTH,
97
- paddingAngle: 2.5,
98
- stroke: "0",
99
- rootTabIndex: -1
100
- },
101
- content()
102
- )), /* @__PURE__ */ React__default.createElement(
103
- Legend,
104
- {
105
- data,
106
- onClick: handleLegendClick,
107
- total,
108
- setHoveredItem,
109
- label,
110
- hoveredItem,
111
- selectedItem,
112
- formatter
56
+ return colors;
57
+ }, {});
58
+ const hoveredSegmentColor = getSegmentColor(hoveredItem);
59
+ const selectedSegmentColor = getSegmentColor(selectedItem);
60
+ return hoveredItem.length === 0 ? selectedSegmentColor : hoveredSegmentColor;
61
+ }, [hoveredItem, selectedItem]);
62
+ if (ref.current && !radius) {
63
+ return null;
113
64
  }
114
- ));
115
- };
116
- LegacyDonutChart.Segment = Segment;
65
+ const content = () => {
66
+ const elements = React__default.Children.toArray(children).filter(
67
+ (child) => React__default.isValidElement(child)
68
+ );
69
+ return elements.length > 0 ? elements.map((child, index) => {
70
+ return /* @__PURE__ */ React__default.createElement(
71
+ RechartsPrimitive.Cell,
72
+ {
73
+ key: `cell-${index}`,
74
+ name: child.props.label,
75
+ fill: getThemeColor(child.props.color) ?? getThemeColor("blue-300")
76
+ }
77
+ );
78
+ }) : /* @__PURE__ */ React__default.createElement(RechartsPrimitive.Cell, { key: "empty-chart", name: "", fill: getThemeColor("grey-200") });
79
+ };
80
+ return /* @__PURE__ */ React__default.createElement("div", { className: "relative flex h-full w-full", ref }, /* @__PURE__ */ React__default.createElement(CenteredLabel, { radius, label, total, formatter }), /* @__PURE__ */ React__default.createElement(
81
+ RechartsPrimitive.PieChart,
82
+ {
83
+ data,
84
+ height: diameter,
85
+ width: diameter,
86
+ style: { transform: "rotate(90deg) scale(-1,1)" }
87
+ },
88
+ /* @__PURE__ */ React__default.createElement(
89
+ RechartsPrimitive.Pie,
90
+ {
91
+ isAnimationActive: false,
92
+ shape: (sectorProps) => /* @__PURE__ */ React__default.createElement(
93
+ ActiveShape,
94
+ {
95
+ ...sectorProps,
96
+ activeColorById: activeShapeColor,
97
+ onClick: onClick ? handlePieClick : void 0
98
+ }
99
+ ),
100
+ data: data.length > 0 ? data : [],
101
+ dataKey: "value",
102
+ innerRadius: radius - HOVER_DONUT_WIDTH - DONUT_WIDTH,
103
+ onMouseEnter: (segment) => {
104
+ const id = segment.payload?.id;
105
+ if (data.length > 0 && id !== void 0) {
106
+ setHoveredItem([id]);
107
+ }
108
+ },
109
+ onMouseLeave: () => setHoveredItem([]),
110
+ outerRadius: radius - HOVER_DONUT_WIDTH,
111
+ paddingAngle: 2.5,
112
+ stroke: "0",
113
+ rootTabIndex: -1
114
+ },
115
+ content()
116
+ )
117
+ ), /* @__PURE__ */ React__default.createElement(
118
+ Legend,
119
+ {
120
+ data,
121
+ onClick: handleLegendClick,
122
+ total,
123
+ setHoveredItem,
124
+ label,
125
+ hoveredItem,
126
+ selectedItem,
127
+ formatter
128
+ }
129
+ ));
130
+ },
131
+ { Segment }
132
+ );
117
133
  export {
118
134
  LegacyDonutChart
119
135
  };
@@ -1 +1 @@
1
- {"version":3,"file":"LegacyDonutChart.js","sources":["../../../../src/charts/components/LegacyDonut/LegacyDonutChart.tsx"],"sourcesContent":["import React from 'react';\nimport * as Recharts from 'recharts';\n\nimport type { Color } from '@/charts/utils/color';\nimport { getThemeColor } from '@/charts/utils/color';\n\nimport { ActiveShape } from './ActiveShape';\nimport { CenteredLabel } from './CenteredLabel';\nimport { Legend } from './Legend';\nimport { DONUT_WIDTH, HOVER_DONUT_WIDTH } from './util';\n\nconst Segment = (_: LegacyDonutChartSegmentProps) => null;\n\nexport type LegacyDonutChartSegmentProps = {\n color: Color;\n id: string;\n label: string;\n value: number;\n};\n\nexport type LegacyDonutSegmentIds = string[];\n\nexport type LegacyDonutChartProps = {\n children: React.ReactElement<LegacyDonutChartSegmentProps> | React.ReactElement<LegacyDonutChartSegmentProps>[];\n formatter?: (value: number) => string;\n onClick?: (segment: LegacyDonutChartSegmentProps | LegacyDonutChartSegmentProps[]) => void;\n label: string;\n};\n\nexport const LegacyDonutChart = function LegacyDonutChart({ children, formatter, onClick, label }: LegacyDonutChartProps) {\n const ref = React.useRef<HTMLDivElement>(null);\n const [radius, setRadius] = React.useState<number>(0);\n\n const [hoveredItem, setHoveredItem] = React.useState<LegacyDonutSegmentIds>([]);\n const [selectedItem, setSelectedItem] = React.useState<LegacyDonutSegmentIds>([]);\n\n React.useEffect(() => {\n if (ref.current) {\n const rect = ref.current.parentElement?.getBoundingClientRect();\n\n if (rect) {\n const width = rect.width / 2;\n const max: number = rect.height < width ? rect.height : width;\n setRadius(max / 2);\n }\n }\n }, [ref.current]);\n\n const diameter = radius * 2; // get dimensions of the parent container to find the max radius, so we can fill the container AND always have a 16px wide donut\n const data: LegacyDonutChartSegmentProps[] = React.Children.map(children, child => ({\n id: child.props.id,\n color: child.props.color,\n label: child.props.label,\n value: child.props.value,\n }));\n\n const total = data.reduce((accum, entry) => accum + entry.value, 0);\n\n const handleLegendClick = (entry: LegacyDonutChartSegmentProps | LegacyDonutChartSegmentProps[]): void => {\n const nextSelectedItem = Array.isArray(entry) ? entry.map(entryItem => entryItem.id) : [entry.id];\n\n // Using slice to avoid mutation of the react state 'selectedItem'\n const isCurrentSegmentActive = selectedItem.slice().sort().join(',') === nextSelectedItem.sort().join(',');\n\n if (onClick && !isCurrentSegmentActive) {\n onClick(entry);\n }\n\n setSelectedItem(isCurrentSegmentActive ? [] : nextSelectedItem);\n };\n const handlePieClick = React.useCallback(\n (pieId: string | undefined) => {\n if (onClick && pieId !== undefined) {\n const pieProps = data.find(item => item.id === pieId);\n\n onClick(pieProps as LegacyDonutChartSegmentProps);\n }\n },\n [onClick, data]\n );\n\n const activeShapeColor = React.useMemo(() => {\n const getSegmentColor = (item: LegacyDonutSegmentIds) =>\n item.reduce<Record<string, string>>((colors, itemId) => {\n const visibleHoveredItem = data.find(dataItem => dataItem.id === itemId);\n\n if (visibleHoveredItem) {\n colors[visibleHoveredItem.id] = visibleHoveredItem.color;\n }\n\n return colors;\n }, {});\n\n const hoveredSegmentColor = getSegmentColor(hoveredItem);\n const selectedSegmentColor = getSegmentColor(selectedItem);\n\n return hoveredItem.length === 0 ? selectedSegmentColor : hoveredSegmentColor;\n }, [hoveredItem, selectedItem]);\n\n if (ref.current && !radius) {\n return null;\n }\n\n const getActiveIndex = () => {\n if (hoveredItem.length > 0) {\n return hoveredItem.map(itemId => data.findIndex(element => element.id === itemId));\n }\n\n return selectedItem.map(selectedItemId => data.findIndex(element => element.id === selectedItemId));\n };\n\n const content = () => {\n const elements = React.Children.toArray(children).filter(\n (child): child is React.ReactElement<LegacyDonutChartSegmentProps> =>\n React.isValidElement<LegacyDonutChartSegmentProps>(child)\n );\n\n return elements.length > 0 ? (\n elements.map((child, index) => {\n return (\n <Recharts.Cell\n key={`cell-${index}`}\n name={child.props.label}\n fill={getThemeColor(child.props.color) ?? getThemeColor('blue-300')}\n />\n );\n })\n ) : (\n <Recharts.Cell key=\"empty-chart\" name={''} fill={getThemeColor('grey-200')} />\n );\n };\n\n return (\n <div className=\"relative flex h-full w-full\" ref={ref}>\n <CenteredLabel radius={radius} label={label} total={total} formatter={formatter} />\n <Recharts.PieChart data={data} height={diameter} width={diameter} style={{ transform: 'rotate(90deg) scale(-1,1)' }}>\n <Recharts.Pie\n isAnimationActive={false}\n activeIndex={getActiveIndex()}\n activeShape={<ActiveShape pieColors={activeShapeColor} onClick={handlePieClick} />}\n data={data.length > 0 ? data : []}\n dataKey=\"value\"\n innerRadius={radius - HOVER_DONUT_WIDTH - DONUT_WIDTH} // offset the 12px wider hover state, and then make the donut 16px wide\n onMouseEnter={(segment: LegacyDonutChartSegmentProps) => data.length > 0 && setHoveredItem([segment.id])}\n onMouseLeave={() => setHoveredItem([])}\n outerRadius={radius - HOVER_DONUT_WIDTH} // offset the 12px wide hover state\n paddingAngle={2.5}\n stroke=\"0\"\n // Prevents the pie group element from being focusable\n rootTabIndex={-1}>\n {content()}\n </Recharts.Pie>\n </Recharts.PieChart>\n <Legend\n data={data}\n onClick={handleLegendClick}\n total={total}\n setHoveredItem={setHoveredItem}\n label={label}\n hoveredItem={hoveredItem}\n selectedItem={selectedItem}\n formatter={formatter}\n />\n </div>\n );\n};\n\nLegacyDonutChart.Segment = Segment;\n"],"names":["LegacyDonutChart","React","Recharts"],"mappings":";;;;;;;AAWA,MAAM,UAAU,CAAC,MAAoC;AAkB9C,MAAM,mBAAmB,SAASA,kBAAiB,EAAE,UAAU,WAAW,SAAS,SAAgC;AACtH,QAAM,MAAMC,eAAM,OAAuB,IAAI;AAC7C,QAAM,CAAC,QAAQ,SAAS,IAAIA,eAAM,SAAiB,CAAC;AAEpD,QAAM,CAAC,aAAa,cAAc,IAAIA,eAAM,SAAgC,CAAA,CAAE;AAC9E,QAAM,CAAC,cAAc,eAAe,IAAIA,eAAM,SAAgC,CAAA,CAAE;AAEhFA,iBAAM,UAAU,MAAM;AAClB,QAAI,IAAI,SAAS;AACb,YAAM,OAAO,IAAI,QAAQ,eAAe,sBAAA;AAExC,UAAI,MAAM;AACN,cAAM,QAAQ,KAAK,QAAQ;AAC3B,cAAM,MAAc,KAAK,SAAS,QAAQ,KAAK,SAAS;AACxD,kBAAU,MAAM,CAAC;AAAA,MACrB;AAAA,IACJ;AAAA,EACJ,GAAG,CAAC,IAAI,OAAO,CAAC;AAEhB,QAAM,WAAW,SAAS;AAC1B,QAAM,OAAuCA,eAAM,SAAS,IAAI,UAAU,CAAA,WAAU;AAAA,IAChF,IAAI,MAAM,MAAM;AAAA,IAChB,OAAO,MAAM,MAAM;AAAA,IACnB,OAAO,MAAM,MAAM;AAAA,IACnB,OAAO,MAAM,MAAM;AAAA,EAAA,EACrB;AAEF,QAAM,QAAQ,KAAK,OAAO,CAAC,OAAO,UAAU,QAAQ,MAAM,OAAO,CAAC;AAElE,QAAM,oBAAoB,CAAC,UAA+E;AACtG,UAAM,mBAAmB,MAAM,QAAQ,KAAK,IAAI,MAAM,IAAI,CAAA,cAAa,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE;AAGhG,UAAM,yBAAyB,aAAa,MAAA,EAAQ,KAAA,EAAO,KAAK,GAAG,MAAM,iBAAiB,OAAO,KAAK,GAAG;AAEzG,QAAI,WAAW,CAAC,wBAAwB;AACpC,cAAQ,KAAK;AAAA,IACjB;AAEA,oBAAgB,yBAAyB,CAAA,IAAK,gBAAgB;AAAA,EAClE;AACA,QAAM,iBAAiBA,eAAM;AAAA,IACzB,CAAC,UAA8B;AAC3B,UAAI,WAAW,UAAU,QAAW;AAChC,cAAM,WAAW,KAAK,KAAK,CAAA,SAAQ,KAAK,OAAO,KAAK;AAEpD,gBAAQ,QAAwC;AAAA,MACpD;AAAA,IACJ;AAAA,IACA,CAAC,SAAS,IAAI;AAAA,EAAA;AAGlB,QAAM,mBAAmBA,eAAM,QAAQ,MAAM;AACzC,UAAM,kBAAkB,CAAC,SACrB,KAAK,OAA+B,CAAC,QAAQ,WAAW;AACpD,YAAM,qBAAqB,KAAK,KAAK,CAAA,aAAY,SAAS,OAAO,MAAM;AAEvE,UAAI,oBAAoB;AACpB,eAAO,mBAAmB,EAAE,IAAI,mBAAmB;AAAA,MACvD;AAEA,aAAO;AAAA,IACX,GAAG,CAAA,CAAE;AAET,UAAM,sBAAsB,gBAAgB,WAAW;AACvD,UAAM,uBAAuB,gBAAgB,YAAY;AAEzD,WAAO,YAAY,WAAW,IAAI,uBAAuB;AAAA,EAC7D,GAAG,CAAC,aAAa,YAAY,CAAC;AAE9B,MAAI,IAAI,WAAW,CAAC,QAAQ;AACxB,WAAO;AAAA,EACX;AAEA,QAAM,iBAAiB,MAAM;AACzB,QAAI,YAAY,SAAS,GAAG;AACxB,aAAO,YAAY,IAAI,CAAA,WAAU,KAAK,UAAU,CAAA,YAAW,QAAQ,OAAO,MAAM,CAAC;AAAA,IACrF;AAEA,WAAO,aAAa,IAAI,CAAA,mBAAkB,KAAK,UAAU,CAAA,YAAW,QAAQ,OAAO,cAAc,CAAC;AAAA,EACtG;AAEA,QAAM,UAAU,MAAM;AAClB,UAAM,WAAWA,eAAM,SAAS,QAAQ,QAAQ,EAAE;AAAA,MAC9C,CAAC,UACGA,eAAM,eAA6C,KAAK;AAAA,IAAA;AAGhE,WAAO,SAAS,SAAS,IACrB,SAAS,IAAI,CAAC,OAAO,UAAU;AAC3B,aACIA,+BAAA;AAAA,QAACC,kBAAS;AAAA,QAAT;AAAA,UACG,KAAK,QAAQ,KAAK;AAAA,UAClB,MAAM,MAAM,MAAM;AAAA,UAClB,MAAM,cAAc,MAAM,MAAM,KAAK,KAAK,cAAc,UAAU;AAAA,QAAA;AAAA,MAAA;AAAA,IAG9E,CAAC,IAEDD,+BAAA,cAACC,kBAAS,MAAT,EAAc,KAAI,eAAc,MAAM,IAAI,MAAM,cAAc,UAAU,EAAA,CAAG;AAAA,EAEpF;AAEA,SACID,+BAAA,cAAC,OAAA,EAAI,WAAU,+BAA8B,IAAA,gDACxC,eAAA,EAAc,QAAgB,OAAc,OAAc,UAAA,CAAsB,gDAChFC,kBAAS,UAAT,EAAkB,MAAY,QAAQ,UAAU,OAAO,UAAU,OAAO,EAAE,WAAW,4BAAA,EAA4B,GAC9GD,+BAAA;AAAA,IAACC,kBAAS;AAAA,IAAT;AAAA,MACG,mBAAmB;AAAA,MACnB,aAAa,eAAA;AAAA,MACb,aAAaD,+BAAA,cAAC,aAAA,EAAY,WAAW,kBAAkB,SAAS,gBAAgB;AAAA,MAChF,MAAM,KAAK,SAAS,IAAI,OAAO,CAAA;AAAA,MAC/B,SAAQ;AAAA,MACR,aAAa,SAAS,oBAAoB;AAAA,MAC1C,cAAc,CAAC,YAA0C,KAAK,SAAS,KAAK,eAAe,CAAC,QAAQ,EAAE,CAAC;AAAA,MACvG,cAAc,MAAM,eAAe,EAAE;AAAA,MACrC,aAAa,SAAS;AAAA,MACtB,cAAc;AAAA,MACd,QAAO;AAAA,MAEP,cAAc;AAAA,IAAA;AAAA,IACb,QAAA;AAAA,EAAQ,CAEjB,GACAA,+BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACG;AAAA,MACA,SAAS;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAAA,CAER;AAER;AAEA,iBAAiB,UAAU;"}
1
+ {"version":3,"file":"LegacyDonutChart.js","sources":["../../../../src/charts/components/LegacyDonut/LegacyDonutChart.tsx"],"sourcesContent":["import React from 'react';\nimport * as Recharts from 'recharts';\n\nimport type { Color } from '@/charts/utils/color';\nimport { getThemeColor } from '@/charts/utils/color';\n\nimport { ActiveShape } from './ActiveShape';\nimport { CenteredLabel } from './CenteredLabel';\nimport { Legend } from './Legend';\nimport { DONUT_WIDTH, HOVER_DONUT_WIDTH } from './util';\n\nconst Segment = (_: LegacyDonutChartSegmentProps) => null;\n\n/**\n * @deprecated\n */\nexport type LegacyDonutChartSegmentProps = {\n color: Color;\n id: string;\n label: string;\n value: number;\n};\n\n/**\n * @deprecated\n */\nexport type LegacyDonutSegmentIds = string[];\n\n/**\n * @deprecated\n */\nexport type LegacyDonutChartProps = {\n children: React.ReactElement<LegacyDonutChartSegmentProps> | React.ReactElement<LegacyDonutChartSegmentProps>[];\n formatter?: (value: number) => string;\n onClick?: (segment: LegacyDonutChartSegmentProps | LegacyDonutChartSegmentProps[]) => void;\n label: string;\n};\n\n/**\n * @deprecated Use DonutChart component instead\n */\nexport const LegacyDonutChart = Object.assign(\n function LegacyDonutChart({ children, formatter, onClick, label }: LegacyDonutChartProps) {\n const ref = React.useRef<HTMLDivElement>(null);\n const [radius, setRadius] = React.useState<number>(0);\n\n const [hoveredItem, setHoveredItem] = React.useState<LegacyDonutSegmentIds>([]);\n const [selectedItem, setSelectedItem] = React.useState<LegacyDonutSegmentIds>([]);\n\n React.useEffect(() => {\n if (ref.current) {\n const rect = ref.current.parentElement?.getBoundingClientRect();\n\n if (rect) {\n const width = rect.width / 2;\n const max: number = rect.height < width ? rect.height : width;\n setRadius(max / 2);\n }\n }\n }, [ref.current]);\n\n // get dimensions of the parent container to find the max radius, so we can fill the container AND always have a 16px wide donut\n const diameter = radius * 2;\n const data: LegacyDonutChartSegmentProps[] = React.Children.map(children, child => ({\n id: child.props.id,\n color: child.props.color,\n label: child.props.label,\n value: child.props.value,\n }));\n\n const total = data.reduce((accum, entry) => accum + entry.value, 0);\n\n const handleLegendClick = (entry: LegacyDonutChartSegmentProps | LegacyDonutChartSegmentProps[]): void => {\n const nextSelectedItem = Array.isArray(entry) ? entry.map(entryItem => entryItem.id) : [entry.id];\n\n // Using slice to avoid mutation of the react state 'selectedItem'\n const isCurrentSegmentActive = selectedItem.slice().sort().join(',') === nextSelectedItem.sort().join(',');\n\n if (onClick && !isCurrentSegmentActive) {\n onClick(entry);\n }\n\n setSelectedItem(isCurrentSegmentActive ? [] : nextSelectedItem);\n };\n const handlePieClick = React.useCallback(\n (pieId: string | undefined) => {\n if (onClick && pieId !== undefined) {\n const pieProps = data.find(item => item.id === pieId);\n\n onClick(pieProps as LegacyDonutChartSegmentProps);\n }\n },\n [onClick, data]\n );\n\n const activeShapeColor = React.useMemo(() => {\n const getSegmentColor = (item: LegacyDonutSegmentIds) =>\n item.reduce<Record<string, string>>((colors, itemId) => {\n const visibleHoveredItem = data.find(dataItem => dataItem.id === itemId);\n\n if (visibleHoveredItem) {\n colors[visibleHoveredItem.id] = visibleHoveredItem.color;\n }\n\n return colors;\n }, {});\n\n const hoveredSegmentColor = getSegmentColor(hoveredItem);\n const selectedSegmentColor = getSegmentColor(selectedItem);\n\n return hoveredItem.length === 0 ? selectedSegmentColor : hoveredSegmentColor;\n }, [hoveredItem, selectedItem]);\n\n if (ref.current && !radius) {\n return null;\n }\n\n const content = () => {\n const elements = React.Children.toArray(children).filter(\n (child): child is React.ReactElement<LegacyDonutChartSegmentProps> =>\n React.isValidElement<LegacyDonutChartSegmentProps>(child)\n );\n\n return elements.length > 0 ? (\n elements.map((child, index) => {\n return (\n <Recharts.Cell\n key={`cell-${index}`}\n name={child.props.label}\n fill={getThemeColor(child.props.color) ?? getThemeColor('blue-300')}\n />\n );\n })\n ) : (\n <Recharts.Cell key=\"empty-chart\" name={''} fill={getThemeColor('grey-200')} />\n );\n };\n\n return (\n <div className=\"relative flex h-full w-full\" ref={ref}>\n <CenteredLabel radius={radius} label={label} total={total} formatter={formatter} />\n <Recharts.PieChart\n data={data}\n height={diameter}\n width={diameter}\n style={{ transform: 'rotate(90deg) scale(-1,1)' }}>\n <Recharts.Pie\n isAnimationActive={false}\n shape={sectorProps => (\n <ActiveShape\n {...sectorProps}\n activeColorById={activeShapeColor}\n onClick={onClick ? handlePieClick : undefined}\n />\n )}\n data={data.length > 0 ? data : []}\n dataKey=\"value\"\n // offset the 12px wider hover state, and then make the donut 16px wide\n innerRadius={radius - HOVER_DONUT_WIDTH - DONUT_WIDTH}\n onMouseEnter={segment => {\n const id = segment.payload?.id;\n\n if (data.length > 0 && id !== undefined) {\n setHoveredItem([id]);\n }\n }}\n onMouseLeave={() => setHoveredItem([])}\n // offset the 12px wide hover state\n outerRadius={radius - HOVER_DONUT_WIDTH}\n paddingAngle={2.5}\n stroke=\"0\"\n // Prevents the pie group element from being focusable\n rootTabIndex={-1}>\n {content()}\n </Recharts.Pie>\n </Recharts.PieChart>\n <Legend\n data={data}\n onClick={handleLegendClick}\n total={total}\n setHoveredItem={setHoveredItem}\n label={label}\n hoveredItem={hoveredItem}\n selectedItem={selectedItem}\n formatter={formatter}\n />\n </div>\n );\n },\n { Segment }\n);\n"],"names":["LegacyDonutChart","React","Recharts"],"mappings":"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"}
@@ -28,7 +28,7 @@ const Legend = ({ hoveredItem, selectedItem, data, onClick, setHoveredItem, form
28
28
  /* @__PURE__ */ React.createElement("div", null, itemData.label, /* @__PURE__ */ React.createElement("span", { className: "-mt-1 flex w-full text-lg font-bold" }, formatter ? formatter(itemData.value) : itemData.value))
29
29
  );
30
30
  };
31
- return /* @__PURE__ */ React.createElement("div", { className: "flex-grow pl-4" }, /* @__PURE__ */ React.createElement("ul", { className: "mb-0 ml-0 mt-4 flex flex-col justify-center gap-1 space-y-1" }, renderLegendItem(null), data.map(renderLegendItem)));
31
+ return /* @__PURE__ */ React.createElement("div", { className: "flex-grow pl-4" }, /* @__PURE__ */ React.createElement("ul", { className: "mb-0 ml-0 mt-4 flex flex-col justify-center gap-1 space-y-1" }, renderLegendItem(null), data.map((item) => renderLegendItem(item))));
32
32
  };
33
33
  exports.Legend = Legend;
34
34
  //# sourceMappingURL=Legend.cjs.map