@plenustech/design-system 0.2.1 → 0.2.3

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 (802) hide show
  1. package/dist/components/actions/Button/Button.cjs +2 -0
  2. package/dist/components/actions/Button/Button.cjs.map +1 -0
  3. package/dist/components/actions/Button/Button.js +47 -0
  4. package/dist/components/actions/Button/Button.js.map +1 -0
  5. package/dist/components/actions/Button/Button.module.css.cjs +2 -0
  6. package/dist/components/actions/Button/Button.module.css.cjs.map +1 -0
  7. package/dist/components/actions/Button/Button.module.css.js +24 -0
  8. package/dist/components/actions/Button/Button.module.css.js.map +1 -0
  9. package/dist/components/actions/ButtonIcon/ButtonIcon.cjs +2 -0
  10. package/dist/components/actions/ButtonIcon/ButtonIcon.cjs.map +1 -0
  11. package/dist/components/actions/ButtonIcon/ButtonIcon.js +21 -0
  12. package/dist/components/actions/ButtonIcon/ButtonIcon.js.map +1 -0
  13. package/dist/components/actions/ButtonIcon/ButtonIcon.module.css.cjs +2 -0
  14. package/dist/components/actions/ButtonIcon/ButtonIcon.module.css.cjs.map +1 -0
  15. package/dist/components/actions/ButtonIcon/ButtonIcon.module.css.js +14 -0
  16. package/dist/components/actions/ButtonIcon/ButtonIcon.module.css.js.map +1 -0
  17. package/dist/components/actions/ButtonTile/ButtonTile.cjs +2 -0
  18. package/dist/components/actions/ButtonTile/ButtonTile.cjs.map +1 -0
  19. package/dist/components/actions/ButtonTile/ButtonTile.js +23 -0
  20. package/dist/components/actions/ButtonTile/ButtonTile.js.map +1 -0
  21. package/dist/components/actions/ButtonTile/ButtonTile.module.css.cjs +2 -0
  22. package/dist/components/actions/ButtonTile/ButtonTile.module.css.cjs.map +1 -0
  23. package/dist/components/actions/ButtonTile/ButtonTile.module.css.js +16 -0
  24. package/dist/components/actions/ButtonTile/ButtonTile.module.css.js.map +1 -0
  25. package/dist/components/actions/Toolbar/Toolbar.cjs +2 -0
  26. package/dist/components/actions/Toolbar/Toolbar.cjs.map +1 -0
  27. package/dist/components/actions/Toolbar/Toolbar.js +118 -0
  28. package/dist/components/actions/Toolbar/Toolbar.js.map +1 -0
  29. package/dist/components/actions/Toolbar/Toolbar.module.css.cjs +2 -0
  30. package/dist/components/actions/Toolbar/Toolbar.module.css.cjs.map +1 -0
  31. package/dist/components/actions/Toolbar/Toolbar.module.css.js +20 -0
  32. package/dist/components/actions/Toolbar/Toolbar.module.css.js.map +1 -0
  33. package/dist/components/charts/ChartArea/ChartArea.cjs +2 -0
  34. package/dist/components/charts/ChartArea/ChartArea.cjs.map +1 -0
  35. package/dist/components/charts/ChartArea/ChartArea.js +253 -0
  36. package/dist/components/charts/ChartArea/ChartArea.js.map +1 -0
  37. package/dist/components/charts/ChartArea/ChartArea.module.css.cjs +2 -0
  38. package/dist/components/charts/ChartArea/ChartArea.module.css.cjs.map +1 -0
  39. package/dist/components/charts/ChartArea/ChartArea.module.css.js +20 -0
  40. package/dist/components/charts/ChartArea/ChartArea.module.css.js.map +1 -0
  41. package/dist/components/charts/ChartBar/ChartBar.cjs +2 -0
  42. package/dist/components/charts/ChartBar/ChartBar.cjs.map +1 -0
  43. package/dist/components/charts/ChartBar/ChartBar.js +239 -0
  44. package/dist/components/charts/ChartBar/ChartBar.js.map +1 -0
  45. package/dist/components/charts/ChartBar/ChartBar.module.css.cjs +2 -0
  46. package/dist/components/charts/ChartBar/ChartBar.module.css.cjs.map +1 -0
  47. package/dist/components/charts/ChartBar/ChartBar.module.css.js +16 -0
  48. package/dist/components/charts/ChartBar/ChartBar.module.css.js.map +1 -0
  49. package/dist/components/charts/ChartCombo/ChartCombo.cjs +2 -0
  50. package/dist/components/charts/ChartCombo/ChartCombo.cjs.map +1 -0
  51. package/dist/components/charts/ChartCombo/ChartCombo.js +273 -0
  52. package/dist/components/charts/ChartCombo/ChartCombo.js.map +1 -0
  53. package/dist/components/charts/ChartCombo/ChartCombo.module.css.cjs +2 -0
  54. package/dist/components/charts/ChartCombo/ChartCombo.module.css.cjs.map +1 -0
  55. package/dist/components/charts/ChartCombo/ChartCombo.module.css.js +22 -0
  56. package/dist/components/charts/ChartCombo/ChartCombo.module.css.js.map +1 -0
  57. package/dist/components/charts/ChartDonut/ChartDonut.cjs +2 -0
  58. package/dist/components/charts/ChartDonut/ChartDonut.cjs.map +1 -0
  59. package/dist/components/charts/ChartDonut/ChartDonut.js +118 -0
  60. package/dist/components/charts/ChartDonut/ChartDonut.js.map +1 -0
  61. package/dist/components/charts/ChartDonut/ChartDonut.module.css.cjs +2 -0
  62. package/dist/components/charts/ChartDonut/ChartDonut.module.css.cjs.map +1 -0
  63. package/dist/components/charts/ChartDonut/ChartDonut.module.css.js +14 -0
  64. package/dist/components/charts/ChartDonut/ChartDonut.module.css.js.map +1 -0
  65. package/dist/components/charts/ChartLine/ChartLine.cjs +2 -0
  66. package/dist/components/charts/ChartLine/ChartLine.cjs.map +1 -0
  67. package/dist/components/charts/ChartLine/ChartLine.js +219 -0
  68. package/dist/components/charts/ChartLine/ChartLine.js.map +1 -0
  69. package/dist/components/charts/ChartLine/ChartLine.module.css.cjs +2 -0
  70. package/dist/components/charts/ChartLine/ChartLine.module.css.cjs.map +1 -0
  71. package/dist/components/charts/ChartLine/ChartLine.module.css.js +20 -0
  72. package/dist/components/charts/ChartLine/ChartLine.module.css.js.map +1 -0
  73. package/dist/components/charts/ChartPie/ChartPie.cjs +2 -0
  74. package/dist/components/charts/ChartPie/ChartPie.cjs.map +1 -0
  75. package/dist/components/charts/ChartPie/ChartPie.js +110 -0
  76. package/dist/components/charts/ChartPie/ChartPie.js.map +1 -0
  77. package/dist/components/charts/ChartPie/ChartPie.module.css.cjs +2 -0
  78. package/dist/components/charts/ChartPie/ChartPie.module.css.cjs.map +1 -0
  79. package/dist/components/charts/ChartPie/ChartPie.module.css.js +10 -0
  80. package/dist/components/charts/ChartPie/ChartPie.module.css.js.map +1 -0
  81. package/dist/components/charts/ChartRadial/ChartRadial.cjs +2 -0
  82. package/dist/components/charts/ChartRadial/ChartRadial.cjs.map +1 -0
  83. package/dist/components/charts/ChartRadial/ChartRadial.js +138 -0
  84. package/dist/components/charts/ChartRadial/ChartRadial.js.map +1 -0
  85. package/dist/components/charts/ChartRadial/ChartRadial.module.css.cjs +2 -0
  86. package/dist/components/charts/ChartRadial/ChartRadial.module.css.cjs.map +1 -0
  87. package/dist/components/charts/ChartRadial/ChartRadial.module.css.js +16 -0
  88. package/dist/components/charts/ChartRadial/ChartRadial.module.css.js.map +1 -0
  89. package/dist/components/charts/ChartSankey/ChartSankey.cjs +2 -0
  90. package/dist/components/charts/ChartSankey/ChartSankey.cjs.map +1 -0
  91. package/dist/components/charts/ChartSankey/ChartSankey.js +232 -0
  92. package/dist/components/charts/ChartSankey/ChartSankey.js.map +1 -0
  93. package/dist/components/charts/ChartSankey/ChartSankey.module.css.cjs +2 -0
  94. package/dist/components/charts/ChartSankey/ChartSankey.module.css.cjs.map +1 -0
  95. package/dist/components/charts/ChartSankey/ChartSankey.module.css.js +22 -0
  96. package/dist/components/charts/ChartSankey/ChartSankey.module.css.js.map +1 -0
  97. package/dist/components/charts/ChartScatter/ChartScatter.cjs +2 -0
  98. package/dist/components/charts/ChartScatter/ChartScatter.cjs.map +1 -0
  99. package/dist/components/charts/ChartScatter/ChartScatter.js +169 -0
  100. package/dist/components/charts/ChartScatter/ChartScatter.js.map +1 -0
  101. package/dist/components/charts/ChartScatter/ChartScatter.module.css.cjs +2 -0
  102. package/dist/components/charts/ChartScatter/ChartScatter.module.css.cjs.map +1 -0
  103. package/dist/components/charts/ChartScatter/ChartScatter.module.css.js +14 -0
  104. package/dist/components/charts/ChartScatter/ChartScatter.module.css.js.map +1 -0
  105. package/dist/components/charts/ChartSunburst/ChartSunburst.cjs +2 -0
  106. package/dist/components/charts/ChartSunburst/ChartSunburst.cjs.map +1 -0
  107. package/dist/components/charts/ChartSunburst/ChartSunburst.js +159 -0
  108. package/dist/components/charts/ChartSunburst/ChartSunburst.js.map +1 -0
  109. package/dist/components/charts/ChartSunburst/ChartSunburst.module.css.cjs +2 -0
  110. package/dist/components/charts/ChartSunburst/ChartSunburst.module.css.cjs.map +1 -0
  111. package/dist/components/charts/ChartSunburst/ChartSunburst.module.css.js +16 -0
  112. package/dist/components/charts/ChartSunburst/ChartSunburst.module.css.js.map +1 -0
  113. package/dist/components/charts/ChartTooltip/ChartTooltip.cjs +2 -0
  114. package/dist/components/charts/ChartTooltip/ChartTooltip.cjs.map +1 -0
  115. package/dist/components/charts/ChartTooltip/ChartTooltip.js +113 -0
  116. package/dist/components/charts/ChartTooltip/ChartTooltip.js.map +1 -0
  117. package/dist/components/charts/ChartTooltip/ChartTooltip.module.css.cjs +2 -0
  118. package/dist/components/charts/ChartTooltip/ChartTooltip.module.css.cjs.map +1 -0
  119. package/dist/components/charts/ChartTooltip/ChartTooltip.module.css.js +32 -0
  120. package/dist/components/charts/ChartTooltip/ChartTooltip.module.css.js.map +1 -0
  121. package/dist/components/charts/ChartTreemap/ChartTreemap.cjs +2 -0
  122. package/dist/components/charts/ChartTreemap/ChartTreemap.cjs.map +1 -0
  123. package/dist/components/charts/ChartTreemap/ChartTreemap.js +133 -0
  124. package/dist/components/charts/ChartTreemap/ChartTreemap.js.map +1 -0
  125. package/dist/components/charts/ChartTreemap/ChartTreemap.module.css.cjs +2 -0
  126. package/dist/components/charts/ChartTreemap/ChartTreemap.module.css.cjs.map +1 -0
  127. package/dist/components/charts/ChartTreemap/ChartTreemap.module.css.js +14 -0
  128. package/dist/components/charts/ChartTreemap/ChartTreemap.module.css.js.map +1 -0
  129. package/dist/components/charts/ChartWaterfall/ChartWaterfall.cjs +2 -0
  130. package/dist/components/charts/ChartWaterfall/ChartWaterfall.cjs.map +1 -0
  131. package/dist/components/charts/ChartWaterfall/ChartWaterfall.js +188 -0
  132. package/dist/components/charts/ChartWaterfall/ChartWaterfall.js.map +1 -0
  133. package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.cjs +2 -0
  134. package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.cjs.map +1 -0
  135. package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.js +14 -0
  136. package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.js.map +1 -0
  137. package/dist/components/charts/core/Axis.cjs +2 -0
  138. package/dist/components/charts/core/Axis.cjs.map +1 -0
  139. package/dist/components/charts/core/Axis.js +40 -0
  140. package/dist/components/charts/core/Axis.js.map +1 -0
  141. package/dist/components/charts/core/BandCursor.cjs +2 -0
  142. package/dist/components/charts/core/BandCursor.cjs.map +1 -0
  143. package/dist/components/charts/core/BandCursor.js +19 -0
  144. package/dist/components/charts/core/BandCursor.js.map +1 -0
  145. package/dist/components/charts/core/CartesianFrame.cjs +2 -0
  146. package/dist/components/charts/core/CartesianFrame.cjs.map +1 -0
  147. package/dist/components/charts/core/CartesianFrame.js +85 -0
  148. package/dist/components/charts/core/CartesianFrame.js.map +1 -0
  149. package/dist/components/charts/core/Chart.module.css.cjs +2 -0
  150. package/dist/components/charts/core/Chart.module.css.cjs.map +1 -0
  151. package/dist/components/charts/core/Chart.module.css.js +66 -0
  152. package/dist/components/charts/core/Chart.module.css.js.map +1 -0
  153. package/dist/components/charts/core/ChartFrame.cjs +2 -0
  154. package/dist/components/charts/core/ChartFrame.cjs.map +1 -0
  155. package/dist/components/charts/core/ChartFrame.js +71 -0
  156. package/dist/components/charts/core/ChartFrame.js.map +1 -0
  157. package/dist/components/charts/core/ChartLegend.cjs +2 -0
  158. package/dist/components/charts/core/ChartLegend.cjs.map +1 -0
  159. package/dist/components/charts/core/ChartLegend.js +44 -0
  160. package/dist/components/charts/core/ChartLegend.js.map +1 -0
  161. package/dist/components/charts/core/Grid.cjs +2 -0
  162. package/dist/components/charts/core/Grid.cjs.map +1 -0
  163. package/dist/components/charts/core/Grid.js +20 -0
  164. package/dist/components/charts/core/Grid.js.map +1 -0
  165. package/dist/components/charts/core/PointBands.cjs +2 -0
  166. package/dist/components/charts/core/PointBands.cjs.map +1 -0
  167. package/dist/components/charts/core/PointBands.js +41 -0
  168. package/dist/components/charts/core/PointBands.js.map +1 -0
  169. package/dist/components/charts/core/arcs.cjs +2 -0
  170. package/dist/components/charts/core/arcs.cjs.map +1 -0
  171. package/dist/components/charts/core/arcs.js +26 -0
  172. package/dist/components/charts/core/arcs.js.map +1 -0
  173. package/dist/components/charts/core/cartesianLayout.cjs +2 -0
  174. package/dist/components/charts/core/cartesianLayout.cjs.map +1 -0
  175. package/dist/components/charts/core/cartesianLayout.js +67 -0
  176. package/dist/components/charts/core/cartesianLayout.js.map +1 -0
  177. package/dist/components/charts/core/centerText.cjs +2 -0
  178. package/dist/components/charts/core/centerText.cjs.map +1 -0
  179. package/dist/components/charts/core/centerText.js +31 -0
  180. package/dist/components/charts/core/centerText.js.map +1 -0
  181. package/dist/components/charts/core/hoverPath.cjs +2 -0
  182. package/dist/components/charts/core/hoverPath.cjs.map +1 -0
  183. package/dist/components/charts/core/hoverPath.js +7 -0
  184. package/dist/components/charts/core/hoverPath.js.map +1 -0
  185. package/dist/components/charts/core/measureText.cjs +2 -0
  186. package/dist/components/charts/core/measureText.cjs.map +1 -0
  187. package/dist/components/charts/core/measureText.js +55 -0
  188. package/dist/components/charts/core/measureText.js.map +1 -0
  189. package/dist/components/charts/core/pointLabels.cjs +2 -0
  190. package/dist/components/charts/core/pointLabels.cjs.map +1 -0
  191. package/dist/components/charts/core/pointLabels.js +12 -0
  192. package/dist/components/charts/core/pointLabels.js.map +1 -0
  193. package/dist/components/charts/core/shapes.cjs +2 -0
  194. package/dist/components/charts/core/shapes.cjs.map +1 -0
  195. package/dist/components/charts/core/shapes.js +31 -0
  196. package/dist/components/charts/core/shapes.js.map +1 -0
  197. package/dist/components/charts/core/slices.cjs +2 -0
  198. package/dist/components/charts/core/slices.cjs.map +1 -0
  199. package/dist/components/charts/core/slices.js +22 -0
  200. package/dist/components/charts/core/slices.js.map +1 -0
  201. package/dist/components/charts/core/spacing.cjs +2 -0
  202. package/dist/components/charts/core/spacing.cjs.map +1 -0
  203. package/dist/components/charts/core/spacing.js +26 -0
  204. package/dist/components/charts/core/spacing.js.map +1 -0
  205. package/dist/components/charts/core/tooltips.cjs +2 -0
  206. package/dist/components/charts/core/tooltips.cjs.map +1 -0
  207. package/dist/components/charts/core/tooltips.js +48 -0
  208. package/dist/components/charts/core/tooltips.js.map +1 -0
  209. package/dist/components/charts/core/useCartesianLayout.cjs +2 -0
  210. package/dist/components/charts/core/useCartesianLayout.cjs.map +1 -0
  211. package/dist/components/charts/core/useCartesianLayout.js +38 -0
  212. package/dist/components/charts/core/useCartesianLayout.js.map +1 -0
  213. package/dist/components/charts/core/useChartMetrics.cjs +2 -0
  214. package/dist/components/charts/core/useChartMetrics.cjs.map +1 -0
  215. package/dist/components/charts/core/useChartMetrics.js +39 -0
  216. package/dist/components/charts/core/useChartMetrics.js.map +1 -0
  217. package/dist/components/charts/core/useHoveredBand.cjs +2 -0
  218. package/dist/components/charts/core/useHoveredBand.cjs.map +1 -0
  219. package/dist/components/charts/core/useHoveredBand.js +14 -0
  220. package/dist/components/charts/core/useHoveredBand.js.map +1 -0
  221. package/dist/components/charts/core/useSeriesToggle.cjs +2 -0
  222. package/dist/components/charts/core/useSeriesToggle.cjs.map +1 -0
  223. package/dist/components/charts/core/useSeriesToggle.js +29 -0
  224. package/dist/components/charts/core/useSeriesToggle.js.map +1 -0
  225. package/dist/components/charts/core/useSliceRing.cjs +2 -0
  226. package/dist/components/charts/core/useSliceRing.cjs.map +1 -0
  227. package/dist/components/charts/core/useSliceRing.js +55 -0
  228. package/dist/components/charts/core/useSliceRing.js.map +1 -0
  229. package/dist/components/charts/core/useTweenedNumbers.cjs +2 -0
  230. package/dist/components/charts/core/useTweenedNumbers.cjs.map +1 -0
  231. package/dist/components/charts/core/useTweenedNumbers.js +31 -0
  232. package/dist/components/charts/core/useTweenedNumbers.js.map +1 -0
  233. package/dist/components/charts/palette/palette.cjs +2 -0
  234. package/dist/components/charts/palette/palette.cjs.map +1 -0
  235. package/dist/components/charts/palette/palette.js +26 -0
  236. package/dist/components/charts/palette/palette.js.map +1 -0
  237. package/dist/components/charts/palette/seriesColor.cjs +2 -0
  238. package/dist/components/charts/palette/seriesColor.cjs.map +1 -0
  239. package/dist/components/charts/palette/seriesColor.js +43 -0
  240. package/dist/components/charts/palette/seriesColor.js.map +1 -0
  241. package/dist/components/charts/scales/scales.cjs +2 -0
  242. package/dist/components/charts/scales/scales.cjs.map +1 -0
  243. package/dist/components/charts/scales/scales.js +74 -0
  244. package/dist/components/charts/scales/scales.js.map +1 -0
  245. package/dist/components/data-display/Accordion/Accordion.cjs +2 -0
  246. package/dist/components/data-display/Accordion/Accordion.cjs.map +1 -0
  247. package/dist/components/data-display/Accordion/Accordion.js +101 -0
  248. package/dist/components/data-display/Accordion/Accordion.js.map +1 -0
  249. package/dist/components/data-display/Accordion/Accordion.module.css.cjs +2 -0
  250. package/dist/components/data-display/Accordion/Accordion.module.css.cjs.map +1 -0
  251. package/dist/components/data-display/Accordion/Accordion.module.css.js +26 -0
  252. package/dist/components/data-display/Accordion/Accordion.module.css.js.map +1 -0
  253. package/dist/components/data-display/Avatar/Avatar.cjs +2 -0
  254. package/dist/components/data-display/Avatar/Avatar.cjs.map +1 -0
  255. package/dist/components/data-display/Avatar/Avatar.js +20 -0
  256. package/dist/components/data-display/Avatar/Avatar.js.map +1 -0
  257. package/dist/components/data-display/Avatar/Avatar.module.css.cjs +2 -0
  258. package/dist/components/data-display/Avatar/Avatar.module.css.cjs.map +1 -0
  259. package/dist/components/data-display/Avatar/Avatar.module.css.js +14 -0
  260. package/dist/components/data-display/Avatar/Avatar.module.css.js.map +1 -0
  261. package/dist/components/data-display/Badge/Badge.cjs +2 -0
  262. package/dist/components/data-display/Badge/Badge.cjs.map +1 -0
  263. package/dist/components/data-display/Badge/Badge.js +13 -0
  264. package/dist/components/data-display/Badge/Badge.js.map +1 -0
  265. package/dist/components/data-display/Badge/Badge.module.css.cjs +2 -0
  266. package/dist/components/data-display/Badge/Badge.module.css.cjs.map +1 -0
  267. package/dist/components/data-display/Badge/Badge.module.css.js +22 -0
  268. package/dist/components/data-display/Badge/Badge.module.css.js.map +1 -0
  269. package/dist/components/data-display/Card/Card.cjs +2 -0
  270. package/dist/components/data-display/Card/Card.cjs.map +1 -0
  271. package/dist/components/data-display/Card/Card.js +51 -0
  272. package/dist/components/data-display/Card/Card.js.map +1 -0
  273. package/dist/components/data-display/Card/Card.module.css.cjs +2 -0
  274. package/dist/components/data-display/Card/Card.module.css.cjs.map +1 -0
  275. package/dist/components/data-display/Card/Card.module.css.js +26 -0
  276. package/dist/components/data-display/Card/Card.module.css.js.map +1 -0
  277. package/dist/components/data-display/CodeBlock/CodeBlock.cjs +2 -0
  278. package/dist/components/data-display/CodeBlock/CodeBlock.cjs.map +1 -0
  279. package/dist/components/data-display/CodeBlock/CodeBlock.js +65 -0
  280. package/dist/components/data-display/CodeBlock/CodeBlock.js.map +1 -0
  281. package/dist/components/data-display/CodeBlock/CodeBlock.module.css.cjs +2 -0
  282. package/dist/components/data-display/CodeBlock/CodeBlock.module.css.cjs.map +1 -0
  283. package/dist/components/data-display/CodeBlock/CodeBlock.module.css.js +47 -0
  284. package/dist/components/data-display/CodeBlock/CodeBlock.module.css.js.map +1 -0
  285. package/dist/components/data-display/CodeBlock/syntax.cjs +24 -0
  286. package/dist/components/data-display/CodeBlock/syntax.cjs.map +1 -0
  287. package/dist/components/data-display/CodeBlock/syntax.js +124 -0
  288. package/dist/components/data-display/CodeBlock/syntax.js.map +1 -0
  289. package/dist/components/data-display/List/List.cjs +2 -0
  290. package/dist/components/data-display/List/List.cjs.map +1 -0
  291. package/dist/components/data-display/List/List.js +99 -0
  292. package/dist/components/data-display/List/List.js.map +1 -0
  293. package/dist/components/data-display/List/List.module.css.cjs +2 -0
  294. package/dist/components/data-display/List/List.module.css.cjs.map +1 -0
  295. package/dist/components/data-display/List/List.module.css.js +32 -0
  296. package/dist/components/data-display/List/List.module.css.js.map +1 -0
  297. package/dist/components/data-display/List/ListingOptions.cjs +2 -0
  298. package/dist/components/data-display/List/ListingOptions.cjs.map +1 -0
  299. package/dist/components/data-display/List/ListingOptions.js +115 -0
  300. package/dist/components/data-display/List/ListingOptions.js.map +1 -0
  301. package/dist/components/data-display/List/useListing.cjs +2 -0
  302. package/dist/components/data-display/List/useListing.cjs.map +1 -0
  303. package/dist/components/data-display/List/useListing.js +85 -0
  304. package/dist/components/data-display/List/useListing.js.map +1 -0
  305. package/dist/components/data-display/List/useVirtualWindow.cjs +2 -0
  306. package/dist/components/data-display/List/useVirtualWindow.cjs.map +1 -0
  307. package/dist/components/data-display/List/useVirtualWindow.js +58 -0
  308. package/dist/components/data-display/List/useVirtualWindow.js.map +1 -0
  309. package/dist/components/data-display/SortableList/SortableList.cjs +2 -0
  310. package/dist/components/data-display/SortableList/SortableList.cjs.map +1 -0
  311. package/dist/components/data-display/SortableList/SortableList.js +168 -0
  312. package/dist/components/data-display/SortableList/SortableList.js.map +1 -0
  313. package/dist/components/data-display/SortableList/SortableList.module.css.cjs +2 -0
  314. package/dist/components/data-display/SortableList/SortableList.module.css.cjs.map +1 -0
  315. package/dist/components/data-display/SortableList/SortableList.module.css.js +34 -0
  316. package/dist/components/data-display/SortableList/SortableList.module.css.js.map +1 -0
  317. package/dist/components/data-display/Table/Table.cjs +2 -0
  318. package/dist/components/data-display/Table/Table.cjs.map +1 -0
  319. package/dist/components/data-display/Table/Table.js +239 -0
  320. package/dist/components/data-display/Table/Table.js.map +1 -0
  321. package/dist/components/data-display/Table/Table.module.css.cjs +2 -0
  322. package/dist/components/data-display/Table/Table.module.css.cjs.map +1 -0
  323. package/dist/components/data-display/Table/Table.module.css.js +68 -0
  324. package/dist/components/data-display/Table/Table.module.css.js.map +1 -0
  325. package/dist/components/data-display/Tag/Tag.cjs +2 -0
  326. package/dist/components/data-display/Tag/Tag.cjs.map +1 -0
  327. package/dist/components/data-display/Tag/Tag.js +50 -0
  328. package/dist/components/data-display/Tag/Tag.js.map +1 -0
  329. package/dist/components/data-display/Tag/Tag.module.css.cjs +2 -0
  330. package/dist/components/data-display/Tag/Tag.module.css.cjs.map +1 -0
  331. package/dist/components/data-display/Tag/Tag.module.css.js +22 -0
  332. package/dist/components/data-display/Tag/Tag.module.css.js.map +1 -0
  333. package/dist/components/data-display/Timeline/Timeline.cjs +2 -0
  334. package/dist/components/data-display/Timeline/Timeline.cjs.map +1 -0
  335. package/dist/components/data-display/Timeline/Timeline.js +31 -0
  336. package/dist/components/data-display/Timeline/Timeline.js.map +1 -0
  337. package/dist/components/data-display/Timeline/Timeline.module.css.cjs +2 -0
  338. package/dist/components/data-display/Timeline/Timeline.module.css.cjs.map +1 -0
  339. package/dist/components/data-display/Timeline/Timeline.module.css.js +30 -0
  340. package/dist/components/data-display/Timeline/Timeline.module.css.js.map +1 -0
  341. package/dist/components/feedback/Alert/Alert.cjs +2 -0
  342. package/dist/components/feedback/Alert/Alert.cjs.map +1 -0
  343. package/dist/components/feedback/Alert/Alert.js +13 -0
  344. package/dist/components/feedback/Alert/Alert.js.map +1 -0
  345. package/dist/components/feedback/Alert/Alert.module.css.cjs +2 -0
  346. package/dist/components/feedback/Alert/Alert.module.css.cjs.map +1 -0
  347. package/dist/components/feedback/Alert/Alert.module.css.js +20 -0
  348. package/dist/components/feedback/Alert/Alert.module.css.js.map +1 -0
  349. package/dist/components/feedback/EmptyState/EmptyState.cjs +2 -0
  350. package/dist/components/feedback/EmptyState/EmptyState.cjs.map +1 -0
  351. package/dist/components/feedback/EmptyState/EmptyState.js +49 -0
  352. package/dist/components/feedback/EmptyState/EmptyState.js.map +1 -0
  353. package/dist/components/feedback/EmptyState/EmptyState.module.css.cjs +2 -0
  354. package/dist/components/feedback/EmptyState/EmptyState.module.css.cjs.map +1 -0
  355. package/dist/components/feedback/EmptyState/EmptyState.module.css.js +36 -0
  356. package/dist/components/feedback/EmptyState/EmptyState.module.css.js.map +1 -0
  357. package/dist/components/feedback/Progress/Progress.cjs +2 -0
  358. package/dist/components/feedback/Progress/Progress.cjs.map +1 -0
  359. package/dist/components/feedback/Progress/Progress.js +34 -0
  360. package/dist/components/feedback/Progress/Progress.js.map +1 -0
  361. package/dist/components/feedback/Progress/Progress.module.css.cjs +2 -0
  362. package/dist/components/feedback/Progress/Progress.module.css.cjs.map +1 -0
  363. package/dist/components/feedback/Progress/Progress.module.css.js +21 -0
  364. package/dist/components/feedback/Progress/Progress.module.css.js.map +1 -0
  365. package/dist/components/feedback/Skeleton/Skeleton.cjs +2 -0
  366. package/dist/components/feedback/Skeleton/Skeleton.cjs.map +1 -0
  367. package/dist/components/feedback/Skeleton/Skeleton.js +17 -0
  368. package/dist/components/feedback/Skeleton/Skeleton.js.map +1 -0
  369. package/dist/components/feedback/Skeleton/Skeleton.module.css.cjs +2 -0
  370. package/dist/components/feedback/Skeleton/Skeleton.module.css.cjs.map +1 -0
  371. package/dist/components/feedback/Skeleton/Skeleton.module.css.js +15 -0
  372. package/dist/components/feedback/Skeleton/Skeleton.module.css.js.map +1 -0
  373. package/dist/components/feedback/Spinner/Spinner.cjs +2 -0
  374. package/dist/components/feedback/Spinner/Spinner.cjs.map +1 -0
  375. package/dist/components/feedback/Spinner/Spinner.js +10 -0
  376. package/dist/components/feedback/Spinner/Spinner.js.map +1 -0
  377. package/dist/components/feedback/Spinner/Spinner.module.css.cjs +2 -0
  378. package/dist/components/feedback/Spinner/Spinner.module.css.cjs.map +1 -0
  379. package/dist/components/feedback/Spinner/Spinner.module.css.js +15 -0
  380. package/dist/components/feedback/Spinner/Spinner.module.css.js.map +1 -0
  381. package/dist/components/feedback/Toast/Toast.module.css.cjs +2 -0
  382. package/dist/components/feedback/Toast/Toast.module.css.cjs.map +1 -0
  383. package/dist/components/feedback/Toast/Toast.module.css.js +31 -0
  384. package/dist/components/feedback/Toast/Toast.module.css.js.map +1 -0
  385. package/dist/components/feedback/Toast/ToastRegion.cjs +2 -0
  386. package/dist/components/feedback/Toast/ToastRegion.cjs.map +1 -0
  387. package/dist/components/feedback/Toast/ToastRegion.js +62 -0
  388. package/dist/components/feedback/Toast/ToastRegion.js.map +1 -0
  389. package/dist/components/feedback/Toast/toastStore.cjs +2 -0
  390. package/dist/components/feedback/Toast/toastStore.cjs.map +1 -0
  391. package/dist/components/feedback/Toast/toastStore.js +33 -0
  392. package/dist/components/feedback/Toast/toastStore.js.map +1 -0
  393. package/dist/components/forms/Checkbox/Checkbox.cjs +2 -0
  394. package/dist/components/forms/Checkbox/Checkbox.cjs.map +1 -0
  395. package/dist/components/forms/Checkbox/Checkbox.js +57 -0
  396. package/dist/components/forms/Checkbox/Checkbox.js.map +1 -0
  397. package/dist/components/forms/Checkbox/Checkbox.module.css.cjs +2 -0
  398. package/dist/components/forms/Checkbox/Checkbox.module.css.cjs.map +1 -0
  399. package/dist/components/forms/Checkbox/Checkbox.module.css.js +20 -0
  400. package/dist/components/forms/Checkbox/Checkbox.module.css.js.map +1 -0
  401. package/dist/components/forms/CheckboxGroup/CheckboxGroup.cjs +2 -0
  402. package/dist/components/forms/CheckboxGroup/CheckboxGroup.cjs.map +1 -0
  403. package/dist/components/forms/CheckboxGroup/CheckboxGroup.js +54 -0
  404. package/dist/components/forms/CheckboxGroup/CheckboxGroup.js.map +1 -0
  405. package/dist/components/forms/CheckboxGroup/CheckboxGroup.module.css.cjs +2 -0
  406. package/dist/components/forms/CheckboxGroup/CheckboxGroup.module.css.cjs.map +1 -0
  407. package/dist/components/forms/CheckboxGroup/CheckboxGroup.module.css.js +22 -0
  408. package/dist/components/forms/CheckboxGroup/CheckboxGroup.module.css.js.map +1 -0
  409. package/dist/components/forms/ColorPicker/ColorPicker.cjs +2 -0
  410. package/dist/components/forms/ColorPicker/ColorPicker.cjs.map +1 -0
  411. package/dist/components/forms/ColorPicker/ColorPicker.js +57 -0
  412. package/dist/components/forms/ColorPicker/ColorPicker.js.map +1 -0
  413. package/dist/components/forms/ColorPicker/ColorPicker.module.css.cjs +2 -0
  414. package/dist/components/forms/ColorPicker/ColorPicker.module.css.cjs.map +1 -0
  415. package/dist/components/forms/ColorPicker/ColorPicker.module.css.js +22 -0
  416. package/dist/components/forms/ColorPicker/ColorPicker.module.css.js.map +1 -0
  417. package/dist/components/forms/ComboBox/ComboBox.cjs +3 -0
  418. package/dist/components/forms/ComboBox/ComboBox.cjs.map +1 -0
  419. package/dist/components/forms/ComboBox/ComboBox.js +223 -0
  420. package/dist/components/forms/ComboBox/ComboBox.js.map +1 -0
  421. package/dist/components/forms/ComboBox/ComboBox.module.css.cjs +2 -0
  422. package/dist/components/forms/ComboBox/ComboBox.module.css.cjs.map +1 -0
  423. package/dist/components/forms/ComboBox/ComboBox.module.css.js +28 -0
  424. package/dist/components/forms/ComboBox/ComboBox.module.css.js.map +1 -0
  425. package/dist/components/forms/DatePicker/Calendar.cjs +2 -0
  426. package/dist/components/forms/DatePicker/Calendar.cjs.map +1 -0
  427. package/dist/components/forms/DatePicker/Calendar.js +86 -0
  428. package/dist/components/forms/DatePicker/Calendar.js.map +1 -0
  429. package/dist/components/forms/DatePicker/DatePicker.cjs +2 -0
  430. package/dist/components/forms/DatePicker/DatePicker.cjs.map +1 -0
  431. package/dist/components/forms/DatePicker/DatePicker.js +217 -0
  432. package/dist/components/forms/DatePicker/DatePicker.js.map +1 -0
  433. package/dist/components/forms/DatePicker/DatePicker.module.css.cjs +2 -0
  434. package/dist/components/forms/DatePicker/DatePicker.module.css.cjs.map +1 -0
  435. package/dist/components/forms/DatePicker/DatePicker.module.css.js +44 -0
  436. package/dist/components/forms/DatePicker/DatePicker.module.css.js.map +1 -0
  437. package/dist/components/forms/DatePicker/iso.cjs +2 -0
  438. package/dist/components/forms/DatePicker/iso.cjs.map +1 -0
  439. package/dist/components/forms/DatePicker/iso.js +18 -0
  440. package/dist/components/forms/DatePicker/iso.js.map +1 -0
  441. package/dist/components/forms/DateTimePicker/DateTimePicker.cjs +2 -0
  442. package/dist/components/forms/DateTimePicker/DateTimePicker.cjs.map +1 -0
  443. package/dist/components/forms/DateTimePicker/DateTimePicker.js +241 -0
  444. package/dist/components/forms/DateTimePicker/DateTimePicker.js.map +1 -0
  445. package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.cjs +2 -0
  446. package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.cjs.map +1 -0
  447. package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.js +26 -0
  448. package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.js.map +1 -0
  449. package/dist/components/forms/Field/Field.cjs +2 -0
  450. package/dist/components/forms/Field/Field.cjs.map +1 -0
  451. package/dist/components/forms/Field/Field.js +35 -0
  452. package/dist/components/forms/Field/Field.js.map +1 -0
  453. package/dist/components/forms/Field/Field.module.css.cjs +2 -0
  454. package/dist/components/forms/Field/Field.module.css.cjs.map +1 -0
  455. package/dist/components/forms/Field/Field.module.css.js +22 -0
  456. package/dist/components/forms/Field/Field.module.css.js.map +1 -0
  457. package/dist/components/forms/Field/FormValue.cjs +2 -0
  458. package/dist/components/forms/Field/FormValue.cjs.map +1 -0
  459. package/dist/components/forms/Field/FormValue.js +24 -0
  460. package/dist/components/forms/Field/FormValue.js.map +1 -0
  461. package/dist/components/forms/FileUpload/FileUpload.cjs +2 -0
  462. package/dist/components/forms/FileUpload/FileUpload.cjs.map +1 -0
  463. package/dist/components/forms/FileUpload/FileUpload.js +142 -0
  464. package/dist/components/forms/FileUpload/FileUpload.js.map +1 -0
  465. package/dist/components/forms/FileUpload/FileUpload.module.css.cjs +2 -0
  466. package/dist/components/forms/FileUpload/FileUpload.module.css.cjs.map +1 -0
  467. package/dist/components/forms/FileUpload/FileUpload.module.css.js +46 -0
  468. package/dist/components/forms/FileUpload/FileUpload.module.css.js.map +1 -0
  469. package/dist/components/forms/InputCurrency/InputCurrency.cjs +2 -0
  470. package/dist/components/forms/InputCurrency/InputCurrency.cjs.map +1 -0
  471. package/dist/components/forms/InputCurrency/InputCurrency.js +41 -0
  472. package/dist/components/forms/InputCurrency/InputCurrency.js.map +1 -0
  473. package/dist/components/forms/InputNumber/InputNumber.cjs +2 -0
  474. package/dist/components/forms/InputNumber/InputNumber.cjs.map +1 -0
  475. package/dist/components/forms/InputNumber/InputNumber.js +39 -0
  476. package/dist/components/forms/InputNumber/InputNumber.js.map +1 -0
  477. package/dist/components/forms/InputPassword/InputPassword.cjs +2 -0
  478. package/dist/components/forms/InputPassword/InputPassword.cjs.map +1 -0
  479. package/dist/components/forms/InputPassword/InputPassword.js +110 -0
  480. package/dist/components/forms/InputPassword/InputPassword.js.map +1 -0
  481. package/dist/components/forms/InputPassword/InputPassword.module.css.cjs +2 -0
  482. package/dist/components/forms/InputPassword/InputPassword.module.css.cjs.map +1 -0
  483. package/dist/components/forms/InputPassword/InputPassword.module.css.js +18 -0
  484. package/dist/components/forms/InputPassword/InputPassword.module.css.js.map +1 -0
  485. package/dist/components/forms/InputText/InputText.cjs +2 -0
  486. package/dist/components/forms/InputText/InputText.cjs.map +1 -0
  487. package/dist/components/forms/InputText/InputText.js +70 -0
  488. package/dist/components/forms/InputText/InputText.js.map +1 -0
  489. package/dist/components/forms/InputText/InputText.module.css.cjs +2 -0
  490. package/dist/components/forms/InputText/InputText.module.css.cjs.map +1 -0
  491. package/dist/components/forms/InputText/InputText.module.css.js +14 -0
  492. package/dist/components/forms/InputText/InputText.module.css.js.map +1 -0
  493. package/dist/components/forms/Label/Label.cjs +2 -0
  494. package/dist/components/forms/Label/Label.cjs.map +1 -0
  495. package/dist/components/forms/Label/Label.js +13 -0
  496. package/dist/components/forms/Label/Label.js.map +1 -0
  497. package/dist/components/forms/Label/Label.module.css.cjs +2 -0
  498. package/dist/components/forms/Label/Label.module.css.cjs.map +1 -0
  499. package/dist/components/forms/Label/Label.module.css.js +10 -0
  500. package/dist/components/forms/Label/Label.module.css.js.map +1 -0
  501. package/dist/components/forms/RadioGroup/Radio.cjs +2 -0
  502. package/dist/components/forms/RadioGroup/Radio.cjs.map +1 -0
  503. package/dist/components/forms/RadioGroup/Radio.js +43 -0
  504. package/dist/components/forms/RadioGroup/Radio.js.map +1 -0
  505. package/dist/components/forms/RadioGroup/RadioGroup.cjs +2 -0
  506. package/dist/components/forms/RadioGroup/RadioGroup.cjs.map +1 -0
  507. package/dist/components/forms/RadioGroup/RadioGroup.js +58 -0
  508. package/dist/components/forms/RadioGroup/RadioGroup.js.map +1 -0
  509. package/dist/components/forms/RadioGroup/RadioGroup.module.css.cjs +2 -0
  510. package/dist/components/forms/RadioGroup/RadioGroup.module.css.cjs.map +1 -0
  511. package/dist/components/forms/RadioGroup/RadioGroup.module.css.js +26 -0
  512. package/dist/components/forms/RadioGroup/RadioGroup.module.css.js.map +1 -0
  513. package/dist/components/forms/SegmentedControl/SegmentedControl.cjs +2 -0
  514. package/dist/components/forms/SegmentedControl/SegmentedControl.cjs.map +1 -0
  515. package/dist/components/forms/SegmentedControl/SegmentedControl.js +52 -0
  516. package/dist/components/forms/SegmentedControl/SegmentedControl.js.map +1 -0
  517. package/dist/components/forms/SegmentedControl/SegmentedControl.module.css.cjs +2 -0
  518. package/dist/components/forms/SegmentedControl/SegmentedControl.module.css.cjs.map +1 -0
  519. package/dist/components/forms/SegmentedControl/SegmentedControl.module.css.js +22 -0
  520. package/dist/components/forms/SegmentedControl/SegmentedControl.module.css.js.map +1 -0
  521. package/dist/components/forms/Select/Select.cjs +2 -0
  522. package/dist/components/forms/Select/Select.cjs.map +1 -0
  523. package/dist/components/forms/Select/Select.js +191 -0
  524. package/dist/components/forms/Select/Select.js.map +1 -0
  525. package/dist/components/forms/Select/Select.module.css.cjs +2 -0
  526. package/dist/components/forms/Select/Select.module.css.cjs.map +1 -0
  527. package/dist/components/forms/Select/Select.module.css.js +22 -0
  528. package/dist/components/forms/Select/Select.module.css.js.map +1 -0
  529. package/dist/components/forms/Switch/Switch.cjs +2 -0
  530. package/dist/components/forms/Switch/Switch.cjs.map +1 -0
  531. package/dist/components/forms/Switch/Switch.js +39 -0
  532. package/dist/components/forms/Switch/Switch.js.map +1 -0
  533. package/dist/components/forms/Switch/Switch.module.css.cjs +2 -0
  534. package/dist/components/forms/Switch/Switch.module.css.cjs.map +1 -0
  535. package/dist/components/forms/Switch/Switch.module.css.js +20 -0
  536. package/dist/components/forms/Switch/Switch.module.css.js.map +1 -0
  537. package/dist/components/forms/Textarea/Textarea.cjs +2 -0
  538. package/dist/components/forms/Textarea/Textarea.cjs.map +1 -0
  539. package/dist/components/forms/Textarea/Textarea.js +64 -0
  540. package/dist/components/forms/Textarea/Textarea.js.map +1 -0
  541. package/dist/components/forms/Textarea/Textarea.module.css.cjs +2 -0
  542. package/dist/components/forms/Textarea/Textarea.module.css.cjs.map +1 -0
  543. package/dist/components/forms/Textarea/Textarea.module.css.js +14 -0
  544. package/dist/components/forms/Textarea/Textarea.module.css.js.map +1 -0
  545. package/dist/components/forms/TimePicker/TimePicker.cjs +2 -0
  546. package/dist/components/forms/TimePicker/TimePicker.cjs.map +1 -0
  547. package/dist/components/forms/TimePicker/TimePicker.js +176 -0
  548. package/dist/components/forms/TimePicker/TimePicker.js.map +1 -0
  549. package/dist/components/forms/TimePicker/TimePicker.module.css.cjs +2 -0
  550. package/dist/components/forms/TimePicker/TimePicker.module.css.cjs.map +1 -0
  551. package/dist/components/forms/TimePicker/TimePicker.module.css.js +26 -0
  552. package/dist/components/forms/TimePicker/TimePicker.module.css.js.map +1 -0
  553. package/dist/components/forms/TimePicker/TimeSlots.cjs +2 -0
  554. package/dist/components/forms/TimePicker/TimeSlots.cjs.map +1 -0
  555. package/dist/components/forms/TimePicker/TimeSlots.js +81 -0
  556. package/dist/components/forms/TimePicker/TimeSlots.js.map +1 -0
  557. package/dist/components/icons/Icon.cjs +2 -0
  558. package/dist/components/icons/Icon.cjs.map +1 -0
  559. package/dist/components/icons/Icon.js +24 -0
  560. package/dist/components/icons/Icon.js.map +1 -0
  561. package/dist/components/icons/icons.cjs +2 -0
  562. package/dist/components/icons/icons.cjs.map +1 -0
  563. package/dist/components/icons/icons.js +274 -0
  564. package/dist/components/icons/icons.js.map +1 -0
  565. package/dist/components/navigation/Breadcrumb/Breadcrumb.cjs +2 -0
  566. package/dist/components/navigation/Breadcrumb/Breadcrumb.cjs.map +1 -0
  567. package/dist/components/navigation/Breadcrumb/Breadcrumb.js +22 -0
  568. package/dist/components/navigation/Breadcrumb/Breadcrumb.js.map +1 -0
  569. package/dist/components/navigation/Breadcrumb/Breadcrumb.module.css.cjs +2 -0
  570. package/dist/components/navigation/Breadcrumb/Breadcrumb.module.css.cjs.map +1 -0
  571. package/dist/components/navigation/Breadcrumb/Breadcrumb.module.css.js +16 -0
  572. package/dist/components/navigation/Breadcrumb/Breadcrumb.module.css.js.map +1 -0
  573. package/dist/components/navigation/Pagination/Pagination.cjs +2 -0
  574. package/dist/components/navigation/Pagination/Pagination.cjs.map +1 -0
  575. package/dist/components/navigation/Pagination/Pagination.js +70 -0
  576. package/dist/components/navigation/Pagination/Pagination.js.map +1 -0
  577. package/dist/components/navigation/Pagination/Pagination.module.css.cjs +2 -0
  578. package/dist/components/navigation/Pagination/Pagination.module.css.cjs.map +1 -0
  579. package/dist/components/navigation/Pagination/Pagination.module.css.js +18 -0
  580. package/dist/components/navigation/Pagination/Pagination.module.css.js.map +1 -0
  581. package/dist/components/navigation/SkipLink/SkipLink.cjs +2 -0
  582. package/dist/components/navigation/SkipLink/SkipLink.cjs.map +1 -0
  583. package/dist/components/navigation/SkipLink/SkipLink.js +9 -0
  584. package/dist/components/navigation/SkipLink/SkipLink.js.map +1 -0
  585. package/dist/components/navigation/SkipLink/SkipLink.module.css.cjs +2 -0
  586. package/dist/components/navigation/SkipLink/SkipLink.module.css.cjs.map +1 -0
  587. package/dist/components/navigation/SkipLink/SkipLink.module.css.js +8 -0
  588. package/dist/components/navigation/SkipLink/SkipLink.module.css.js.map +1 -0
  589. package/dist/components/navigation/Steps/Steps.cjs +2 -0
  590. package/dist/components/navigation/Steps/Steps.cjs.map +1 -0
  591. package/dist/components/navigation/Steps/Steps.js +30 -0
  592. package/dist/components/navigation/Steps/Steps.js.map +1 -0
  593. package/dist/components/navigation/Steps/Steps.module.css.cjs +2 -0
  594. package/dist/components/navigation/Steps/Steps.module.css.cjs.map +1 -0
  595. package/dist/components/navigation/Steps/Steps.module.css.js +26 -0
  596. package/dist/components/navigation/Steps/Steps.module.css.js.map +1 -0
  597. package/dist/components/navigation/Tabs/Tabs.cjs +2 -0
  598. package/dist/components/navigation/Tabs/Tabs.cjs.map +1 -0
  599. package/dist/components/navigation/Tabs/Tabs.js +105 -0
  600. package/dist/components/navigation/Tabs/Tabs.js.map +1 -0
  601. package/dist/components/navigation/Tabs/Tabs.module.css.cjs +2 -0
  602. package/dist/components/navigation/Tabs/Tabs.module.css.cjs.map +1 -0
  603. package/dist/components/navigation/Tabs/Tabs.module.css.js +24 -0
  604. package/dist/components/navigation/Tabs/Tabs.module.css.js.map +1 -0
  605. package/dist/components/overlays/Dialog/Dialog.cjs +2 -0
  606. package/dist/components/overlays/Dialog/Dialog.cjs.map +1 -0
  607. package/dist/components/overlays/Dialog/Dialog.js +17 -0
  608. package/dist/components/overlays/Dialog/Dialog.js.map +1 -0
  609. package/dist/components/overlays/Dialog/Dialog.module.css.cjs +2 -0
  610. package/dist/components/overlays/Dialog/Dialog.module.css.cjs.map +1 -0
  611. package/dist/components/overlays/Dialog/Dialog.module.css.js +36 -0
  612. package/dist/components/overlays/Dialog/Dialog.module.css.js.map +1 -0
  613. package/dist/components/overlays/Dialog/DialogFrame.cjs +2 -0
  614. package/dist/components/overlays/Dialog/DialogFrame.cjs.map +1 -0
  615. package/dist/components/overlays/Dialog/DialogFrame.js +65 -0
  616. package/dist/components/overlays/Dialog/DialogFrame.js.map +1 -0
  617. package/dist/components/overlays/Drawer/Drawer.cjs +2 -0
  618. package/dist/components/overlays/Drawer/Drawer.cjs.map +1 -0
  619. package/dist/components/overlays/Drawer/Drawer.js +17 -0
  620. package/dist/components/overlays/Drawer/Drawer.js.map +1 -0
  621. package/dist/components/overlays/Drawer/Drawer.module.css.cjs +2 -0
  622. package/dist/components/overlays/Drawer/Drawer.module.css.cjs.map +1 -0
  623. package/dist/components/overlays/Drawer/Drawer.module.css.js +23 -0
  624. package/dist/components/overlays/Drawer/Drawer.module.css.js.map +1 -0
  625. package/dist/components/overlays/Menu/Menu.cjs +2 -0
  626. package/dist/components/overlays/Menu/Menu.cjs.map +1 -0
  627. package/dist/components/overlays/Menu/Menu.js +156 -0
  628. package/dist/components/overlays/Menu/Menu.js.map +1 -0
  629. package/dist/components/overlays/Menu/Menu.module.css.cjs +2 -0
  630. package/dist/components/overlays/Menu/Menu.module.css.cjs.map +1 -0
  631. package/dist/components/overlays/Menu/Menu.module.css.js +28 -0
  632. package/dist/components/overlays/Menu/Menu.module.css.js.map +1 -0
  633. package/dist/components/overlays/Popover/Popover.cjs +2 -0
  634. package/dist/components/overlays/Popover/Popover.cjs.map +1 -0
  635. package/dist/components/overlays/Popover/Popover.js +59 -0
  636. package/dist/components/overlays/Popover/Popover.js.map +1 -0
  637. package/dist/components/overlays/Popover/Popover.module.css.cjs +2 -0
  638. package/dist/components/overlays/Popover/Popover.module.css.cjs.map +1 -0
  639. package/dist/components/overlays/Popover/Popover.module.css.js +8 -0
  640. package/dist/components/overlays/Popover/Popover.module.css.js.map +1 -0
  641. package/dist/components/overlays/Tooltip/Tooltip.cjs +2 -0
  642. package/dist/components/overlays/Tooltip/Tooltip.cjs.map +1 -0
  643. package/dist/components/overlays/Tooltip/Tooltip.js +84 -0
  644. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -0
  645. package/dist/components/overlays/Tooltip/Tooltip.module.css.cjs +2 -0
  646. package/dist/components/overlays/Tooltip/Tooltip.module.css.cjs.map +1 -0
  647. package/dist/components/overlays/Tooltip/Tooltip.module.css.js +8 -0
  648. package/dist/components/overlays/Tooltip/Tooltip.module.css.js.map +1 -0
  649. package/dist/design-system.css +1 -1
  650. package/dist/hooks/useCalendar/calendar.cjs +2 -0
  651. package/dist/hooks/useCalendar/calendar.cjs.map +1 -0
  652. package/dist/hooks/useCalendar/calendar.js +56 -0
  653. package/dist/hooks/useCalendar/calendar.js.map +1 -0
  654. package/dist/hooks/useCalendar/useCalendar.cjs +2 -0
  655. package/dist/hooks/useCalendar/useCalendar.cjs.map +1 -0
  656. package/dist/hooks/useCalendar/useCalendar.js +48 -0
  657. package/dist/hooks/useCalendar/useCalendar.js.map +1 -0
  658. package/dist/hooks/useCharacterCount/useCharacterCount.cjs +2 -0
  659. package/dist/hooks/useCharacterCount/useCharacterCount.cjs.map +1 -0
  660. package/dist/hooks/useCharacterCount/useCharacterCount.js +27 -0
  661. package/dist/hooks/useCharacterCount/useCharacterCount.js.map +1 -0
  662. package/dist/hooks/useDecimalInput.cjs +2 -0
  663. package/dist/hooks/useDecimalInput.cjs.map +1 -0
  664. package/dist/hooks/useDecimalInput.js +17 -0
  665. package/dist/hooks/useDecimalInput.js.map +1 -0
  666. package/dist/hooks/useFormReset.cjs +2 -0
  667. package/dist/hooks/useFormReset.cjs.map +1 -0
  668. package/dist/hooks/useFormReset.js +16 -0
  669. package/dist/hooks/useFormReset.js.map +1 -0
  670. package/dist/hooks/useMergedRefs.cjs +2 -0
  671. package/dist/hooks/useMergedRefs.cjs.map +1 -0
  672. package/dist/hooks/useMergedRefs.js +24 -0
  673. package/dist/hooks/useMergedRefs.js.map +1 -0
  674. package/dist/hooks/useSelection/selection.cjs +2 -0
  675. package/dist/hooks/useSelection/selection.cjs.map +1 -0
  676. package/dist/hooks/useSelection/selection.js +78 -0
  677. package/dist/hooks/useSelection/selection.js.map +1 -0
  678. package/dist/hooks/useSelection/useSelection.cjs +2 -0
  679. package/dist/hooks/useSelection/useSelection.cjs.map +1 -0
  680. package/dist/hooks/useSelection/useSelection.js +68 -0
  681. package/dist/hooks/useSelection/useSelection.js.map +1 -0
  682. package/dist/index.cjs +2 -0
  683. package/dist/index.cjs.map +1 -0
  684. package/dist/index.js +193 -0
  685. package/dist/index.js.map +1 -0
  686. package/dist/types/components/actions/ButtonIcon/ButtonIcon.d.ts +12 -0
  687. package/dist/types/components/actions/ButtonIcon/index.d.ts +2 -0
  688. package/dist/types/components/actions/ButtonTile/ButtonTile.d.ts +14 -0
  689. package/dist/types/components/actions/ButtonTile/index.d.ts +2 -0
  690. package/dist/types/components/actions/Toolbar/Toolbar.d.ts +27 -0
  691. package/dist/types/components/actions/Toolbar/index.d.ts +2 -0
  692. package/dist/types/components/charts/ChartArea/ChartArea.d.ts +15 -4
  693. package/dist/types/components/charts/ChartBar/ChartBar.d.ts +11 -4
  694. package/dist/types/components/charts/ChartCombo/ChartCombo.d.ts +16 -4
  695. package/dist/types/components/charts/ChartDonut/ChartDonut.d.ts +5 -1
  696. package/dist/types/components/charts/ChartLine/ChartLine.d.ts +15 -4
  697. package/dist/types/components/charts/ChartPie/ChartPie.d.ts +5 -1
  698. package/dist/types/components/charts/ChartRadial/ChartRadial.d.ts +5 -1
  699. package/dist/types/components/charts/ChartSankey/ChartSankey.d.ts +5 -1
  700. package/dist/types/components/charts/ChartScatter/ChartScatter.d.ts +7 -1
  701. package/dist/types/components/charts/ChartSunburst/ChartSunburst.d.ts +11 -2
  702. package/dist/types/components/charts/ChartTooltip/ChartTooltip.d.ts +2 -0
  703. package/dist/types/components/charts/ChartTreemap/ChartTreemap.d.ts +11 -2
  704. package/dist/types/components/charts/ChartWaterfall/ChartWaterfall.d.ts +8 -3
  705. package/dist/types/components/charts/core/CartesianFrame.d.ts +6 -1
  706. package/dist/types/components/charts/core/ChartFrame.d.ts +7 -1
  707. package/dist/types/components/charts/core/PointBands.d.ts +22 -0
  708. package/dist/types/components/charts/core/cartesianLayout.d.ts +10 -4
  709. package/dist/types/components/charts/core/hoverPath.d.ts +10 -0
  710. package/dist/types/components/charts/core/index.d.ts +13 -3
  711. package/dist/types/components/charts/core/pointLabels.d.ts +13 -0
  712. package/dist/types/components/charts/core/tooltips.d.ts +49 -0
  713. package/dist/types/components/charts/core/useCartesianLayout.d.ts +20 -0
  714. package/dist/types/components/charts/core/useSeriesToggle.d.ts +15 -1
  715. package/dist/types/components/data-display/Accordion/Accordion.d.ts +6 -1
  716. package/dist/types/components/data-display/Accordion/index.d.ts +1 -1
  717. package/dist/types/components/data-display/CodeBlock/CodeBlock.d.ts +16 -0
  718. package/dist/types/components/data-display/CodeBlock/index.d.ts +3 -0
  719. package/dist/types/components/data-display/CodeBlock/syntax.d.ts +15 -0
  720. package/dist/types/components/data-display/SortableList/SortableList.d.ts +22 -0
  721. package/dist/types/components/data-display/SortableList/index.d.ts +2 -0
  722. package/dist/types/components/data-display/Table/Table.d.ts +4 -2
  723. package/dist/types/components/data-display/Tag/Tag.d.ts +13 -0
  724. package/dist/types/components/data-display/Tag/index.d.ts +2 -0
  725. package/dist/types/components/data-display/Timeline/Timeline.d.ts +15 -0
  726. package/dist/types/components/data-display/Timeline/index.d.ts +2 -0
  727. package/dist/types/components/feedback/EmptyState/EmptyState.d.ts +14 -0
  728. package/dist/types/components/feedback/EmptyState/index.d.ts +2 -0
  729. package/dist/types/components/feedback/Skeleton/Skeleton.d.ts +13 -0
  730. package/dist/types/components/feedback/Skeleton/index.d.ts +2 -0
  731. package/dist/types/components/feedback/Toast/ToastRegion.d.ts +2 -0
  732. package/dist/types/components/feedback/Toast/index.d.ts +3 -0
  733. package/dist/types/components/feedback/Toast/toastStore.d.ts +24 -0
  734. package/dist/types/components/forms/CheckboxGroup/CheckboxGroup.d.ts +28 -0
  735. package/dist/types/components/forms/CheckboxGroup/index.d.ts +2 -0
  736. package/dist/types/components/forms/ColorPicker/ColorPicker.d.ts +26 -0
  737. package/dist/types/components/forms/ColorPicker/index.d.ts +2 -0
  738. package/dist/types/components/forms/Field/Field.d.ts +6 -2
  739. package/dist/types/components/forms/Field/index.d.ts +1 -1
  740. package/dist/types/components/forms/FileUpload/FileUpload.d.ts +37 -0
  741. package/dist/types/components/forms/FileUpload/index.d.ts +2 -0
  742. package/dist/types/components/forms/InputText/InputText.d.ts +4 -2
  743. package/dist/types/components/forms/SegmentedControl/SegmentedControl.d.ts +23 -0
  744. package/dist/types/components/forms/SegmentedControl/index.d.ts +2 -0
  745. package/dist/types/components/icons/icons.d.ts +31 -0
  746. package/dist/types/components/icons/index.d.ts +1 -1
  747. package/dist/types/components/navigation/SkipLink/SkipLink.d.ts +7 -0
  748. package/dist/types/components/navigation/SkipLink/index.d.ts +2 -0
  749. package/dist/types/components/navigation/Steps/Steps.d.ts +16 -0
  750. package/dist/types/components/navigation/Steps/index.d.ts +2 -0
  751. package/dist/types/components/navigation/Tabs/Tabs.d.ts +5 -1
  752. package/dist/types/components/overlays/Dialog/Dialog.d.ts +4 -2
  753. package/dist/types/components/overlays/Dialog/DialogFrame.d.ts +7 -0
  754. package/dist/types/components/overlays/Drawer/Drawer.d.ts +9 -0
  755. package/dist/types/components/overlays/Drawer/index.d.ts +2 -0
  756. package/dist/types/components/overlays/Menu/Menu.d.ts +16 -2
  757. package/dist/types/components/overlays/Menu/index.d.ts +1 -1
  758. package/dist/types/index.d.ts +41 -7
  759. package/dist/types/utils/formatters/formatarNumero.d.ts +6 -1
  760. package/dist/types/utils/formatters/formatarTamanhoDeArquivo.d.ts +7 -0
  761. package/dist/types/utils/formatters/index.d.ts +3 -1
  762. package/dist/utils/formatters/formatarData.cjs +2 -0
  763. package/dist/utils/formatters/formatarData.cjs.map +1 -0
  764. package/dist/utils/formatters/formatarData.js +32 -0
  765. package/dist/utils/formatters/formatarData.js.map +1 -0
  766. package/dist/utils/formatters/formatarEntradaData.cjs +2 -0
  767. package/dist/utils/formatters/formatarEntradaData.cjs.map +1 -0
  768. package/dist/utils/formatters/formatarEntradaData.js +22 -0
  769. package/dist/utils/formatters/formatarEntradaData.js.map +1 -0
  770. package/dist/utils/formatters/formatarEntradaDecimal.cjs +2 -0
  771. package/dist/utils/formatters/formatarEntradaDecimal.cjs.map +1 -0
  772. package/dist/utils/formatters/formatarEntradaDecimal.js +35 -0
  773. package/dist/utils/formatters/formatarEntradaDecimal.js.map +1 -0
  774. package/dist/utils/formatters/formatarEntradaHora.cjs +2 -0
  775. package/dist/utils/formatters/formatarEntradaHora.cjs.map +1 -0
  776. package/dist/utils/formatters/formatarEntradaHora.js +32 -0
  777. package/dist/utils/formatters/formatarEntradaHora.js.map +1 -0
  778. package/dist/utils/formatters/formatarEntradaMonetaria.cjs +2 -0
  779. package/dist/utils/formatters/formatarEntradaMonetaria.cjs.map +1 -0
  780. package/dist/utils/formatters/formatarEntradaMonetaria.js +17 -0
  781. package/dist/utils/formatters/formatarEntradaMonetaria.js.map +1 -0
  782. package/dist/utils/formatters/formatarNumero.cjs +2 -0
  783. package/dist/utils/formatters/formatarNumero.cjs.map +1 -0
  784. package/dist/utils/formatters/formatarNumero.js +53 -0
  785. package/dist/utils/formatters/formatarNumero.js.map +1 -0
  786. package/dist/utils/formatters/formatarTamanhoDeArquivo.cjs +2 -0
  787. package/dist/utils/formatters/formatarTamanhoDeArquivo.cjs.map +1 -0
  788. package/dist/utils/formatters/formatarTamanhoDeArquivo.js +17 -0
  789. package/dist/utils/formatters/formatarTamanhoDeArquivo.js.map +1 -0
  790. package/dist/utils/formatters/mascararPartes.cjs +2 -0
  791. package/dist/utils/formatters/mascararPartes.cjs.map +1 -0
  792. package/dist/utils/formatters/mascararPartes.js +17 -0
  793. package/dist/utils/formatters/mascararPartes.js.map +1 -0
  794. package/dist/utils/textSearch/textSearch.cjs +2 -0
  795. package/dist/utils/textSearch/textSearch.cjs.map +1 -0
  796. package/dist/utils/textSearch/textSearch.js +22 -0
  797. package/dist/utils/textSearch/textSearch.js.map +1 -0
  798. package/package.json +5 -5
  799. package/dist/plenus-design-system.cjs +0 -3
  800. package/dist/plenus-design-system.cjs.map +0 -1
  801. package/dist/plenus-design-system.es.js +0 -6387
  802. package/dist/plenus-design-system.es.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChartBar.js","sources":["../../../../src/components/charts/ChartBar/ChartBar.tsx"],"sourcesContent":["import { useMemo, useState } from 'react';\nimport {\n BandCursor,\n categoryTooltip,\n markShown,\n CartesianFrame,\n NO_BAR_SLOT,\n barSlots,\n seriesInScale,\n useCartesianLayout,\n chartHeight,\n roundedBarPath,\n useChartMetrics,\n useHoveredBand,\n useSeriesToggle,\n useTweenedNumbers,\n valueLabelRoom,\n valueLabelsFor,\n type AxisLabelAngle,\n type AxisTick,\n type AxisVisibility,\n type ChartHeight,\n type ChartLegendAlign,\n type ChartLegendPosition,\n type MarkVisibility,\n type CornerRadii,\n} from '../core';\nimport { resolveSeriesColors, type SeriesAppearance } from '../palette';\nimport { bandScale, domainOf, linearScale, mergeDomains, stackDiverging, ticksFor } from '../scales';\nimport { formatarNumero } from '../../../utils/formatters';\nimport styles from './ChartBar.module.css';\n\nexport type ChartBarOrientation = 'vertical' | 'horizontal';\n\nexport interface ChartBarSeries extends SeriesAppearance {\n label: string;\n values: readonly number[];\n}\n\nexport interface ChartBarProps {\n accent?: string;\n categories: readonly string[];\n defaultHiddenSeries?: readonly string[];\n emptyMessage?: string;\n /** Formato dos valores no balao. Sem ele, vale o `formatValue`: o eixo pode sair compacto e o balao, exato. */\n formatTooltipValue?: (value: number) => string;\n formatValue?: (value: number) => string;\n height?: ChartHeight;\n hiddenSeries?: readonly string[];\n labelAngle?: AxisLabelAngle;\n legend?: ChartLegendPosition;\n legendAlign?: ChartLegendAlign;\n onHiddenSeriesChange?: (hidden: readonly string[]) => void;\n /** Indice da categoria sob o ponteiro, ou `null` ao sair dela. */\n onHoverCategory?: (index: number | null) => void;\n orientation?: ChartBarOrientation;\n series: readonly ChartBarSeries[];\n /**\n * Valor alem da ponta de cada barra; empilhada, o total da categoria alem da ponta da pilha. Em `onHover`,\n * so os da serie da barra sob o ponteiro, ou o total da pilha sob ele.\n */\n showDataLabels?: MarkVisibility;\n /** Balao com o detalhe do que esta sob o ponteiro. Desligue para montar o proprio `ChartTooltip` pela costura. */\n showTooltip?: boolean;\n stacked?: boolean;\n title: string;\n xAxis?: AxisVisibility;\n yAxis?: AxisVisibility;\n yAxisRight?: AxisVisibility;\n}\n\nexport function ChartBar({\n accent,\n categories,\n defaultHiddenSeries,\n emptyMessage = 'Sem dados no período',\n formatTooltipValue,\n formatValue = formatarNumero,\n height = 260,\n hiddenSeries,\n labelAngle = 'auto',\n legend = 'bottom',\n legendAlign,\n onHiddenSeriesChange,\n onHoverCategory,\n orientation = 'vertical',\n series,\n showDataLabels = 'hidden',\n showTooltip = true,\n stacked = false,\n title,\n xAxis = 'visible',\n yAxis = 'visible',\n yAxisRight = 'hidden',\n}: ChartBarProps) {\n const { font, height: alturaMedida, radius: raioDoCanto, ref, width } = useChartMetrics();\n const { fillHeight, value: alturaDoDesenho } = chartHeight(height, alturaMedida);\n const { isHidden, isOutOfScale, toggle } = useSeriesToggle({\n defaultHiddenSeries,\n hiddenSeries,\n labels: series.map((serie) => serie.label),\n onHiddenSeriesChange,\n });\n const { hover: focarFaixa, hovered: faixaEmFoco } = useHoveredBand(onHoverCategory);\n const [serieEmFoco, setSerieEmFoco] = useState<number | null>(null);\n const vertical = orientation === 'vertical';\n\n // A cor sai da lista inteira, e nao das visiveis: desligar uma serie nao pode\n // repintar as demais.\n const cores = useMemo(() => resolveSeriesColors(series, { accent }), [accent, series]);\n\n // Presenca de cada serie, entre zero e um. E ela que reparte a faixa, entao a\n // serie desligada encolhe enquanto as demais ocupam o lugar dela.\n const presencas = useTweenedNumbers(series.map((serie) => (isHidden(serie.label) ? 0 : 1)));\n const presenca = (indice: number) => presencas[indice] ?? 0;\n\n const dominio = useMemo(() => {\n const naEscala = seriesInScale(series, isOutOfScale);\n\n if (stacked) {\n return domainOf(\n categories.flatMap((_, indice) => stackDiverging(naEscala.map((serie) => serie.values[indice] ?? 0)).flat()),\n );\n }\n\n return mergeDomains(naEscala.map((serie) => domainOf([...serie.values])));\n }, [categories, isOutOfScale, series, stacked]);\n\n // Barras horizontais consomem a largura: a legenda ao lado espremeria o desenho.\n const posicaoDaLegenda = !vertical && (legend === 'left' || legend === 'right') ? 'bottom' : legend;\n\n const rotulosDeValor = valueLabelsFor(dominio, vertical ? alturaDoDesenho : width, formatValue);\n\n const { axisReveal, margins, plot, rotation } = useCartesianLayout({\n bottomLabels: vertical ? categories : rotulosDeValor,\n font,\n height: alturaDoDesenho,\n labelAngle,\n leftLabels: vertical ? rotulosDeValor : categories,\n rightLabels: vertical ? rotulosDeValor : categories,\n topRoom: showDataLabels !== 'hidden' && vertical ? valueLabelRoom(font) : 0,\n width,\n xAxis,\n yAxis,\n yAxisRight,\n });\n\n const comprimentoCategorias = vertical ? plot.width : plot.height;\n const comprimentoValores = vertical ? plot.height : plot.width;\n const inicioDaFaixa = vertical ? comprimentoValores : 0;\n const fimDaFaixa = vertical ? 0 : comprimentoValores;\n\n const escalaCategorias = useMemo(\n () => bandScale({ domain: categories, range: [0, comprimentoCategorias] }),\n [categories, comprimentoCategorias],\n );\n\n // A escala alvo fixa as marcas; a animada posiciona o desenho. Sem separar as\n // duas, as marcas exibiriam valores quebrados durante a transicao.\n const escalaAlvo = useMemo(\n () => linearScale({ domain: dominio, range: [inicioDaFaixa, fimDaFaixa] }),\n [dominio, fimDaFaixa, inicioDaFaixa],\n );\n\n const [minimo, maximo] = useTweenedNumbers(escalaAlvo.domain());\n\n const escalaValores = useMemo(\n () =>\n linearScale({\n domain: { min: minimo, max: maximo },\n nice: false,\n range: [inicioDaFaixa, fimDaFaixa],\n }),\n [fimDaFaixa, inicioDaFaixa, maximo, minimo],\n );\n\n const marcasDeValor = ticksFor(escalaAlvo, comprimentoValores);\n\n const vao = escalaCategorias.bandwidth();\n const faixas = barSlots(vao, presencas);\n\n // Empilhada, a serie ocupa a faixa inteira: quem reparte e a pilha, nao a faixa.\n function faixaDa(indiceSerie: number) {\n return faixas[indiceSerie] ?? NO_BAR_SLOT;\n }\n\n function espessuraDa(indiceSerie: number) {\n return stacked ? vao : faixaDa(indiceSerie).thickness;\n }\n\n function deslocamentoDa(indiceSerie: number) {\n return stacked ? 0 : faixaDa(indiceSerie).offset;\n }\n\n /** Valor que a serie empilha, ja pesado pela presenca, para a pilha encolher junto; invalido conta zero. */\n function contribuicao(indiceSerie: number, indiceCategoria: number) {\n const valor = series[indiceSerie].values[indiceCategoria];\n const real = Number.isFinite(valor) ? (valor as number) : 0;\n\n return real * (stacked ? presenca(indiceSerie) : 1);\n }\n\n const pilhas = categories.map((_, indiceCategoria) =>\n stacked ? stackDiverging(series.map((_, indiceSerie) => contribuicao(indiceSerie, indiceCategoria))) : [],\n );\n\n function segmentoDa(indiceSerie: number, indiceCategoria: number): [number, number] {\n return pilhas[indiceCategoria][indiceSerie] ?? [0, contribuicao(indiceSerie, indiceCategoria)];\n }\n\n /**\n * Cantos de um segmento. Empilhado, so as pontas de cada pilha, a de cima do zero e a de baixo,\n * sao arredondadas e o meio fica reto, para os segmentos lerem como uma barra so.\n */\n function cantosDa(indiceSerie: number, indiceCategoria: number): CornerRadii {\n const [inicio, fim] = segmentoDa(indiceSerie, indiceCategoria);\n\n if (!stacked) {\n return [raioDoCanto, raioDoCanto, raioDoCanto, raioDoCanto];\n }\n\n const pilha = pilhas[indiceCategoria];\n const extremo = fim < inicio ? Math.min(...pilha.map(([, ate]) => ate)) : Math.max(...pilha.map(([, ate]) => ate));\n const abre = fim !== inicio && inicio === 0 ? raioDoCanto : 0;\n const fecha = fim !== inicio && fim === extremo ? raioDoCanto : 0;\n // Na tela, o lado de maior valor fica em cima na vertical e a direita na horizontal.\n const [menor, maior] = fim < inicio ? [fecha, abre] : [abre, fecha];\n\n return vertical ? [maior, maior, menor, menor] : [menor, maior, maior, menor];\n }\n\n /** Rotulo alem da ponta da barra: no negativo ela esta embaixo, ou a esquerda. */\n function rotuloAlemDaPonta(valor: number, ponta: number, centro: number, chave: number, emFoco: boolean) {\n const negativo = valor < 0;\n\n return (\n <text\n className={`${styles.valueLabel} ${markShown(showDataLabels, emFoco) ? '' : styles.valueLabelHidden}`}\n dominantBaseline={vertical ? (negativo ? 'hanging' : 'auto') : 'middle'}\n key={chave}\n textAnchor={vertical ? 'middle' : negativo ? 'end' : 'start'}\n x={vertical ? centro : ponta + (negativo ? -6 : 6)}\n y={vertical ? ponta + (negativo ? 6 : -6) : centro}\n >\n {formatValue(valor)}\n </text>\n );\n }\n\n const marcasCategoria: AxisTick[] = categories.map((categoria) => ({\n label: categoria,\n position: (escalaCategorias(categoria) ?? 0) + vao / 2,\n }));\n\n const marcasValor: AxisTick[] = marcasDeValor.map((valor) => ({\n label: formatValue(valor),\n position: escalaValores(valor),\n }));\n\n const eixoDeCategoria = { labelRotation: rotation, ticks: marcasCategoria };\n const eixoDeValor = { hideLine: true, ticks: marcasValor };\n\n return (\n <CartesianFrame\n axisReveal={axisReveal}\n containerRef={ref}\n empty={series.length === 0 || categories.length === 0}\n emptyMessage={emptyMessage}\n fillHeight={fillHeight}\n grid={[\n {\n baseline: escalaValores(0),\n lines: marcasDeValor.map((valor) => escalaValores(valor)),\n orientation: vertical ? 'horizontal' : 'vertical',\n },\n ]}\n height={alturaDoDesenho}\n legend={series.map((serie, indice) => ({\n color: cores[indice],\n hidden: isHidden(serie.label),\n label: serie.label,\n }))}\n legendAlign={legendAlign}\n legendPosition={posicaoDaLegenda}\n margins={margins}\n onToggleSeries={toggle}\n plot={plot}\n title={title}\n tooltip={\n showTooltip\n ? categoryTooltip({\n categories,\n colors: cores,\n format: formatTooltipValue ?? formatValue,\n index: faixaEmFoco,\n isHidden,\n series,\n showTotal: stacked,\n })\n : undefined\n }\n width={width}\n xAxis={{ ...(vertical ? eixoDeCategoria : eixoDeValor), visibility: xAxis }}\n yAxis={{ ...(vertical ? eixoDeValor : eixoDeCategoria), visibility: yAxis }}\n yAxisRight={{ ...(vertical ? eixoDeValor : eixoDeCategoria), hideLine: true, visibility: yAxisRight }}\n >\n {faixaEmFoco !== null && (\n <BandCursor\n offset={escalaCategorias(categories[faixaEmFoco]) ?? 0}\n orientation={orientation}\n plot={plot}\n size={vao}\n />\n )}\n\n {series.map((serie, indiceSerie) => {\n const oculta = isHidden(serie.label);\n\n return (\n <g\n aria-hidden={oculta || undefined}\n className={`${styles.series} ${oculta ? styles.seriesOff : ''}`}\n key={indiceSerie}\n >\n {categories.map((categoria, indiceCategoria) => {\n if (!Number.isFinite(serie.values[indiceCategoria])) {\n return null;\n }\n\n const inicioCategoria = escalaCategorias(categoria) ?? 0;\n const [de, ate] = segmentoDa(indiceSerie, indiceCategoria);\n const comeco = escalaValores(de);\n const fim = escalaValores(ate);\n const tamanho = Math.abs(fim - comeco);\n const espessura = espessuraDa(indiceSerie);\n const deslocamento = deslocamentoDa(indiceSerie);\n\n return (\n <path\n aria-label={`${serie.label}, ${categoria}: ${formatValue(serie.values[indiceCategoria])}`}\n className={styles.bar}\n d={roundedBarPath(\n vertical ? inicioCategoria + deslocamento : Math.min(comeco, fim),\n vertical ? Math.min(comeco, fim) : inicioCategoria + deslocamento,\n vertical ? espessura : tamanho,\n vertical ? tamanho : espessura,\n cantosDa(indiceSerie, indiceCategoria),\n )}\n fill={cores[indiceSerie]}\n key={indiceCategoria}\n onMouseEnter={() => {\n focarFaixa(indiceCategoria);\n setSerieEmFoco(indiceSerie);\n }}\n onMouseLeave={() => {\n focarFaixa(null);\n setSerieEmFoco(null);\n }}\n />\n );\n })}\n\n {showDataLabels !== 'hidden' &&\n !stacked &&\n categories.map((categoria, indiceCategoria) => {\n const valor = serie.values[indiceCategoria];\n\n if (!Number.isFinite(valor)) {\n return null;\n }\n\n const centro =\n (escalaCategorias(categoria) ?? 0) + deslocamentoDa(indiceSerie) + espessuraDa(indiceSerie) / 2;\n\n return rotuloAlemDaPonta(valor, escalaValores(valor), centro, indiceCategoria, indiceSerie === serieEmFoco);\n })}\n </g>\n );\n })}\n\n {showDataLabels !== 'hidden' &&\n stacked &&\n categories.map((categoria, indiceCategoria) => {\n const presentes = series.filter(\n (serie) => !isHidden(serie.label) && Number.isFinite(serie.values[indiceCategoria]),\n );\n\n if (presentes.length === 0) {\n return null;\n }\n\n const total = presentes.reduce((soma, serie) => soma + serie.values[indiceCategoria], 0);\n const pontas = pilhas[indiceCategoria].map(([, ate]) => ate);\n const extremo = total < 0 ? Math.min(0, ...pontas) : Math.max(0, ...pontas);\n const centro = (escalaCategorias(categoria) ?? 0) + vao / 2;\n\n return rotuloAlemDaPonta(total, escalaValores(extremo), centro, indiceCategoria, indiceCategoria === faixaEmFoco);\n })}\n </CartesianFrame>\n );\n}\n"],"names":["ChartBar","accent","categories","defaultHiddenSeries","emptyMessage","formatTooltipValue","formatValue","formatarNumero","height","hiddenSeries","labelAngle","legend","legendAlign","onHiddenSeriesChange","onHoverCategory","orientation","series","showDataLabels","showTooltip","stacked","title","xAxis","yAxis","yAxisRight","font","alturaMedida","raioDoCanto","ref","width","useChartMetrics","fillHeight","alturaDoDesenho","chartHeight","isHidden","isOutOfScale","toggle","useSeriesToggle","serie","focarFaixa","faixaEmFoco","useHoveredBand","serieEmFoco","setSerieEmFoco","useState","vertical","cores","useMemo","resolveSeriesColors","presencas","useTweenedNumbers","presenca","indice","dominio","naEscala","seriesInScale","domainOf","_","stackDiverging","mergeDomains","posicaoDaLegenda","rotulosDeValor","valueLabelsFor","axisReveal","margins","plot","rotation","useCartesianLayout","valueLabelRoom","comprimentoCategorias","comprimentoValores","inicioDaFaixa","fimDaFaixa","escalaCategorias","bandScale","escalaAlvo","linearScale","minimo","maximo","escalaValores","marcasDeValor","ticksFor","vao","faixas","barSlots","faixaDa","indiceSerie","NO_BAR_SLOT","espessuraDa","deslocamentoDa","contribuicao","indiceCategoria","valor","pilhas","segmentoDa","cantosDa","inicio","fim","pilha","extremo","ate","abre","fecha","menor","maior","rotuloAlemDaPonta","ponta","centro","chave","emFoco","negativo","jsx","styles","markShown","marcasCategoria","categoria","marcasValor","eixoDeCategoria","eixoDeValor","jsxs","CartesianFrame","categoryTooltip","BandCursor","oculta","inicioCategoria","de","comeco","tamanho","espessura","deslocamento","roundedBarPath","presentes","total","soma","pontas"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="_bar_yvrwj_3",s="_series_yvrwj_7 _series_yf6oe_211",_="_seriesOff_yvrwj_11 _seriesOff_yf6oe_215",a="_valueLabel_yvrwj_15 _valueLabel_yf6oe_103",l="_valueLabelHidden_yvrwj_19 _valueLabelHidden_yf6oe_116",r={bar:e,series:s,seriesOff:_,valueLabel:a,valueLabelHidden:l};exports.bar=e;exports.default=r;exports.series=s;exports.seriesOff=_;exports.valueLabel=a;exports.valueLabelHidden=l;
2
+ //# sourceMappingURL=ChartBar.module.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChartBar.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ const e = "_bar_yvrwj_3", _ = "_series_yvrwj_7 _series_yf6oe_211", s = "_seriesOff_yvrwj_11 _seriesOff_yf6oe_215", a = "_valueLabel_yvrwj_15 _valueLabel_yf6oe_103", l = "_valueLabelHidden_yvrwj_19 _valueLabelHidden_yf6oe_116", r = {
2
+ bar: e,
3
+ series: _,
4
+ seriesOff: s,
5
+ valueLabel: a,
6
+ valueLabelHidden: l
7
+ };
8
+ export {
9
+ e as bar,
10
+ r as default,
11
+ _ as series,
12
+ s as seriesOff,
13
+ a as valueLabel,
14
+ l as valueLabelHidden
15
+ };
16
+ //# sourceMappingURL=ChartBar.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChartBar.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),h=require("react"),u=require("./ChartCombo.module.css.cjs"),Te=require("../core/useChartMetrics.cjs"),ie=require("../core/useSeriesToggle.cjs"),He=require("../core/useHoveredBand.cjs"),Oe=require("../palette/seriesColor.cjs"),ne=require("../core/useTweenedNumbers.cjs"),m=require("../scales/scales.cjs"),we=require("../core/useCartesianLayout.cjs"),B=require("../core/spacing.cjs"),g=require("../core/cartesianLayout.cjs"),Be=require("../core/CartesianFrame.cjs"),Ae=require("../core/BandCursor.cjs"),le=require("../core/shapes.cjs"),Pe=require("../core/tooltips.cjs"),_e=require("../../../utils/formatters/formatarNumero.cjs");function ze(i,a){return i[a]!==null&&!i[a-1]&&!i[a+1]}function M(i){return i.axis??"left"}function se(i,a,x){return m.mergeDomains(ie.seriesInScale(i.filter(p=>M(p)===a),x).map(p=>m.domainOf(p.values.filter(R=>R!==null))))}function re(i){const[a=0,x=0]=m.linearScale({domain:i,range:[0,1]}).domain();return{max:x,min:a}}function Ie({accent:i,categories:a,curve:x="smooth",defaultHiddenSeries:p,emptyMessage:R="Sem dados no período",formatRightValue:ue,formatTooltipValue:me,formatValue:q=_e.formatarNumero,height:ce=260,hiddenSeries:de,labelAngle:he="auto",legend:fe="bottom",legendAlign:be,onHiddenSeriesChange:ve,onHoverCategory:ge,series:l,showDataLabels:y="hidden",showTooltip:xe=!0,showDots:pe="onHover",title:qe,xAxis:A="visible",yAxis:P="visible",yAxisRight:ye}){const{font:_,height:Ce,radius:$,ref:Ne,width:z}=Te.useChartMetrics(),{fillHeight:ke,value:F}=g.chartHeight(ce,Ce),{isHidden:C,isOutOfScale:T,toggle:De}=ie.useSeriesToggle({defaultHiddenSeries:p,hiddenSeries:de,labels:l.map(e=>e.label),onHiddenSeriesChange:ve}),{hover:I,hovered:N}=He.useHoveredBand(ge),[Me,Z]=h.useState(null),L=ue??q,H=l.some(e=>M(e)==="right"),k=h.useMemo(()=>Oe.resolveSeriesColors(l,{accent:i}),[i,l]),$e=ne.useTweenedNumbers(l.map(e=>C(e.label)?0:1)),[O,w]=h.useMemo(()=>{const e=re(se(l,"left",T));return H?m.alignZeros(e,re(se(l,"right",T))):[e,e]},[T,l,H]),G=ye??(H?"visible":"hidden"),{axisReveal:Fe,margins:Le,plot:s,rotation:Se}=we.useCartesianLayout({bottomLabels:a,font:_,height:F,labelAngle:he,leftLabels:g.valueLabelsFor(O,F,q),rightLabels:g.valueLabelsFor(w,F,L),topRoom:y==="hidden"?0:B.valueLabelRoom(_),width:z,xAxis:A,yAxis:P,yAxisRight:G}),v=h.useMemo(()=>m.bandScale({domain:a,range:[0,s.width]}),[a,s.width]),J=h.useMemo(()=>m.linearScale({domain:O,nice:!1,range:[s.height,0]}),[O,s.height]),K=h.useMemo(()=>m.linearScale({domain:w,nice:!1,range:[s.height,0]}),[w,s.height]),[Q,U,W,X]=ne.useTweenedNumbers([...J.domain(),...K.domain()]),S=h.useMemo(()=>m.linearScale({domain:{min:Q,max:U},nice:!1,range:[s.height,0]}),[U,Q,s.height]),Y=h.useMemo(()=>m.linearScale({domain:{min:W,max:X},nice:!1,range:[s.height,0]}),[X,W,s.height]),V=e=>M(e)==="right"?Y:S,ee=e=>M(e)==="right"?L:q,ae=m.ticksFor(J,s.height),Ee=m.ticksFor(K,s.height),E=v.bandwidth(),je=B.barSlots(E,l.map((e,t)=>e.kind==="bar"?$e[t]??0:0)),j=e=>je[e]??B.NO_BAR_SLOT,Re=a.map(e=>({label:e,position:(v(e)??0)+E/2})),te=(e,t,f)=>e.map(d=>({label:f(d),position:t(d)}));return c.jsxs(Be.CartesianFrame,{axisReveal:Fe,containerRef:Ne,empty:l.length===0||a.length===0,emptyMessage:R,fillHeight:ke,grid:[{baseline:S(0),lines:ae.map(e=>S(e)),orientation:"horizontal"}],height:F,legend:l.map((e,t)=>({color:k[t],hidden:C(e.label),label:e.label})),legendAlign:be,legendPosition:fe,margins:Le,onToggleSeries:De,plot:s,title:qe,tooltip:xe?Pe.categoryTooltip({categories:a,colors:k,format:me??q,index:N,isHidden:C,series:l.map(e=>({...e,format:M(e)==="right"?L:void 0}))}):void 0,width:z,xAxis:{labelRotation:Se,ticks:Re,visibility:A},yAxis:{hideLine:!0,ticks:te(ae,S,q),visibility:P},yAxisRight:{hideLine:!0,ticks:te(Ee,Y,L),visibility:G},children:[N!==null&&c.jsx(Ae.BandCursor,{offset:v(a[N])??0,plot:s,size:E}),l.map((e,t)=>{if(e.kind!=="bar")return null;const f=C(e.label),d=V(e),D=ee(e),b=d(0);return c.jsxs("g",{"aria-hidden":f||void 0,className:`${u.default.series} ${f?u.default.seriesOff:""}`,children:[a.map((r,o)=>{const n=e.values[o];if(n==null||!Number.isFinite(n))return null;const oe=d(n);return c.jsx("path",{"aria-label":`${e.label}, ${r}: ${D(n)}`,className:u.default.bar,d:le.roundedBarPath((v(r)??0)+j(t).offset,Math.min(b,oe),j(t).thickness,Math.abs(oe-b),[$,$,$,$]),fill:k[t],onMouseEnter:()=>{I(o),Z(t)},onMouseLeave:()=>{I(null),Z(null)}},o)}),y!=="hidden"&&a.map((r,o)=>{const n=e.values[o];return n==null||!Number.isFinite(n)?null:c.jsx("text",{className:`${u.default.valueLabel} ${g.markShown(y,t===Me)?"":u.default.valueLabelHidden}`,textAnchor:"middle",x:(v(r)??0)+j(t).offset+j(t).thickness/2,y:d(n)-6,children:D(n)},o)})]},t)}),l.map((e,t)=>{if(e.kind!=="line")return null;const f=C(e.label),d=V(e),D=ee(e),b=a.map((r,o)=>{const n=e.values[o];return n==null||!Number.isFinite(n)?null:{x:(v(r)??0)+E/2,y:d(n)}});return c.jsxs("g",{"aria-hidden":f||void 0,className:`${u.default.series} ${f?u.default.seriesOff:""}`,children:[c.jsx("path",{className:u.default.line,d:le.linePath(b,x),fill:"none",stroke:k[t]}),b.map((r,o)=>r===null?null:c.jsx("circle",{"aria-label":`${e.label}, ${a[o]}: ${D(e.values[o]??0)}`,className:g.markShown(pe,o===N)||ze(b,o)?u.default.dotVisible:u.default.dot,cx:r.x,cy:r.y,stroke:k[t],r:4},o)),y!=="hidden"&&b.map((r,o)=>r===null?null:c.jsx("text",{className:`${u.default.valueLabel} ${g.markShown(y,o===N)?"":u.default.valueLabelHidden}`,textAnchor:"middle",x:r.x,y:r.y-10,children:D(e.values[o]??0)},o))]},t)})]})}exports.ChartCombo=Ie;
2
+ //# sourceMappingURL=ChartCombo.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChartCombo.cjs","sources":["../../../../src/components/charts/ChartCombo/ChartCombo.tsx"],"sourcesContent":["import { useMemo, useState } from 'react';\nimport {\n BandCursor,\n markShown,\n categoryTooltip,\n CartesianFrame,\n NO_BAR_SLOT,\n barSlots,\n seriesInScale,\n useCartesianLayout,\n chartHeight,\n linePath,\n roundedBarPath,\n useChartMetrics,\n useHoveredBand,\n useSeriesToggle,\n useTweenedNumbers,\n valueLabelRoom,\n valueLabelsFor,\n type AxisLabelAngle,\n type AxisTick,\n type AxisVisibility,\n type ChartCurve,\n type ChartHeight,\n type ChartLegendAlign,\n type ChartLegendPosition,\n type MarkVisibility,\n type ChartPoint,\n} from '../core';\nimport { resolveSeriesColors, type SeriesAppearance } from '../palette';\nimport { alignZeros, bandScale, domainOf, linearScale, mergeDomains, ticksFor, type NumericRange } from '../scales';\nimport { formatarNumero } from '../../../utils/formatters';\nimport styles from './ChartCombo.module.css';\n/**\n * Ponto sem vizinho desenhado. A curva entre ele e o nada nao tem tracado, e o\n * marcador so no hover deixaria o dado invisivel — entao ele aparece sempre.\n */\nfunction isolado(pontos: readonly (ChartPoint | null)[], indice: number) {\n return pontos[indice] !== null && !pontos[indice - 1] && !pontos[indice + 1];\n}\n\n\nexport type ChartComboKind = 'bar' | 'line';\n\n/**\n * Eixo de valor a que a serie pertence. A escolha e sempre do produto: o\n * grafico nunca parte a escala por conta propria.\n */\nexport type ChartComboAxis = 'left' | 'right';\n\nexport interface ChartComboSeries extends SeriesAppearance {\n axis?: ChartComboAxis;\n kind: ChartComboKind;\n label: string;\n values: readonly (number | null)[];\n}\n\nexport interface ChartComboProps {\n accent?: string;\n categories: readonly string[];\n curve?: ChartCurve;\n defaultHiddenSeries?: readonly string[];\n emptyMessage?: string;\n formatRightValue?: (value: number) => string;\n /**\n * Formato no balao das series da esquerda. Sem ele, vale o `formatValue`: o eixo pode sair compacto e o\n * balao, exato. As da direita seguem `formatRightValue`.\n */\n formatTooltipValue?: (value: number) => string;\n formatValue?: (value: number) => string;\n height?: ChartHeight;\n hiddenSeries?: readonly string[];\n labelAngle?: AxisLabelAngle;\n legend?: ChartLegendPosition;\n legendAlign?: ChartLegendAlign;\n onHiddenSeriesChange?: (hidden: readonly string[]) => void;\n /** Indice da categoria sob o ponteiro, ou `null` ao sair dela. */\n onHoverCategory?: (index: number | null) => void;\n series: readonly ChartComboSeries[];\n /**\n * Valor de cada barra e de cada ponto. Em `onHover`, nas barras os da serie da barra sob o ponteiro; nas\n * linhas, que nao tem alvo proprio, os da categoria sob o ponteiro.\n */\n showDataLabels?: MarkVisibility;\n /** Pontos das linhas. Em `onHover`, os da categoria sob o ponteiro. */\n showDots?: MarkVisibility;\n /** Balao com as series da categoria sob o ponteiro, cada uma no formato do seu eixo. Desligue para montar o proprio `ChartTooltip`. */\n showTooltip?: boolean;\n title: string;\n xAxis?: AxisVisibility;\n yAxis?: AxisVisibility;\n yAxisRight?: AxisVisibility;\n}\n\nfunction eixoDa(serie: ChartComboSeries): ChartComboAxis {\n return serie.axis ?? 'left';\n}\n\n/** Dominio de um eixo: as series que pertencem a ele e entram na escala. */\nfunction dominioDoEixo(\n series: readonly ChartComboSeries[],\n axis: ChartComboAxis,\n oculta: (label: string) => boolean,\n) {\n return mergeDomains(\n seriesInScale(\n series.filter((serie) => eixoDa(serie) === axis),\n oculta,\n ).map((serie) => domainOf(serie.values.filter((valor) => valor !== null))),\n );\n}\n\n/** Dominio com os limites arredondados que o eixo mostraria sozinho. */\nfunction arredondado(dominio: NumericRange): NumericRange {\n const [min = 0, max = 0] = linearScale({ domain: dominio, range: [0, 1] }).domain();\n\n return { max, min };\n}\n\n/**\n * Barras e linhas sobre o mesmo eixo de categorias. Uma serie declara a que\n * eixo de valor pertence; sem nenhuma a direita, o dominio e unico e o eixo\n * direito espelha o esquerdo.\n */\nexport function ChartCombo({\n accent,\n categories,\n curve = 'smooth',\n defaultHiddenSeries,\n emptyMessage = 'Sem dados no período',\n formatRightValue,\n formatTooltipValue,\n formatValue = formatarNumero,\n height = 260,\n hiddenSeries,\n labelAngle = 'auto',\n legend = 'bottom',\n legendAlign,\n onHiddenSeriesChange,\n onHoverCategory,\n series,\n showDataLabels = 'hidden',\n showTooltip = true,\n showDots = 'onHover',\n title,\n xAxis = 'visible',\n yAxis = 'visible',\n yAxisRight,\n}: ChartComboProps) {\n const { font, height: alturaMedida, radius: raioDoCanto, ref, width } = useChartMetrics();\n const { fillHeight, value: alturaDoDesenho } = chartHeight(height, alturaMedida);\n const { isHidden, isOutOfScale, toggle } = useSeriesToggle({\n defaultHiddenSeries,\n hiddenSeries,\n labels: series.map((serie) => serie.label),\n onHiddenSeriesChange,\n });\n const { hover: focarFaixa, hovered: faixaEmFoco } = useHoveredBand(onHoverCategory);\n const [serieEmFoco, setSerieEmFoco] = useState<number | null>(null);\n\n const formatarDireita = formatRightValue ?? formatValue;\n const temEixoDireito = series.some((serie) => eixoDa(serie) === 'right');\n\n // A cor sai da lista inteira, e nao das visiveis: desligar uma serie nao pode\n // repintar as demais.\n const cores = useMemo(() => resolveSeriesColors(series, { accent }), [accent, series]);\n\n // Presenca de cada serie, entre zero e um. E ela que reparte a faixa, entao a\n // barra desligada encolhe enquanto as demais ocupam o lugar dela.\n const presencas = useTweenedNumbers(series.map((serie) => (isHidden(serie.label) ? 0 : 1)));\n\n // Com serie a direita, o zero fica na mesma altura nos dois eixos: as barras crescem da mesma base.\n const [dominioEsquerda, dominioDireita] = useMemo(() => {\n const esquerda = arredondado(dominioDoEixo(series, 'left', isOutOfScale));\n\n return temEixoDireito\n ? alignZeros(esquerda, arredondado(dominioDoEixo(series, 'right', isOutOfScale)))\n : [esquerda, esquerda];\n }, [isOutOfScale, series, temEixoDireito]);\n\n // Uma segunda escala sem eixo para le-la e o duplo eixo que engana. Havendo\n // serie a direita, o eixo aparece sem ninguem pedir.\n const visibilidadeDireita = yAxisRight ?? (temEixoDireito ? 'visible' : 'hidden');\n\n const { axisReveal, margins, plot, rotation } = useCartesianLayout({\n bottomLabels: categories,\n font,\n height: alturaDoDesenho,\n labelAngle,\n leftLabels: valueLabelsFor(dominioEsquerda, alturaDoDesenho, formatValue),\n rightLabels: valueLabelsFor(dominioDireita, alturaDoDesenho, formatarDireita),\n topRoom: showDataLabels === 'hidden' ? 0 : valueLabelRoom(font),\n width,\n xAxis,\n yAxis,\n yAxisRight: visibilidadeDireita,\n });\n\n // Barras e linhas compartilham a escala de faixas: a linha passa pelo centro\n // da faixa, que e onde a marca do eixo de categoria tambem fica.\n const escalaCategorias = useMemo(\n () => bandScale({ domain: categories, range: [0, plot.width] }),\n [categories, plot.width],\n );\n\n // A escala alvo fixa as marcas; a animada posiciona o desenho. Sem separar as\n // duas, as marcas exibiriam valores quebrados durante a transicao.\n const alvoEsquerda = useMemo(\n () => linearScale({ domain: dominioEsquerda, nice: false, range: [plot.height, 0] }),\n [dominioEsquerda, plot.height],\n );\n\n const alvoDireita = useMemo(\n () => linearScale({ domain: dominioDireita, nice: false, range: [plot.height, 0] }),\n [dominioDireita, plot.height],\n );\n\n // Os dois dominios caminham numa animacao so, e por isso chegam juntos.\n const [minEsquerda, maxEsquerda, minDireita, maxDireita] = useTweenedNumbers([\n ...alvoEsquerda.domain(),\n ...alvoDireita.domain(),\n ]);\n\n const escalaEsquerda = useMemo(\n () =>\n linearScale({ domain: { min: minEsquerda, max: maxEsquerda }, nice: false, range: [plot.height, 0] }),\n [maxEsquerda, minEsquerda, plot.height],\n );\n\n const escalaDireita = useMemo(\n () => linearScale({ domain: { min: minDireita, max: maxDireita }, nice: false, range: [plot.height, 0] }),\n [maxDireita, minDireita, plot.height],\n );\n\n const escalaDa = (serie: ChartComboSeries) =>\n eixoDa(serie) === 'right' ? escalaDireita : escalaEsquerda;\n const formatoDa = (serie: ChartComboSeries) =>\n eixoDa(serie) === 'right' ? formatarDireita : formatValue;\n\n const marcasEsquerda = ticksFor(alvoEsquerda, plot.height);\n const marcasDireita = ticksFor(alvoDireita, plot.height);\n\n const vao = escalaCategorias.bandwidth();\n\n // So as barras repartem a faixa: a linha passa pelo centro dela, e por isso\n // entra na conta com presenca zero.\n const faixas = barSlots(\n vao,\n series.map((serie, indice) => (serie.kind === 'bar' ? presencas[indice] ?? 0 : 0)),\n );\n const faixaDa = (indice: number) => faixas[indice] ?? NO_BAR_SLOT;\n\n const marcasCategoria: AxisTick[] = categories.map((categoria) => ({\n label: categoria,\n position: (escalaCategorias(categoria) ?? 0) + vao / 2,\n }));\n\n const marcasDeValor = (\n valores: readonly number[],\n escala: (valor: number) => number,\n formatar: (valor: number) => string,\n ): AxisTick[] => valores.map((valor) => ({ label: formatar(valor), position: escala(valor) }));\n\n return (\n <CartesianFrame\n axisReveal={axisReveal}\n containerRef={ref}\n empty={series.length === 0 || categories.length === 0}\n emptyMessage={emptyMessage}\n fillHeight={fillHeight}\n grid={[\n {\n baseline: escalaEsquerda(0),\n lines: marcasEsquerda.map((valor) => escalaEsquerda(valor)),\n orientation: 'horizontal',\n },\n ]}\n height={alturaDoDesenho}\n legend={series.map((serie, indice) => ({\n color: cores[indice],\n hidden: isHidden(serie.label),\n label: serie.label,\n }))}\n legendAlign={legendAlign}\n legendPosition={legend}\n margins={margins}\n onToggleSeries={toggle}\n plot={plot}\n title={title}\n tooltip={\n showTooltip\n ? categoryTooltip({\n categories,\n colors: cores,\n format: formatTooltipValue ?? formatValue,\n index: faixaEmFoco,\n isHidden,\n series: series.map((serie) => ({ ...serie, format: eixoDa(serie) === 'right' ? formatarDireita : undefined })),\n })\n : undefined\n }\n width={width}\n xAxis={{ labelRotation: rotation, ticks: marcasCategoria, visibility: xAxis }}\n yAxis={{\n hideLine: true,\n ticks: marcasDeValor(marcasEsquerda, escalaEsquerda, formatValue),\n visibility: yAxis,\n }}\n yAxisRight={{\n hideLine: true,\n ticks: marcasDeValor(marcasDireita, escalaDireita, formatarDireita),\n visibility: visibilidadeDireita,\n }}\n >\n {faixaEmFoco !== null && (\n <BandCursor offset={escalaCategorias(categories[faixaEmFoco]) ?? 0} plot={plot} size={vao} />\n )}\n\n {series.map((serie, indiceSerie) => {\n if (serie.kind !== 'bar') {\n return null;\n }\n\n const oculta = isHidden(serie.label);\n const escala = escalaDa(serie);\n const formatar = formatoDa(serie);\n const base = escala(0);\n\n return (\n <g\n aria-hidden={oculta || undefined}\n className={`${styles.series} ${oculta ? styles.seriesOff : ''}`}\n key={indiceSerie}\n >\n {categories.map((categoria, indiceCategoria) => {\n const valor = serie.values[indiceCategoria];\n\n if (valor === null || valor === undefined || !Number.isFinite(valor)) {\n return null;\n }\n\n const ponta = escala(valor);\n\n return (\n <path\n aria-label={`${serie.label}, ${categoria}: ${formatar(valor)}`}\n className={styles.bar}\n d={roundedBarPath(\n (escalaCategorias(categoria) ?? 0) + faixaDa(indiceSerie).offset,\n Math.min(base, ponta),\n faixaDa(indiceSerie).thickness,\n Math.abs(ponta - base),\n [raioDoCanto, raioDoCanto, raioDoCanto, raioDoCanto],\n )}\n fill={cores[indiceSerie]}\n key={indiceCategoria}\n onMouseEnter={() => {\n focarFaixa(indiceCategoria);\n setSerieEmFoco(indiceSerie);\n }}\n onMouseLeave={() => {\n focarFaixa(null);\n setSerieEmFoco(null);\n }}\n />\n );\n })}\n\n {showDataLabels !== 'hidden' &&\n categories.map((categoria, indiceCategoria) => {\n const valor = serie.values[indiceCategoria];\n\n if (valor === null || valor === undefined || !Number.isFinite(valor)) {\n return null;\n }\n\n return (\n <text\n className={`${styles.valueLabel} ${markShown(showDataLabels, indiceSerie === serieEmFoco) ? '' : styles.valueLabelHidden}`}\n key={indiceCategoria}\n textAnchor=\"middle\"\n x={\n (escalaCategorias(categoria) ?? 0) +\n faixaDa(indiceSerie).offset +\n faixaDa(indiceSerie).thickness / 2\n }\n y={escala(valor) - 6}\n >\n {formatar(valor)}\n </text>\n );\n })}\n </g>\n );\n })}\n\n {series.map((serie, indiceSerie) => {\n if (serie.kind !== 'line') {\n return null;\n }\n\n const oculta = isHidden(serie.label);\n const escala = escalaDa(serie);\n const formatar = formatoDa(serie);\n const pontos = categories.map<ChartPoint | null>((categoria, indice) => {\n const valor = serie.values[indice];\n\n if (valor === null || valor === undefined || !Number.isFinite(valor)) {\n return null;\n }\n\n return { x: (escalaCategorias(categoria) ?? 0) + vao / 2, y: escala(valor) };\n });\n\n return (\n <g\n aria-hidden={oculta || undefined}\n className={`${styles.series} ${oculta ? styles.seriesOff : ''}`}\n key={indiceSerie}\n >\n <path\n className={styles.line}\n d={linePath(pontos, curve)}\n fill=\"none\"\n stroke={cores[indiceSerie]}\n />\n\n {pontos.map((ponto, indice) =>\n ponto === null ? null : (\n <circle\n aria-label={`${serie.label}, ${categories[indice]}: ${formatar(serie.values[indice] ?? 0)}`}\n className={markShown(showDots, indice === faixaEmFoco) || isolado(pontos, indice) ? styles.dotVisible : styles.dot}\n cx={ponto.x}\n cy={ponto.y}\n stroke={cores[indiceSerie]}\n key={indice}\n r={4}\n />\n ),\n )}\n\n {showDataLabels !== 'hidden' &&\n pontos.map((ponto, indice) =>\n ponto === null ? null : (\n <text\n className={`${styles.valueLabel} ${markShown(showDataLabels, indice === faixaEmFoco) ? '' : styles.valueLabelHidden}`}\n key={indice}\n textAnchor=\"middle\"\n x={ponto.x}\n y={ponto.y - 10}\n >\n {formatar(serie.values[indice] ?? 0)}\n </text>\n ),\n )}\n </g>\n );\n })}\n </CartesianFrame>\n );\n}\n"],"names":["isolado","pontos","indice","eixoDa","serie","dominioDoEixo","series","axis","oculta","mergeDomains","seriesInScale","domainOf","valor","arredondado","dominio","min","max","linearScale","ChartCombo","accent","categories","curve","defaultHiddenSeries","emptyMessage","formatRightValue","formatTooltipValue","formatValue","formatarNumero","height","hiddenSeries","labelAngle","legend","legendAlign","onHiddenSeriesChange","onHoverCategory","showDataLabels","showTooltip","showDots","title","xAxis","yAxis","yAxisRight","font","alturaMedida","raioDoCanto","ref","width","useChartMetrics","fillHeight","alturaDoDesenho","chartHeight","isHidden","isOutOfScale","toggle","useSeriesToggle","focarFaixa","faixaEmFoco","useHoveredBand","serieEmFoco","setSerieEmFoco","useState","formatarDireita","temEixoDireito","cores","useMemo","resolveSeriesColors","presencas","useTweenedNumbers","dominioEsquerda","dominioDireita","esquerda","alignZeros","visibilidadeDireita","axisReveal","margins","plot","rotation","useCartesianLayout","valueLabelsFor","valueLabelRoom","escalaCategorias","bandScale","alvoEsquerda","alvoDireita","minEsquerda","maxEsquerda","minDireita","maxDireita","escalaEsquerda","escalaDireita","escalaDa","formatoDa","marcasEsquerda","ticksFor","marcasDireita","vao","faixas","barSlots","faixaDa","NO_BAR_SLOT","marcasCategoria","categoria","marcasDeValor","valores","escala","formatar","jsxs","CartesianFrame","categoryTooltip","jsx","BandCursor","indiceSerie","base","styles","indiceCategoria","ponta","roundedBarPath","markShown","linePath","ponto"],"mappings":"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"}
@@ -0,0 +1,273 @@
1
+ import { jsxs as S, jsx as b } from "react/jsx-runtime";
2
+ import { useState as To, useMemo as c } from "react";
3
+ import m from "./ChartCombo.module.css.js";
4
+ import { useChartMetrics as Bo } from "../core/useChartMetrics.js";
5
+ import { useSeriesToggle as So, seriesInScale as Po } from "../core/useSeriesToggle.js";
6
+ import { useHoveredBand as jo } from "../core/useHoveredBand.js";
7
+ import { resolveSeriesColors as wo } from "../palette/seriesColor.js";
8
+ import { useTweenedNumbers as lo } from "../core/useTweenedNumbers.js";
9
+ import { alignZeros as zo, bandScale as _o, linearScale as k, ticksFor as io, mergeDomains as Io, domainOf as Zo } from "../scales/scales.js";
10
+ import { useCartesianLayout as Go } from "../core/useCartesianLayout.js";
11
+ import { valueLabelRoom as Jo, barSlots as Ko, NO_BAR_SLOT as Qo } from "../core/spacing.js";
12
+ import { valueLabelsFor as eo, markShown as P, chartHeight as Uo } from "../core/cartesianLayout.js";
13
+ import { CartesianFrame as Wo } from "../core/CartesianFrame.js";
14
+ import { BandCursor as Xo } from "../core/BandCursor.js";
15
+ import { roundedBarPath as Yo, linePath as Vo } from "../core/shapes.js";
16
+ import { categoryTooltip as oa } from "../core/tooltips.js";
17
+ import { formatarNumero as aa } from "../../../utils/formatters/formatarNumero.js";
18
+ function ta(s, a) {
19
+ return s[a] !== null && !s[a - 1] && !s[a + 1];
20
+ }
21
+ function E(s) {
22
+ return s.axis ?? "left";
23
+ }
24
+ function ro(s, a, p) {
25
+ return Io(
26
+ Po(
27
+ s.filter((v) => E(v) === a),
28
+ p
29
+ ).map((v) => Zo(v.values.filter((M) => M !== null)))
30
+ );
31
+ }
32
+ function so(s) {
33
+ const [a = 0, p = 0] = k({ domain: s, range: [0, 1] }).domain();
34
+ return { max: p, min: a };
35
+ }
36
+ function ya({
37
+ accent: s,
38
+ categories: a,
39
+ curve: p = "smooth",
40
+ defaultHiddenSeries: v,
41
+ emptyMessage: M = "Sem dados no período",
42
+ formatRightValue: mo,
43
+ formatTooltipValue: uo,
44
+ formatValue: g = aa,
45
+ height: ho = 260,
46
+ hiddenSeries: co,
47
+ labelAngle: fo = "auto",
48
+ legend: bo = "bottom",
49
+ legendAlign: po,
50
+ onHiddenSeriesChange: vo,
51
+ onHoverCategory: go,
52
+ series: i,
53
+ showDataLabels: x = "hidden",
54
+ showTooltip: xo = !0,
55
+ showDots: yo = "onHover",
56
+ title: Do,
57
+ xAxis: j = "visible",
58
+ yAxis: w = "visible",
59
+ yAxisRight: $o
60
+ }) {
61
+ const { font: z, height: No, radius: F, ref: ko, width: _ } = Bo(), { fillHeight: Eo, value: L } = Uo(ho, No), { isHidden: y, isOutOfScale: O, toggle: Fo } = So({
62
+ defaultHiddenSeries: v,
63
+ hiddenSeries: co,
64
+ labels: i.map((o) => o.label),
65
+ onHiddenSeriesChange: vo
66
+ }), { hover: I, hovered: D } = jo(go), [Lo, Z] = To(null), R = mo ?? g, A = i.some((o) => E(o) === "right"), $ = c(() => wo(i, { accent: s }), [s, i]), Ro = lo(i.map((o) => y(o.label) ? 0 : 1)), [T, B] = c(() => {
67
+ const o = so(ro(i, "left", O));
68
+ return A ? zo(o, so(ro(i, "right", O))) : [o, o];
69
+ }, [O, i, A]), G = $o ?? (A ? "visible" : "hidden"), { axisReveal: qo, margins: Co, plot: e, rotation: Ho } = Go({
70
+ bottomLabels: a,
71
+ font: z,
72
+ height: L,
73
+ labelAngle: fo,
74
+ leftLabels: eo(T, L, g),
75
+ rightLabels: eo(B, L, R),
76
+ topRoom: x === "hidden" ? 0 : Jo(z),
77
+ width: _,
78
+ xAxis: j,
79
+ yAxis: w,
80
+ yAxisRight: G
81
+ }), f = c(
82
+ () => _o({ domain: a, range: [0, e.width] }),
83
+ [a, e.width]
84
+ ), J = c(
85
+ () => k({ domain: T, nice: !1, range: [e.height, 0] }),
86
+ [T, e.height]
87
+ ), K = c(
88
+ () => k({ domain: B, nice: !1, range: [e.height, 0] }),
89
+ [B, e.height]
90
+ ), [Q, U, W, X] = lo([
91
+ ...J.domain(),
92
+ ...K.domain()
93
+ ]), q = c(
94
+ () => k({ domain: { min: Q, max: U }, nice: !1, range: [e.height, 0] }),
95
+ [U, Q, e.height]
96
+ ), Y = c(
97
+ () => k({ domain: { min: W, max: X }, nice: !1, range: [e.height, 0] }),
98
+ [X, W, e.height]
99
+ ), V = (o) => E(o) === "right" ? Y : q, oo = (o) => E(o) === "right" ? R : g, ao = io(J, e.height), Mo = io(K, e.height), C = f.bandwidth(), Oo = Ko(
100
+ C,
101
+ i.map((o, t) => o.kind === "bar" ? Ro[t] ?? 0 : 0)
102
+ ), H = (o) => Oo[o] ?? Qo, Ao = a.map((o) => ({
103
+ label: o,
104
+ position: (f(o) ?? 0) + C / 2
105
+ })), to = (o, t, d) => o.map((u) => ({ label: d(u), position: t(u) }));
106
+ return /* @__PURE__ */ S(
107
+ Wo,
108
+ {
109
+ axisReveal: qo,
110
+ containerRef: ko,
111
+ empty: i.length === 0 || a.length === 0,
112
+ emptyMessage: M,
113
+ fillHeight: Eo,
114
+ grid: [
115
+ {
116
+ baseline: q(0),
117
+ lines: ao.map((o) => q(o)),
118
+ orientation: "horizontal"
119
+ }
120
+ ],
121
+ height: L,
122
+ legend: i.map((o, t) => ({
123
+ color: $[t],
124
+ hidden: y(o.label),
125
+ label: o.label
126
+ })),
127
+ legendAlign: po,
128
+ legendPosition: bo,
129
+ margins: Co,
130
+ onToggleSeries: Fo,
131
+ plot: e,
132
+ title: Do,
133
+ tooltip: xo ? oa({
134
+ categories: a,
135
+ colors: $,
136
+ format: uo ?? g,
137
+ index: D,
138
+ isHidden: y,
139
+ series: i.map((o) => ({ ...o, format: E(o) === "right" ? R : void 0 }))
140
+ }) : void 0,
141
+ width: _,
142
+ xAxis: { labelRotation: Ho, ticks: Ao, visibility: j },
143
+ yAxis: {
144
+ hideLine: !0,
145
+ ticks: to(ao, q, g),
146
+ visibility: w
147
+ },
148
+ yAxisRight: {
149
+ hideLine: !0,
150
+ ticks: to(Mo, Y, R),
151
+ visibility: G
152
+ },
153
+ children: [
154
+ D !== null && /* @__PURE__ */ b(Xo, { offset: f(a[D]) ?? 0, plot: e, size: C }),
155
+ i.map((o, t) => {
156
+ if (o.kind !== "bar")
157
+ return null;
158
+ const d = y(o.label), u = V(o), N = oo(o), h = u(0);
159
+ return /* @__PURE__ */ S(
160
+ "g",
161
+ {
162
+ "aria-hidden": d || void 0,
163
+ className: `${m.series} ${d ? m.seriesOff : ""}`,
164
+ children: [
165
+ a.map((r, n) => {
166
+ const l = o.values[n];
167
+ if (l == null || !Number.isFinite(l))
168
+ return null;
169
+ const no = u(l);
170
+ return /* @__PURE__ */ b(
171
+ "path",
172
+ {
173
+ "aria-label": `${o.label}, ${r}: ${N(l)}`,
174
+ className: m.bar,
175
+ d: Yo(
176
+ (f(r) ?? 0) + H(t).offset,
177
+ Math.min(h, no),
178
+ H(t).thickness,
179
+ Math.abs(no - h),
180
+ [F, F, F, F]
181
+ ),
182
+ fill: $[t],
183
+ onMouseEnter: () => {
184
+ I(n), Z(t);
185
+ },
186
+ onMouseLeave: () => {
187
+ I(null), Z(null);
188
+ }
189
+ },
190
+ n
191
+ );
192
+ }),
193
+ x !== "hidden" && a.map((r, n) => {
194
+ const l = o.values[n];
195
+ return l == null || !Number.isFinite(l) ? null : /* @__PURE__ */ b(
196
+ "text",
197
+ {
198
+ className: `${m.valueLabel} ${P(x, t === Lo) ? "" : m.valueLabelHidden}`,
199
+ textAnchor: "middle",
200
+ x: (f(r) ?? 0) + H(t).offset + H(t).thickness / 2,
201
+ y: u(l) - 6,
202
+ children: N(l)
203
+ },
204
+ n
205
+ );
206
+ })
207
+ ]
208
+ },
209
+ t
210
+ );
211
+ }),
212
+ i.map((o, t) => {
213
+ if (o.kind !== "line")
214
+ return null;
215
+ const d = y(o.label), u = V(o), N = oo(o), h = a.map((r, n) => {
216
+ const l = o.values[n];
217
+ return l == null || !Number.isFinite(l) ? null : { x: (f(r) ?? 0) + C / 2, y: u(l) };
218
+ });
219
+ return /* @__PURE__ */ S(
220
+ "g",
221
+ {
222
+ "aria-hidden": d || void 0,
223
+ className: `${m.series} ${d ? m.seriesOff : ""}`,
224
+ children: [
225
+ /* @__PURE__ */ b(
226
+ "path",
227
+ {
228
+ className: m.line,
229
+ d: Vo(h, p),
230
+ fill: "none",
231
+ stroke: $[t]
232
+ }
233
+ ),
234
+ h.map(
235
+ (r, n) => r === null ? null : /* @__PURE__ */ b(
236
+ "circle",
237
+ {
238
+ "aria-label": `${o.label}, ${a[n]}: ${N(o.values[n] ?? 0)}`,
239
+ className: P(yo, n === D) || ta(h, n) ? m.dotVisible : m.dot,
240
+ cx: r.x,
241
+ cy: r.y,
242
+ stroke: $[t],
243
+ r: 4
244
+ },
245
+ n
246
+ )
247
+ ),
248
+ x !== "hidden" && h.map(
249
+ (r, n) => r === null ? null : /* @__PURE__ */ b(
250
+ "text",
251
+ {
252
+ className: `${m.valueLabel} ${P(x, n === D) ? "" : m.valueLabelHidden}`,
253
+ textAnchor: "middle",
254
+ x: r.x,
255
+ y: r.y - 10,
256
+ children: N(o.values[n] ?? 0)
257
+ },
258
+ n
259
+ )
260
+ )
261
+ ]
262
+ },
263
+ t
264
+ );
265
+ })
266
+ ]
267
+ }
268
+ );
269
+ }
270
+ export {
271
+ ya as ChartCombo
272
+ };
273
+ //# sourceMappingURL=ChartCombo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChartCombo.js","sources":["../../../../src/components/charts/ChartCombo/ChartCombo.tsx"],"sourcesContent":["import { useMemo, useState } from 'react';\nimport {\n BandCursor,\n markShown,\n categoryTooltip,\n CartesianFrame,\n NO_BAR_SLOT,\n barSlots,\n seriesInScale,\n useCartesianLayout,\n chartHeight,\n linePath,\n roundedBarPath,\n useChartMetrics,\n useHoveredBand,\n useSeriesToggle,\n useTweenedNumbers,\n valueLabelRoom,\n valueLabelsFor,\n type AxisLabelAngle,\n type AxisTick,\n type AxisVisibility,\n type ChartCurve,\n type ChartHeight,\n type ChartLegendAlign,\n type ChartLegendPosition,\n type MarkVisibility,\n type ChartPoint,\n} from '../core';\nimport { resolveSeriesColors, type SeriesAppearance } from '../palette';\nimport { alignZeros, bandScale, domainOf, linearScale, mergeDomains, ticksFor, type NumericRange } from '../scales';\nimport { formatarNumero } from '../../../utils/formatters';\nimport styles from './ChartCombo.module.css';\n/**\n * Ponto sem vizinho desenhado. A curva entre ele e o nada nao tem tracado, e o\n * marcador so no hover deixaria o dado invisivel — entao ele aparece sempre.\n */\nfunction isolado(pontos: readonly (ChartPoint | null)[], indice: number) {\n return pontos[indice] !== null && !pontos[indice - 1] && !pontos[indice + 1];\n}\n\n\nexport type ChartComboKind = 'bar' | 'line';\n\n/**\n * Eixo de valor a que a serie pertence. A escolha e sempre do produto: o\n * grafico nunca parte a escala por conta propria.\n */\nexport type ChartComboAxis = 'left' | 'right';\n\nexport interface ChartComboSeries extends SeriesAppearance {\n axis?: ChartComboAxis;\n kind: ChartComboKind;\n label: string;\n values: readonly (number | null)[];\n}\n\nexport interface ChartComboProps {\n accent?: string;\n categories: readonly string[];\n curve?: ChartCurve;\n defaultHiddenSeries?: readonly string[];\n emptyMessage?: string;\n formatRightValue?: (value: number) => string;\n /**\n * Formato no balao das series da esquerda. Sem ele, vale o `formatValue`: o eixo pode sair compacto e o\n * balao, exato. As da direita seguem `formatRightValue`.\n */\n formatTooltipValue?: (value: number) => string;\n formatValue?: (value: number) => string;\n height?: ChartHeight;\n hiddenSeries?: readonly string[];\n labelAngle?: AxisLabelAngle;\n legend?: ChartLegendPosition;\n legendAlign?: ChartLegendAlign;\n onHiddenSeriesChange?: (hidden: readonly string[]) => void;\n /** Indice da categoria sob o ponteiro, ou `null` ao sair dela. */\n onHoverCategory?: (index: number | null) => void;\n series: readonly ChartComboSeries[];\n /**\n * Valor de cada barra e de cada ponto. Em `onHover`, nas barras os da serie da barra sob o ponteiro; nas\n * linhas, que nao tem alvo proprio, os da categoria sob o ponteiro.\n */\n showDataLabels?: MarkVisibility;\n /** Pontos das linhas. Em `onHover`, os da categoria sob o ponteiro. */\n showDots?: MarkVisibility;\n /** Balao com as series da categoria sob o ponteiro, cada uma no formato do seu eixo. Desligue para montar o proprio `ChartTooltip`. */\n showTooltip?: boolean;\n title: string;\n xAxis?: AxisVisibility;\n yAxis?: AxisVisibility;\n yAxisRight?: AxisVisibility;\n}\n\nfunction eixoDa(serie: ChartComboSeries): ChartComboAxis {\n return serie.axis ?? 'left';\n}\n\n/** Dominio de um eixo: as series que pertencem a ele e entram na escala. */\nfunction dominioDoEixo(\n series: readonly ChartComboSeries[],\n axis: ChartComboAxis,\n oculta: (label: string) => boolean,\n) {\n return mergeDomains(\n seriesInScale(\n series.filter((serie) => eixoDa(serie) === axis),\n oculta,\n ).map((serie) => domainOf(serie.values.filter((valor) => valor !== null))),\n );\n}\n\n/** Dominio com os limites arredondados que o eixo mostraria sozinho. */\nfunction arredondado(dominio: NumericRange): NumericRange {\n const [min = 0, max = 0] = linearScale({ domain: dominio, range: [0, 1] }).domain();\n\n return { max, min };\n}\n\n/**\n * Barras e linhas sobre o mesmo eixo de categorias. Uma serie declara a que\n * eixo de valor pertence; sem nenhuma a direita, o dominio e unico e o eixo\n * direito espelha o esquerdo.\n */\nexport function ChartCombo({\n accent,\n categories,\n curve = 'smooth',\n defaultHiddenSeries,\n emptyMessage = 'Sem dados no período',\n formatRightValue,\n formatTooltipValue,\n formatValue = formatarNumero,\n height = 260,\n hiddenSeries,\n labelAngle = 'auto',\n legend = 'bottom',\n legendAlign,\n onHiddenSeriesChange,\n onHoverCategory,\n series,\n showDataLabels = 'hidden',\n showTooltip = true,\n showDots = 'onHover',\n title,\n xAxis = 'visible',\n yAxis = 'visible',\n yAxisRight,\n}: ChartComboProps) {\n const { font, height: alturaMedida, radius: raioDoCanto, ref, width } = useChartMetrics();\n const { fillHeight, value: alturaDoDesenho } = chartHeight(height, alturaMedida);\n const { isHidden, isOutOfScale, toggle } = useSeriesToggle({\n defaultHiddenSeries,\n hiddenSeries,\n labels: series.map((serie) => serie.label),\n onHiddenSeriesChange,\n });\n const { hover: focarFaixa, hovered: faixaEmFoco } = useHoveredBand(onHoverCategory);\n const [serieEmFoco, setSerieEmFoco] = useState<number | null>(null);\n\n const formatarDireita = formatRightValue ?? formatValue;\n const temEixoDireito = series.some((serie) => eixoDa(serie) === 'right');\n\n // A cor sai da lista inteira, e nao das visiveis: desligar uma serie nao pode\n // repintar as demais.\n const cores = useMemo(() => resolveSeriesColors(series, { accent }), [accent, series]);\n\n // Presenca de cada serie, entre zero e um. E ela que reparte a faixa, entao a\n // barra desligada encolhe enquanto as demais ocupam o lugar dela.\n const presencas = useTweenedNumbers(series.map((serie) => (isHidden(serie.label) ? 0 : 1)));\n\n // Com serie a direita, o zero fica na mesma altura nos dois eixos: as barras crescem da mesma base.\n const [dominioEsquerda, dominioDireita] = useMemo(() => {\n const esquerda = arredondado(dominioDoEixo(series, 'left', isOutOfScale));\n\n return temEixoDireito\n ? alignZeros(esquerda, arredondado(dominioDoEixo(series, 'right', isOutOfScale)))\n : [esquerda, esquerda];\n }, [isOutOfScale, series, temEixoDireito]);\n\n // Uma segunda escala sem eixo para le-la e o duplo eixo que engana. Havendo\n // serie a direita, o eixo aparece sem ninguem pedir.\n const visibilidadeDireita = yAxisRight ?? (temEixoDireito ? 'visible' : 'hidden');\n\n const { axisReveal, margins, plot, rotation } = useCartesianLayout({\n bottomLabels: categories,\n font,\n height: alturaDoDesenho,\n labelAngle,\n leftLabels: valueLabelsFor(dominioEsquerda, alturaDoDesenho, formatValue),\n rightLabels: valueLabelsFor(dominioDireita, alturaDoDesenho, formatarDireita),\n topRoom: showDataLabels === 'hidden' ? 0 : valueLabelRoom(font),\n width,\n xAxis,\n yAxis,\n yAxisRight: visibilidadeDireita,\n });\n\n // Barras e linhas compartilham a escala de faixas: a linha passa pelo centro\n // da faixa, que e onde a marca do eixo de categoria tambem fica.\n const escalaCategorias = useMemo(\n () => bandScale({ domain: categories, range: [0, plot.width] }),\n [categories, plot.width],\n );\n\n // A escala alvo fixa as marcas; a animada posiciona o desenho. Sem separar as\n // duas, as marcas exibiriam valores quebrados durante a transicao.\n const alvoEsquerda = useMemo(\n () => linearScale({ domain: dominioEsquerda, nice: false, range: [plot.height, 0] }),\n [dominioEsquerda, plot.height],\n );\n\n const alvoDireita = useMemo(\n () => linearScale({ domain: dominioDireita, nice: false, range: [plot.height, 0] }),\n [dominioDireita, plot.height],\n );\n\n // Os dois dominios caminham numa animacao so, e por isso chegam juntos.\n const [minEsquerda, maxEsquerda, minDireita, maxDireita] = useTweenedNumbers([\n ...alvoEsquerda.domain(),\n ...alvoDireita.domain(),\n ]);\n\n const escalaEsquerda = useMemo(\n () =>\n linearScale({ domain: { min: minEsquerda, max: maxEsquerda }, nice: false, range: [plot.height, 0] }),\n [maxEsquerda, minEsquerda, plot.height],\n );\n\n const escalaDireita = useMemo(\n () => linearScale({ domain: { min: minDireita, max: maxDireita }, nice: false, range: [plot.height, 0] }),\n [maxDireita, minDireita, plot.height],\n );\n\n const escalaDa = (serie: ChartComboSeries) =>\n eixoDa(serie) === 'right' ? escalaDireita : escalaEsquerda;\n const formatoDa = (serie: ChartComboSeries) =>\n eixoDa(serie) === 'right' ? formatarDireita : formatValue;\n\n const marcasEsquerda = ticksFor(alvoEsquerda, plot.height);\n const marcasDireita = ticksFor(alvoDireita, plot.height);\n\n const vao = escalaCategorias.bandwidth();\n\n // So as barras repartem a faixa: a linha passa pelo centro dela, e por isso\n // entra na conta com presenca zero.\n const faixas = barSlots(\n vao,\n series.map((serie, indice) => (serie.kind === 'bar' ? presencas[indice] ?? 0 : 0)),\n );\n const faixaDa = (indice: number) => faixas[indice] ?? NO_BAR_SLOT;\n\n const marcasCategoria: AxisTick[] = categories.map((categoria) => ({\n label: categoria,\n position: (escalaCategorias(categoria) ?? 0) + vao / 2,\n }));\n\n const marcasDeValor = (\n valores: readonly number[],\n escala: (valor: number) => number,\n formatar: (valor: number) => string,\n ): AxisTick[] => valores.map((valor) => ({ label: formatar(valor), position: escala(valor) }));\n\n return (\n <CartesianFrame\n axisReveal={axisReveal}\n containerRef={ref}\n empty={series.length === 0 || categories.length === 0}\n emptyMessage={emptyMessage}\n fillHeight={fillHeight}\n grid={[\n {\n baseline: escalaEsquerda(0),\n lines: marcasEsquerda.map((valor) => escalaEsquerda(valor)),\n orientation: 'horizontal',\n },\n ]}\n height={alturaDoDesenho}\n legend={series.map((serie, indice) => ({\n color: cores[indice],\n hidden: isHidden(serie.label),\n label: serie.label,\n }))}\n legendAlign={legendAlign}\n legendPosition={legend}\n margins={margins}\n onToggleSeries={toggle}\n plot={plot}\n title={title}\n tooltip={\n showTooltip\n ? categoryTooltip({\n categories,\n colors: cores,\n format: formatTooltipValue ?? formatValue,\n index: faixaEmFoco,\n isHidden,\n series: series.map((serie) => ({ ...serie, format: eixoDa(serie) === 'right' ? formatarDireita : undefined })),\n })\n : undefined\n }\n width={width}\n xAxis={{ labelRotation: rotation, ticks: marcasCategoria, visibility: xAxis }}\n yAxis={{\n hideLine: true,\n ticks: marcasDeValor(marcasEsquerda, escalaEsquerda, formatValue),\n visibility: yAxis,\n }}\n yAxisRight={{\n hideLine: true,\n ticks: marcasDeValor(marcasDireita, escalaDireita, formatarDireita),\n visibility: visibilidadeDireita,\n }}\n >\n {faixaEmFoco !== null && (\n <BandCursor offset={escalaCategorias(categories[faixaEmFoco]) ?? 0} plot={plot} size={vao} />\n )}\n\n {series.map((serie, indiceSerie) => {\n if (serie.kind !== 'bar') {\n return null;\n }\n\n const oculta = isHidden(serie.label);\n const escala = escalaDa(serie);\n const formatar = formatoDa(serie);\n const base = escala(0);\n\n return (\n <g\n aria-hidden={oculta || undefined}\n className={`${styles.series} ${oculta ? styles.seriesOff : ''}`}\n key={indiceSerie}\n >\n {categories.map((categoria, indiceCategoria) => {\n const valor = serie.values[indiceCategoria];\n\n if (valor === null || valor === undefined || !Number.isFinite(valor)) {\n return null;\n }\n\n const ponta = escala(valor);\n\n return (\n <path\n aria-label={`${serie.label}, ${categoria}: ${formatar(valor)}`}\n className={styles.bar}\n d={roundedBarPath(\n (escalaCategorias(categoria) ?? 0) + faixaDa(indiceSerie).offset,\n Math.min(base, ponta),\n faixaDa(indiceSerie).thickness,\n Math.abs(ponta - base),\n [raioDoCanto, raioDoCanto, raioDoCanto, raioDoCanto],\n )}\n fill={cores[indiceSerie]}\n key={indiceCategoria}\n onMouseEnter={() => {\n focarFaixa(indiceCategoria);\n setSerieEmFoco(indiceSerie);\n }}\n onMouseLeave={() => {\n focarFaixa(null);\n setSerieEmFoco(null);\n }}\n />\n );\n })}\n\n {showDataLabels !== 'hidden' &&\n categories.map((categoria, indiceCategoria) => {\n const valor = serie.values[indiceCategoria];\n\n if (valor === null || valor === undefined || !Number.isFinite(valor)) {\n return null;\n }\n\n return (\n <text\n className={`${styles.valueLabel} ${markShown(showDataLabels, indiceSerie === serieEmFoco) ? '' : styles.valueLabelHidden}`}\n key={indiceCategoria}\n textAnchor=\"middle\"\n x={\n (escalaCategorias(categoria) ?? 0) +\n faixaDa(indiceSerie).offset +\n faixaDa(indiceSerie).thickness / 2\n }\n y={escala(valor) - 6}\n >\n {formatar(valor)}\n </text>\n );\n })}\n </g>\n );\n })}\n\n {series.map((serie, indiceSerie) => {\n if (serie.kind !== 'line') {\n return null;\n }\n\n const oculta = isHidden(serie.label);\n const escala = escalaDa(serie);\n const formatar = formatoDa(serie);\n const pontos = categories.map<ChartPoint | null>((categoria, indice) => {\n const valor = serie.values[indice];\n\n if (valor === null || valor === undefined || !Number.isFinite(valor)) {\n return null;\n }\n\n return { x: (escalaCategorias(categoria) ?? 0) + vao / 2, y: escala(valor) };\n });\n\n return (\n <g\n aria-hidden={oculta || undefined}\n className={`${styles.series} ${oculta ? styles.seriesOff : ''}`}\n key={indiceSerie}\n >\n <path\n className={styles.line}\n d={linePath(pontos, curve)}\n fill=\"none\"\n stroke={cores[indiceSerie]}\n />\n\n {pontos.map((ponto, indice) =>\n ponto === null ? null : (\n <circle\n aria-label={`${serie.label}, ${categories[indice]}: ${formatar(serie.values[indice] ?? 0)}`}\n className={markShown(showDots, indice === faixaEmFoco) || isolado(pontos, indice) ? styles.dotVisible : styles.dot}\n cx={ponto.x}\n cy={ponto.y}\n stroke={cores[indiceSerie]}\n key={indice}\n r={4}\n />\n ),\n )}\n\n {showDataLabels !== 'hidden' &&\n pontos.map((ponto, indice) =>\n ponto === null ? null : (\n <text\n className={`${styles.valueLabel} ${markShown(showDataLabels, indice === faixaEmFoco) ? '' : styles.valueLabelHidden}`}\n key={indice}\n textAnchor=\"middle\"\n x={ponto.x}\n y={ponto.y - 10}\n >\n {formatar(serie.values[indice] ?? 0)}\n </text>\n ),\n )}\n </g>\n );\n })}\n </CartesianFrame>\n );\n}\n"],"names":["isolado","pontos","indice","eixoDa","serie","dominioDoEixo","series","axis","oculta","mergeDomains","seriesInScale","domainOf","valor","arredondado","dominio","min","max","linearScale","ChartCombo","accent","categories","curve","defaultHiddenSeries","emptyMessage","formatRightValue","formatTooltipValue","formatValue","formatarNumero","height","hiddenSeries","labelAngle","legend","legendAlign","onHiddenSeriesChange","onHoverCategory","showDataLabels","showTooltip","showDots","title","xAxis","yAxis","yAxisRight","font","alturaMedida","raioDoCanto","ref","width","useChartMetrics","fillHeight","alturaDoDesenho","chartHeight","isHidden","isOutOfScale","toggle","useSeriesToggle","focarFaixa","faixaEmFoco","useHoveredBand","serieEmFoco","setSerieEmFoco","useState","formatarDireita","temEixoDireito","cores","useMemo","resolveSeriesColors","presencas","useTweenedNumbers","dominioEsquerda","dominioDireita","esquerda","alignZeros","visibilidadeDireita","axisReveal","margins","plot","rotation","useCartesianLayout","valueLabelsFor","valueLabelRoom","escalaCategorias","bandScale","alvoEsquerda","alvoDireita","minEsquerda","maxEsquerda","minDireita","maxDireita","escalaEsquerda","escalaDireita","escalaDa","formatoDa","marcasEsquerda","ticksFor","marcasDireita","vao","faixas","barSlots","faixaDa","NO_BAR_SLOT","marcasCategoria","categoria","marcasDeValor","valores","escala","formatar","jsxs","CartesianFrame","categoryTooltip","jsx","BandCursor","indiceSerie","base","styles","indiceCategoria","ponta","roundedBarPath","markShown","linePath","ponto"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="_bar_ef56n_1",_="_line_ef56n_5 _line_yf6oe_121",s="_dot_ef56n_9 _dot_yf6oe_130",l="_dotVisible_ef56n_13 _dotVisible_yf6oe_137",i="_valueLabel_ef56n_17 _valueLabel_yf6oe_103",o="_series_ef56n_21 _series_yf6oe_211",n="_seriesOff_ef56n_25 _seriesOff_yf6oe_215",a="_valueLabelHidden_ef56n_29 _valueLabelHidden_yf6oe_116",t={bar:e,line:_,dot:s,dotVisible:l,valueLabel:i,series:o,seriesOff:n,valueLabelHidden:a};exports.bar=e;exports.default=t;exports.dot=s;exports.dotVisible=l;exports.line=_;exports.series=o;exports.seriesOff=n;exports.valueLabel=i;exports.valueLabelHidden=a;
2
+ //# sourceMappingURL=ChartCombo.module.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChartCombo.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ const e = "_bar_ef56n_1", _ = "_line_ef56n_5 _line_yf6oe_121", s = "_dot_ef56n_9 _dot_yf6oe_130", l = "_dotVisible_ef56n_13 _dotVisible_yf6oe_137", n = "_valueLabel_ef56n_17 _valueLabel_yf6oe_103", o = "_series_ef56n_21 _series_yf6oe_211", f = "_seriesOff_ef56n_25 _seriesOff_yf6oe_215", i = "_valueLabelHidden_ef56n_29 _valueLabelHidden_yf6oe_116", a = {
2
+ bar: e,
3
+ line: _,
4
+ dot: s,
5
+ dotVisible: l,
6
+ valueLabel: n,
7
+ series: o,
8
+ seriesOff: f,
9
+ valueLabelHidden: i
10
+ };
11
+ export {
12
+ e as bar,
13
+ a as default,
14
+ s as dot,
15
+ l as dotVisible,
16
+ _ as line,
17
+ o as series,
18
+ f as seriesOff,
19
+ n as valueLabel,
20
+ i as valueLabelHidden
21
+ };
22
+ //# sourceMappingURL=ChartCombo.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChartCombo.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),l=require("./ChartDonut.module.css.cjs"),I=require("../core/useChartMetrics.cjs"),P=require("../core/useSliceRing.cjs"),_=require("../core/centerText.cjs"),k=require("../../../utils/formatters/formatarNumero.cjs"),B=require("../core/ChartFrame.cjs"),G=require("../core/arcs.cjs"),J=require("../core/tooltips.cjs"),K=require("../core/cartesianLayout.cjs"),Q=require("../core/spacing.cjs");function U({accent:f,centerLabel:x="Total",defaultHiddenSlices:v,emptyMessage:q="Sem dados no período",formatPercent:i=c=>`${Math.round(c*100)}%`,formatTooltipValue:M,formatValue:n=k.formatarNumero,height:b=260,hiddenSlices:p,legend:y="right",legendAlign:C,onHiddenSlicesChange:j,onHoverSlice:D,otherLabel:R="Outros",showCenter:S=!0,showLegendValues:N=!0,showTooltip:T=!0,sliceRadius:O,slices:u,smallSliceThreshold:H=.02,thickness:$=.38,title:z}){const{font:c,height:F,radius:L,ref:w,width:d}=I.useChartMetrics(),{fillHeight:A,value:h}=K.chartHeight(b,F),e=P.useSliceRing({accent:f,defaultHiddenSlices:v,hiddenSlices:p,onHiddenSlicesChange:j,onHoverSlice:D,otherLabel:R,slices:u,smallSliceThreshold:H}),m=Q.ringDiameter(d,h)/2,g=m*(1-Math.min(Math.max($,0),1)),E=O??L,s=e.focused===null?void 0:e.slices[e.focused],r=_.fitCenterText(n(s?Math.max(s.value,0):e.total),s?s.label:x,c,g*2);return a.jsxs(B.ChartFrame,{centerOrigin:!0,containerRef:w,empty:e.slices.length===0||u.every(o=>!(o.value>0)),emptyMessage:q,fillHeight:A,height:h,legend:e.slices.map((o,t)=>({color:e.colors[t],hidden:e.isHidden(o.label),label:o.label,value:N?i(e.ratioOf(t)):void 0})),legendAlign:C,legendPosition:y,onToggleSeries:e.toggle,swatch:"dot",title:z,tooltip:T?J.sliceTooltip({colors:e.colors,formatPercent:i,formatValue:M??n,index:e.focused,slices:e.slices,total:e.total}):void 0,width:d,children:[e.slices.map((o,t)=>a.jsx("path",{"aria-label":`${o.label}: ${n(Math.max(o.value,0))} (${i(e.ratioOf(t))})`,className:l.default.slice,d:G.arcPath({...e.angles[t],cornerRadius:E,innerRadius:g,outerRadius:m}),fill:e.colors[t],onMouseEnter:()=>e.focus(t),onMouseLeave:()=>e.focus(null)},t)),S&&a.jsxs("g",{className:l.default.center,children:[a.jsx("text",{className:l.default.centerValue,dy:r.size*.1,style:{fontFamily:r.family,fontSize:r.size},textAnchor:"middle",children:r.value}),a.jsx("text",{className:l.default.centerLabel,dy:r.lineHeight*.62,textAnchor:"middle",children:r.label})]})]})}exports.ChartDonut=U;
2
+ //# sourceMappingURL=ChartDonut.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChartDonut.cjs","sources":["../../../../src/components/charts/ChartDonut/ChartDonut.tsx"],"sourcesContent":["import {\n ChartFrame,\n arcPath,\n chartHeight,\n fitCenterText,\n ringDiameter,\n useChartMetrics,\n sliceTooltip,\n useSliceRing,\n type ChartHeight,\n type ChartLegendAlign,\n type ChartLegendPosition,\n type ChartSlice,\n} from '../core';\nimport { formatarNumero } from '../../../utils/formatters';\nimport styles from './ChartDonut.module.css';\n\nexport type { ChartSlice as ChartDonutSlice };\n\nexport interface ChartDonutProps {\n accent?: string;\n /** Texto sob o valor do centro, trocado pelo rotulo da fatia sob o ponteiro. */\n centerLabel?: string;\n defaultHiddenSlices?: readonly string[];\n emptyMessage?: string;\n formatPercent?: (ratio: number) => string;\n /** Formato dos valores no balao. Sem ele, vale o `formatValue`: o eixo pode sair compacto e o balao, exato. */\n formatTooltipValue?: (value: number) => string;\n formatValue?: (value: number) => string;\n height?: ChartHeight;\n hiddenSlices?: readonly string[];\n legend?: ChartLegendPosition;\n legendAlign?: ChartLegendAlign;\n onHiddenSlicesChange?: (hidden: readonly string[]) => void;\n /** Fatia sob o ponteiro, ja agrupada, ou `null` ao sair dela. */\n onHoverSlice?: (slice: ChartSlice | null) => void;\n /** Rotulo da fatia que reune as pequenas. */\n otherLabel?: string;\n /** Raio dos cantos de cada fatia. Sem valor, o token de raio pequeno. */\n sliceRadius?: number;\n showCenter?: boolean;\n showLegendValues?: boolean;\n /** Balao com a fatia sob o ponteiro, o valor e a parte do total. Desligue para montar o proprio `ChartTooltip`. */\n showTooltip?: boolean;\n slices: readonly ChartSlice[];\n /** Fracao do total abaixo da qual a fatia entra no agrupamento. */\n smallSliceThreshold?: number;\n /** Espessura do anel, como fracao do raio. */\n thickness?: number;\n title: string;\n}\n\nexport function ChartDonut({\n accent,\n centerLabel = 'Total',\n defaultHiddenSlices,\n emptyMessage = 'Sem dados no período',\n formatPercent = (fracao) => `${Math.round(fracao * 100)}%`,\n formatTooltipValue,\n formatValue = formatarNumero,\n height = 260,\n hiddenSlices,\n legend = 'right',\n legendAlign,\n onHiddenSlicesChange,\n onHoverSlice,\n otherLabel = 'Outros',\n showCenter = true,\n showLegendValues = true,\n showTooltip = true,\n sliceRadius,\n slices,\n smallSliceThreshold = 0.02,\n thickness = 0.38,\n title,\n}: ChartDonutProps) {\n const { font, height: alturaMedida, radius: raioDoCanto, ref, width } = useChartMetrics();\n const { fillHeight, value: alturaDoDesenho } = chartHeight(height, alturaMedida);\n\n const anel = useSliceRing({\n accent,\n defaultHiddenSlices,\n hiddenSlices,\n onHiddenSlicesChange,\n onHoverSlice,\n otherLabel,\n slices,\n smallSliceThreshold,\n });\n\n const diametro = ringDiameter(width, alturaDoDesenho);\n const raio = diametro / 2;\n const raioInterno = raio * (1 - Math.min(Math.max(thickness, 0), 1));\n\n const canto = sliceRadius ?? raioDoCanto;\n const focada = anel.focused === null ? undefined : anel.slices[anel.focused];\n const centro = fitCenterText(\n formatValue(focada ? Math.max(focada.value, 0) : anel.total),\n focada ? focada.label : centerLabel,\n font,\n raioInterno * 2,\n );\n\n return (\n <ChartFrame\n centerOrigin\n containerRef={ref}\n empty={anel.slices.length === 0 || slices.every((fatia) => !(fatia.value > 0))}\n emptyMessage={emptyMessage}\n fillHeight={fillHeight}\n height={alturaDoDesenho}\n legend={anel.slices.map((fatia, indice) => ({\n color: anel.colors[indice],\n hidden: anel.isHidden(fatia.label),\n label: fatia.label,\n value: showLegendValues ? formatPercent(anel.ratioOf(indice)) : undefined,\n }))}\n legendAlign={legendAlign}\n legendPosition={legend}\n onToggleSeries={anel.toggle}\n swatch=\"dot\"\n title={title}\n tooltip={\n showTooltip\n ? sliceTooltip({\n colors: anel.colors,\n formatPercent,\n formatValue: formatTooltipValue ?? formatValue,\n index: anel.focused,\n slices: anel.slices,\n total: anel.total,\n })\n : undefined\n }\n width={width}\n >\n {anel.slices.map((fatia, indice) => (\n <path\n aria-label={`${fatia.label}: ${formatValue(Math.max(fatia.value, 0))} (${formatPercent(anel.ratioOf(indice))})`}\n className={styles.slice}\n d={arcPath({\n ...anel.angles[indice],\n cornerRadius: canto,\n innerRadius: raioInterno,\n outerRadius: raio,\n })}\n fill={anel.colors[indice]}\n key={indice}\n onMouseEnter={() => anel.focus(indice)}\n onMouseLeave={() => anel.focus(null)}\n />\n ))}\n\n {showCenter && (\n <g className={styles.center}>\n <text\n className={styles.centerValue}\n dy={centro.size * 0.1}\n style={{ fontFamily: centro.family, fontSize: centro.size }}\n textAnchor=\"middle\"\n >\n {centro.value}\n </text>\n <text className={styles.centerLabel} dy={centro.lineHeight * 0.62} textAnchor=\"middle\">\n {centro.label}\n </text>\n </g>\n )}\n </ChartFrame>\n );\n}\n"],"names":["ChartDonut","accent","centerLabel","defaultHiddenSlices","emptyMessage","formatPercent","fracao","formatTooltipValue","formatValue","formatarNumero","height","hiddenSlices","legend","legendAlign","onHiddenSlicesChange","onHoverSlice","otherLabel","showCenter","showLegendValues","showTooltip","sliceRadius","slices","smallSliceThreshold","thickness","title","font","alturaMedida","raioDoCanto","ref","width","useChartMetrics","fillHeight","alturaDoDesenho","chartHeight","anel","useSliceRing","raio","ringDiameter","raioInterno","canto","focada","centro","fitCenterText","jsxs","ChartFrame","fatia","indice","sliceTooltip","jsx","styles","arcPath"],"mappings":"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"}