@plenustech/design-system 0.2.0 → 0.2.2

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 (599) 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/charts/ChartArea/ChartArea.cjs +2 -0
  18. package/dist/components/charts/ChartArea/ChartArea.cjs.map +1 -0
  19. package/dist/components/charts/ChartArea/ChartArea.js +205 -0
  20. package/dist/components/charts/ChartArea/ChartArea.js.map +1 -0
  21. package/dist/components/charts/ChartArea/ChartArea.module.css.cjs +2 -0
  22. package/dist/components/charts/ChartArea/ChartArea.module.css.cjs.map +1 -0
  23. package/dist/components/charts/ChartArea/ChartArea.module.css.js +18 -0
  24. package/dist/components/charts/ChartArea/ChartArea.module.css.js.map +1 -0
  25. package/dist/components/charts/ChartBar/ChartBar.cjs +2 -0
  26. package/dist/components/charts/ChartBar/ChartBar.cjs.map +1 -0
  27. package/dist/components/charts/ChartBar/ChartBar.js +216 -0
  28. package/dist/components/charts/ChartBar/ChartBar.js.map +1 -0
  29. package/dist/components/charts/ChartBar/ChartBar.module.css.cjs +2 -0
  30. package/dist/components/charts/ChartBar/ChartBar.module.css.cjs.map +1 -0
  31. package/dist/components/charts/ChartBar/ChartBar.module.css.js +14 -0
  32. package/dist/components/charts/ChartBar/ChartBar.module.css.js.map +1 -0
  33. package/dist/components/charts/ChartCombo/ChartCombo.cjs +2 -0
  34. package/dist/components/charts/ChartCombo/ChartCombo.cjs.map +1 -0
  35. package/dist/components/charts/ChartCombo/ChartCombo.js +248 -0
  36. package/dist/components/charts/ChartCombo/ChartCombo.js.map +1 -0
  37. package/dist/components/charts/ChartCombo/ChartCombo.module.css.cjs +2 -0
  38. package/dist/components/charts/ChartCombo/ChartCombo.module.css.cjs.map +1 -0
  39. package/dist/components/charts/ChartCombo/ChartCombo.module.css.js +20 -0
  40. package/dist/components/charts/ChartCombo/ChartCombo.module.css.js.map +1 -0
  41. package/dist/components/charts/ChartDonut/ChartDonut.cjs +2 -0
  42. package/dist/components/charts/ChartDonut/ChartDonut.cjs.map +1 -0
  43. package/dist/components/charts/ChartDonut/ChartDonut.js +107 -0
  44. package/dist/components/charts/ChartDonut/ChartDonut.js.map +1 -0
  45. package/dist/components/charts/ChartDonut/ChartDonut.module.css.cjs +2 -0
  46. package/dist/components/charts/ChartDonut/ChartDonut.module.css.cjs.map +1 -0
  47. package/dist/components/charts/ChartDonut/ChartDonut.module.css.js +14 -0
  48. package/dist/components/charts/ChartDonut/ChartDonut.module.css.js.map +1 -0
  49. package/dist/components/charts/ChartLine/ChartLine.cjs +2 -0
  50. package/dist/components/charts/ChartLine/ChartLine.cjs.map +1 -0
  51. package/dist/components/charts/ChartLine/ChartLine.js +166 -0
  52. package/dist/components/charts/ChartLine/ChartLine.js.map +1 -0
  53. package/dist/components/charts/ChartLine/ChartLine.module.css.cjs +2 -0
  54. package/dist/components/charts/ChartLine/ChartLine.module.css.cjs.map +1 -0
  55. package/dist/components/charts/ChartLine/ChartLine.module.css.js +18 -0
  56. package/dist/components/charts/ChartLine/ChartLine.module.css.js.map +1 -0
  57. package/dist/components/charts/ChartPie/ChartPie.cjs +2 -0
  58. package/dist/components/charts/ChartPie/ChartPie.cjs.map +1 -0
  59. package/dist/components/charts/ChartPie/ChartPie.js +99 -0
  60. package/dist/components/charts/ChartPie/ChartPie.js.map +1 -0
  61. package/dist/components/charts/ChartPie/ChartPie.module.css.cjs +2 -0
  62. package/dist/components/charts/ChartPie/ChartPie.module.css.cjs.map +1 -0
  63. package/dist/components/charts/ChartPie/ChartPie.module.css.js +10 -0
  64. package/dist/components/charts/ChartPie/ChartPie.module.css.js.map +1 -0
  65. package/dist/components/charts/ChartRadial/ChartRadial.cjs +2 -0
  66. package/dist/components/charts/ChartRadial/ChartRadial.cjs.map +1 -0
  67. package/dist/components/charts/ChartRadial/ChartRadial.js +121 -0
  68. package/dist/components/charts/ChartRadial/ChartRadial.js.map +1 -0
  69. package/dist/components/charts/ChartRadial/ChartRadial.module.css.cjs +2 -0
  70. package/dist/components/charts/ChartRadial/ChartRadial.module.css.cjs.map +1 -0
  71. package/dist/components/charts/ChartRadial/ChartRadial.module.css.js +16 -0
  72. package/dist/components/charts/ChartRadial/ChartRadial.module.css.js.map +1 -0
  73. package/dist/components/charts/ChartSankey/ChartSankey.cjs +2 -0
  74. package/dist/components/charts/ChartSankey/ChartSankey.cjs.map +1 -0
  75. package/dist/components/charts/ChartSankey/ChartSankey.js +209 -0
  76. package/dist/components/charts/ChartSankey/ChartSankey.js.map +1 -0
  77. package/dist/components/charts/ChartSankey/ChartSankey.module.css.cjs +2 -0
  78. package/dist/components/charts/ChartSankey/ChartSankey.module.css.cjs.map +1 -0
  79. package/dist/components/charts/ChartSankey/ChartSankey.module.css.js +22 -0
  80. package/dist/components/charts/ChartSankey/ChartSankey.module.css.js.map +1 -0
  81. package/dist/components/charts/ChartScatter/ChartScatter.cjs +2 -0
  82. package/dist/components/charts/ChartScatter/ChartScatter.cjs.map +1 -0
  83. package/dist/components/charts/ChartScatter/ChartScatter.js +137 -0
  84. package/dist/components/charts/ChartScatter/ChartScatter.js.map +1 -0
  85. package/dist/components/charts/ChartScatter/ChartScatter.module.css.cjs +2 -0
  86. package/dist/components/charts/ChartScatter/ChartScatter.module.css.cjs.map +1 -0
  87. package/dist/components/charts/ChartScatter/ChartScatter.module.css.js +14 -0
  88. package/dist/components/charts/ChartScatter/ChartScatter.module.css.js.map +1 -0
  89. package/dist/components/charts/ChartSunburst/ChartSunburst.cjs +2 -0
  90. package/dist/components/charts/ChartSunburst/ChartSunburst.cjs.map +1 -0
  91. package/dist/components/charts/ChartSunburst/ChartSunburst.js +144 -0
  92. package/dist/components/charts/ChartSunburst/ChartSunburst.js.map +1 -0
  93. package/dist/components/charts/ChartSunburst/ChartSunburst.module.css.cjs +2 -0
  94. package/dist/components/charts/ChartSunburst/ChartSunburst.module.css.cjs.map +1 -0
  95. package/dist/components/charts/ChartSunburst/ChartSunburst.module.css.js +16 -0
  96. package/dist/components/charts/ChartSunburst/ChartSunburst.module.css.js.map +1 -0
  97. package/dist/components/charts/ChartTooltip/ChartTooltip.cjs +2 -0
  98. package/dist/components/charts/ChartTooltip/ChartTooltip.cjs.map +1 -0
  99. package/dist/components/charts/ChartTooltip/ChartTooltip.js +113 -0
  100. package/dist/components/charts/ChartTooltip/ChartTooltip.js.map +1 -0
  101. package/dist/components/charts/ChartTooltip/ChartTooltip.module.css.cjs +2 -0
  102. package/dist/components/charts/ChartTooltip/ChartTooltip.module.css.cjs.map +1 -0
  103. package/dist/components/charts/ChartTooltip/ChartTooltip.module.css.js +32 -0
  104. package/dist/components/charts/ChartTooltip/ChartTooltip.module.css.js.map +1 -0
  105. package/dist/components/charts/ChartTreemap/ChartTreemap.cjs +2 -0
  106. package/dist/components/charts/ChartTreemap/ChartTreemap.cjs.map +1 -0
  107. package/dist/components/charts/ChartTreemap/ChartTreemap.js +122 -0
  108. package/dist/components/charts/ChartTreemap/ChartTreemap.js.map +1 -0
  109. package/dist/components/charts/ChartTreemap/ChartTreemap.module.css.cjs +2 -0
  110. package/dist/components/charts/ChartTreemap/ChartTreemap.module.css.cjs.map +1 -0
  111. package/dist/components/charts/ChartTreemap/ChartTreemap.module.css.js +14 -0
  112. package/dist/components/charts/ChartTreemap/ChartTreemap.module.css.js.map +1 -0
  113. package/dist/components/charts/ChartWaterfall/ChartWaterfall.cjs +2 -0
  114. package/dist/components/charts/ChartWaterfall/ChartWaterfall.cjs.map +1 -0
  115. package/dist/components/charts/ChartWaterfall/ChartWaterfall.js +168 -0
  116. package/dist/components/charts/ChartWaterfall/ChartWaterfall.js.map +1 -0
  117. package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.cjs +2 -0
  118. package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.cjs.map +1 -0
  119. package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.js +12 -0
  120. package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.js.map +1 -0
  121. package/dist/components/charts/core/Axis.cjs +2 -0
  122. package/dist/components/charts/core/Axis.cjs.map +1 -0
  123. package/dist/components/charts/core/Axis.js +40 -0
  124. package/dist/components/charts/core/Axis.js.map +1 -0
  125. package/dist/components/charts/core/BandCursor.cjs +2 -0
  126. package/dist/components/charts/core/BandCursor.cjs.map +1 -0
  127. package/dist/components/charts/core/BandCursor.js +19 -0
  128. package/dist/components/charts/core/BandCursor.js.map +1 -0
  129. package/dist/components/charts/core/CartesianFrame.cjs +2 -0
  130. package/dist/components/charts/core/CartesianFrame.cjs.map +1 -0
  131. package/dist/components/charts/core/CartesianFrame.js +120 -0
  132. package/dist/components/charts/core/CartesianFrame.js.map +1 -0
  133. package/dist/components/charts/core/Chart.module.css.cjs +2 -0
  134. package/dist/components/charts/core/Chart.module.css.cjs.map +1 -0
  135. package/dist/components/charts/core/Chart.module.css.js +68 -0
  136. package/dist/components/charts/core/Chart.module.css.js.map +1 -0
  137. package/dist/components/charts/core/ChartFrame.cjs +2 -0
  138. package/dist/components/charts/core/ChartFrame.cjs.map +1 -0
  139. package/dist/components/charts/core/ChartFrame.js +65 -0
  140. package/dist/components/charts/core/ChartFrame.js.map +1 -0
  141. package/dist/components/charts/core/ChartLegend.cjs +2 -0
  142. package/dist/components/charts/core/ChartLegend.cjs.map +1 -0
  143. package/dist/components/charts/core/ChartLegend.js +44 -0
  144. package/dist/components/charts/core/ChartLegend.js.map +1 -0
  145. package/dist/components/charts/core/Grid.cjs +2 -0
  146. package/dist/components/charts/core/Grid.cjs.map +1 -0
  147. package/dist/components/charts/core/Grid.js +20 -0
  148. package/dist/components/charts/core/Grid.js.map +1 -0
  149. package/dist/components/charts/core/arcs.cjs +2 -0
  150. package/dist/components/charts/core/arcs.cjs.map +1 -0
  151. package/dist/components/charts/core/arcs.js +26 -0
  152. package/dist/components/charts/core/arcs.js.map +1 -0
  153. package/dist/components/charts/core/cartesianLayout.cjs +2 -0
  154. package/dist/components/charts/core/cartesianLayout.cjs.map +1 -0
  155. package/dist/components/charts/core/cartesianLayout.js +59 -0
  156. package/dist/components/charts/core/cartesianLayout.js.map +1 -0
  157. package/dist/components/charts/core/centerText.cjs +2 -0
  158. package/dist/components/charts/core/centerText.cjs.map +1 -0
  159. package/dist/components/charts/core/centerText.js +31 -0
  160. package/dist/components/charts/core/centerText.js.map +1 -0
  161. package/dist/components/charts/core/measureText.cjs +2 -0
  162. package/dist/components/charts/core/measureText.cjs.map +1 -0
  163. package/dist/components/charts/core/measureText.js +55 -0
  164. package/dist/components/charts/core/measureText.js.map +1 -0
  165. package/dist/components/charts/core/shapes.cjs +2 -0
  166. package/dist/components/charts/core/shapes.cjs.map +1 -0
  167. package/dist/components/charts/core/shapes.js +31 -0
  168. package/dist/components/charts/core/shapes.js.map +1 -0
  169. package/dist/components/charts/core/slices.cjs +2 -0
  170. package/dist/components/charts/core/slices.cjs.map +1 -0
  171. package/dist/components/charts/core/slices.js +22 -0
  172. package/dist/components/charts/core/slices.js.map +1 -0
  173. package/dist/components/charts/core/spacing.cjs +2 -0
  174. package/dist/components/charts/core/spacing.cjs.map +1 -0
  175. package/dist/components/charts/core/spacing.js +26 -0
  176. package/dist/components/charts/core/spacing.js.map +1 -0
  177. package/dist/components/charts/core/useChartMetrics.cjs +2 -0
  178. package/dist/components/charts/core/useChartMetrics.cjs.map +1 -0
  179. package/dist/components/charts/core/useChartMetrics.js +39 -0
  180. package/dist/components/charts/core/useChartMetrics.js.map +1 -0
  181. package/dist/components/charts/core/useHoveredBand.cjs +2 -0
  182. package/dist/components/charts/core/useHoveredBand.cjs.map +1 -0
  183. package/dist/components/charts/core/useHoveredBand.js +14 -0
  184. package/dist/components/charts/core/useHoveredBand.js.map +1 -0
  185. package/dist/components/charts/core/useSeriesToggle.cjs +2 -0
  186. package/dist/components/charts/core/useSeriesToggle.cjs.map +1 -0
  187. package/dist/components/charts/core/useSeriesToggle.js +22 -0
  188. package/dist/components/charts/core/useSeriesToggle.js.map +1 -0
  189. package/dist/components/charts/core/useSliceRing.cjs +2 -0
  190. package/dist/components/charts/core/useSliceRing.cjs.map +1 -0
  191. package/dist/components/charts/core/useSliceRing.js +55 -0
  192. package/dist/components/charts/core/useSliceRing.js.map +1 -0
  193. package/dist/components/charts/core/useTweenedNumbers.cjs +2 -0
  194. package/dist/components/charts/core/useTweenedNumbers.cjs.map +1 -0
  195. package/dist/components/charts/core/useTweenedNumbers.js +31 -0
  196. package/dist/components/charts/core/useTweenedNumbers.js.map +1 -0
  197. package/dist/components/charts/palette/palette.cjs +2 -0
  198. package/dist/components/charts/palette/palette.cjs.map +1 -0
  199. package/dist/components/charts/palette/palette.js +26 -0
  200. package/dist/components/charts/palette/palette.js.map +1 -0
  201. package/dist/components/charts/palette/seriesColor.cjs +2 -0
  202. package/dist/components/charts/palette/seriesColor.cjs.map +1 -0
  203. package/dist/components/charts/palette/seriesColor.js +43 -0
  204. package/dist/components/charts/palette/seriesColor.js.map +1 -0
  205. package/dist/components/charts/scales/scales.cjs +2 -0
  206. package/dist/components/charts/scales/scales.cjs.map +1 -0
  207. package/dist/components/charts/scales/scales.js +74 -0
  208. package/dist/components/charts/scales/scales.js.map +1 -0
  209. package/dist/components/data-display/Accordion/Accordion.cjs +2 -0
  210. package/dist/components/data-display/Accordion/Accordion.cjs.map +1 -0
  211. package/dist/components/data-display/Accordion/Accordion.js +91 -0
  212. package/dist/components/data-display/Accordion/Accordion.js.map +1 -0
  213. package/dist/components/data-display/Accordion/Accordion.module.css.cjs +2 -0
  214. package/dist/components/data-display/Accordion/Accordion.module.css.cjs.map +1 -0
  215. package/dist/components/data-display/Accordion/Accordion.module.css.js +26 -0
  216. package/dist/components/data-display/Accordion/Accordion.module.css.js.map +1 -0
  217. package/dist/components/data-display/Avatar/Avatar.cjs +2 -0
  218. package/dist/components/data-display/Avatar/Avatar.cjs.map +1 -0
  219. package/dist/components/data-display/Avatar/Avatar.js +20 -0
  220. package/dist/components/data-display/Avatar/Avatar.js.map +1 -0
  221. package/dist/components/data-display/Avatar/Avatar.module.css.cjs +2 -0
  222. package/dist/components/data-display/Avatar/Avatar.module.css.cjs.map +1 -0
  223. package/dist/components/data-display/Avatar/Avatar.module.css.js +14 -0
  224. package/dist/components/data-display/Avatar/Avatar.module.css.js.map +1 -0
  225. package/dist/components/data-display/Badge/Badge.cjs +2 -0
  226. package/dist/components/data-display/Badge/Badge.cjs.map +1 -0
  227. package/dist/components/data-display/Badge/Badge.js +13 -0
  228. package/dist/components/data-display/Badge/Badge.js.map +1 -0
  229. package/dist/components/data-display/Badge/Badge.module.css.cjs +2 -0
  230. package/dist/components/data-display/Badge/Badge.module.css.cjs.map +1 -0
  231. package/dist/components/data-display/Badge/Badge.module.css.js +22 -0
  232. package/dist/components/data-display/Badge/Badge.module.css.js.map +1 -0
  233. package/dist/components/data-display/Card/Card.cjs +2 -0
  234. package/dist/components/data-display/Card/Card.cjs.map +1 -0
  235. package/dist/components/data-display/Card/Card.js +51 -0
  236. package/dist/components/data-display/Card/Card.js.map +1 -0
  237. package/dist/components/data-display/Card/Card.module.css.cjs +2 -0
  238. package/dist/components/data-display/Card/Card.module.css.cjs.map +1 -0
  239. package/dist/components/data-display/Card/Card.module.css.js +26 -0
  240. package/dist/components/data-display/Card/Card.module.css.js.map +1 -0
  241. package/dist/components/data-display/CodeBlock/CodeBlock.cjs +2 -0
  242. package/dist/components/data-display/CodeBlock/CodeBlock.cjs.map +1 -0
  243. package/dist/components/data-display/CodeBlock/CodeBlock.js +65 -0
  244. package/dist/components/data-display/CodeBlock/CodeBlock.js.map +1 -0
  245. package/dist/components/data-display/CodeBlock/CodeBlock.module.css.cjs +2 -0
  246. package/dist/components/data-display/CodeBlock/CodeBlock.module.css.cjs.map +1 -0
  247. package/dist/components/data-display/CodeBlock/CodeBlock.module.css.js +47 -0
  248. package/dist/components/data-display/CodeBlock/CodeBlock.module.css.js.map +1 -0
  249. package/dist/components/data-display/CodeBlock/syntax.cjs +24 -0
  250. package/dist/components/data-display/CodeBlock/syntax.cjs.map +1 -0
  251. package/dist/components/data-display/CodeBlock/syntax.js +124 -0
  252. package/dist/components/data-display/CodeBlock/syntax.js.map +1 -0
  253. package/dist/components/data-display/List/List.cjs +2 -0
  254. package/dist/components/data-display/List/List.cjs.map +1 -0
  255. package/dist/components/data-display/List/List.js +99 -0
  256. package/dist/components/data-display/List/List.js.map +1 -0
  257. package/dist/components/data-display/List/List.module.css.cjs +2 -0
  258. package/dist/components/data-display/List/List.module.css.cjs.map +1 -0
  259. package/dist/components/data-display/List/List.module.css.js +32 -0
  260. package/dist/components/data-display/List/List.module.css.js.map +1 -0
  261. package/dist/components/data-display/List/ListingOptions.cjs +2 -0
  262. package/dist/components/data-display/List/ListingOptions.cjs.map +1 -0
  263. package/dist/components/data-display/List/ListingOptions.js +115 -0
  264. package/dist/components/data-display/List/ListingOptions.js.map +1 -0
  265. package/dist/components/data-display/List/useListing.cjs +2 -0
  266. package/dist/components/data-display/List/useListing.cjs.map +1 -0
  267. package/dist/components/data-display/List/useListing.js +85 -0
  268. package/dist/components/data-display/List/useListing.js.map +1 -0
  269. package/dist/components/data-display/List/useVirtualWindow.cjs +2 -0
  270. package/dist/components/data-display/List/useVirtualWindow.cjs.map +1 -0
  271. package/dist/components/data-display/List/useVirtualWindow.js +58 -0
  272. package/dist/components/data-display/List/useVirtualWindow.js.map +1 -0
  273. package/dist/components/data-display/Table/Table.cjs +2 -0
  274. package/dist/components/data-display/Table/Table.cjs.map +1 -0
  275. package/dist/components/data-display/Table/Table.js +238 -0
  276. package/dist/components/data-display/Table/Table.js.map +1 -0
  277. package/dist/components/data-display/Table/Table.module.css.cjs +2 -0
  278. package/dist/components/data-display/Table/Table.module.css.cjs.map +1 -0
  279. package/dist/components/data-display/Table/Table.module.css.js +69 -0
  280. package/dist/components/data-display/Table/Table.module.css.js.map +1 -0
  281. package/dist/components/feedback/Alert/Alert.cjs +2 -0
  282. package/dist/components/feedback/Alert/Alert.cjs.map +1 -0
  283. package/dist/components/feedback/Alert/Alert.js +13 -0
  284. package/dist/components/feedback/Alert/Alert.js.map +1 -0
  285. package/dist/components/feedback/Alert/Alert.module.css.cjs +2 -0
  286. package/dist/components/feedback/Alert/Alert.module.css.cjs.map +1 -0
  287. package/dist/components/feedback/Alert/Alert.module.css.js +20 -0
  288. package/dist/components/feedback/Alert/Alert.module.css.js.map +1 -0
  289. package/dist/components/feedback/EmptyState/EmptyState.cjs +2 -0
  290. package/dist/components/feedback/EmptyState/EmptyState.cjs.map +1 -0
  291. package/dist/components/feedback/EmptyState/EmptyState.js +49 -0
  292. package/dist/components/feedback/EmptyState/EmptyState.js.map +1 -0
  293. package/dist/components/feedback/EmptyState/EmptyState.module.css.cjs +2 -0
  294. package/dist/components/feedback/EmptyState/EmptyState.module.css.cjs.map +1 -0
  295. package/dist/components/feedback/EmptyState/EmptyState.module.css.js +36 -0
  296. package/dist/components/feedback/EmptyState/EmptyState.module.css.js.map +1 -0
  297. package/dist/components/feedback/Progress/Progress.cjs +2 -0
  298. package/dist/components/feedback/Progress/Progress.cjs.map +1 -0
  299. package/dist/components/feedback/Progress/Progress.js +34 -0
  300. package/dist/components/feedback/Progress/Progress.js.map +1 -0
  301. package/dist/components/feedback/Progress/Progress.module.css.cjs +2 -0
  302. package/dist/components/feedback/Progress/Progress.module.css.cjs.map +1 -0
  303. package/dist/components/feedback/Progress/Progress.module.css.js +21 -0
  304. package/dist/components/feedback/Progress/Progress.module.css.js.map +1 -0
  305. package/dist/components/feedback/Spinner/Spinner.cjs +2 -0
  306. package/dist/components/feedback/Spinner/Spinner.cjs.map +1 -0
  307. package/dist/components/feedback/Spinner/Spinner.js +10 -0
  308. package/dist/components/feedback/Spinner/Spinner.js.map +1 -0
  309. package/dist/components/feedback/Spinner/Spinner.module.css.cjs +2 -0
  310. package/dist/components/feedback/Spinner/Spinner.module.css.cjs.map +1 -0
  311. package/dist/components/feedback/Spinner/Spinner.module.css.js +15 -0
  312. package/dist/components/feedback/Spinner/Spinner.module.css.js.map +1 -0
  313. package/dist/components/forms/Checkbox/Checkbox.cjs +2 -0
  314. package/dist/components/forms/Checkbox/Checkbox.cjs.map +1 -0
  315. package/dist/components/forms/Checkbox/Checkbox.js +45 -0
  316. package/dist/components/forms/Checkbox/Checkbox.js.map +1 -0
  317. package/dist/components/forms/Checkbox/Checkbox.module.css.cjs +2 -0
  318. package/dist/components/forms/Checkbox/Checkbox.module.css.cjs.map +1 -0
  319. package/dist/components/forms/Checkbox/Checkbox.module.css.js +20 -0
  320. package/dist/components/forms/Checkbox/Checkbox.module.css.js.map +1 -0
  321. package/dist/components/forms/ComboBox/ComboBox.cjs +3 -0
  322. package/dist/components/forms/ComboBox/ComboBox.cjs.map +1 -0
  323. package/dist/components/forms/ComboBox/ComboBox.js +223 -0
  324. package/dist/components/forms/ComboBox/ComboBox.js.map +1 -0
  325. package/dist/components/forms/ComboBox/ComboBox.module.css.cjs +2 -0
  326. package/dist/components/forms/ComboBox/ComboBox.module.css.cjs.map +1 -0
  327. package/dist/components/forms/ComboBox/ComboBox.module.css.js +28 -0
  328. package/dist/components/forms/ComboBox/ComboBox.module.css.js.map +1 -0
  329. package/dist/components/forms/DatePicker/Calendar.cjs +2 -0
  330. package/dist/components/forms/DatePicker/Calendar.cjs.map +1 -0
  331. package/dist/components/forms/DatePicker/Calendar.js +86 -0
  332. package/dist/components/forms/DatePicker/Calendar.js.map +1 -0
  333. package/dist/components/forms/DatePicker/DatePicker.cjs +2 -0
  334. package/dist/components/forms/DatePicker/DatePicker.cjs.map +1 -0
  335. package/dist/components/forms/DatePicker/DatePicker.js +217 -0
  336. package/dist/components/forms/DatePicker/DatePicker.js.map +1 -0
  337. package/dist/components/forms/DatePicker/DatePicker.module.css.cjs +2 -0
  338. package/dist/components/forms/DatePicker/DatePicker.module.css.cjs.map +1 -0
  339. package/dist/components/forms/DatePicker/DatePicker.module.css.js +44 -0
  340. package/dist/components/forms/DatePicker/DatePicker.module.css.js.map +1 -0
  341. package/dist/components/forms/DatePicker/iso.cjs +2 -0
  342. package/dist/components/forms/DatePicker/iso.cjs.map +1 -0
  343. package/dist/components/forms/DatePicker/iso.js +18 -0
  344. package/dist/components/forms/DatePicker/iso.js.map +1 -0
  345. package/dist/components/forms/DateTimePicker/DateTimePicker.cjs +2 -0
  346. package/dist/components/forms/DateTimePicker/DateTimePicker.cjs.map +1 -0
  347. package/dist/components/forms/DateTimePicker/DateTimePicker.js +241 -0
  348. package/dist/components/forms/DateTimePicker/DateTimePicker.js.map +1 -0
  349. package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.cjs +2 -0
  350. package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.cjs.map +1 -0
  351. package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.js +26 -0
  352. package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.js.map +1 -0
  353. package/dist/components/forms/Field/Field.cjs +2 -0
  354. package/dist/components/forms/Field/Field.cjs.map +1 -0
  355. package/dist/components/forms/Field/Field.js +34 -0
  356. package/dist/components/forms/Field/Field.js.map +1 -0
  357. package/dist/components/forms/Field/Field.module.css.cjs +2 -0
  358. package/dist/components/forms/Field/Field.module.css.cjs.map +1 -0
  359. package/dist/components/forms/Field/Field.module.css.js +16 -0
  360. package/dist/components/forms/Field/Field.module.css.js.map +1 -0
  361. package/dist/components/forms/Field/FormValue.cjs +2 -0
  362. package/dist/components/forms/Field/FormValue.cjs.map +1 -0
  363. package/dist/components/forms/Field/FormValue.js +24 -0
  364. package/dist/components/forms/Field/FormValue.js.map +1 -0
  365. package/dist/components/forms/InputCurrency/InputCurrency.cjs +2 -0
  366. package/dist/components/forms/InputCurrency/InputCurrency.cjs.map +1 -0
  367. package/dist/components/forms/InputCurrency/InputCurrency.js +41 -0
  368. package/dist/components/forms/InputCurrency/InputCurrency.js.map +1 -0
  369. package/dist/components/forms/InputNumber/InputNumber.cjs +2 -0
  370. package/dist/components/forms/InputNumber/InputNumber.cjs.map +1 -0
  371. package/dist/components/forms/InputNumber/InputNumber.js +39 -0
  372. package/dist/components/forms/InputNumber/InputNumber.js.map +1 -0
  373. package/dist/components/forms/InputPassword/InputPassword.cjs +2 -0
  374. package/dist/components/forms/InputPassword/InputPassword.cjs.map +1 -0
  375. package/dist/components/forms/InputPassword/InputPassword.js +110 -0
  376. package/dist/components/forms/InputPassword/InputPassword.js.map +1 -0
  377. package/dist/components/forms/InputPassword/InputPassword.module.css.cjs +2 -0
  378. package/dist/components/forms/InputPassword/InputPassword.module.css.cjs.map +1 -0
  379. package/dist/components/forms/InputPassword/InputPassword.module.css.js +18 -0
  380. package/dist/components/forms/InputPassword/InputPassword.module.css.js.map +1 -0
  381. package/dist/components/forms/InputText/InputText.cjs +2 -0
  382. package/dist/components/forms/InputText/InputText.cjs.map +1 -0
  383. package/dist/components/forms/InputText/InputText.js +62 -0
  384. package/dist/components/forms/InputText/InputText.js.map +1 -0
  385. package/dist/components/forms/InputText/InputText.module.css.cjs +2 -0
  386. package/dist/components/forms/InputText/InputText.module.css.cjs.map +1 -0
  387. package/dist/components/forms/InputText/InputText.module.css.js +14 -0
  388. package/dist/components/forms/InputText/InputText.module.css.js.map +1 -0
  389. package/dist/components/forms/Label/Label.cjs +2 -0
  390. package/dist/components/forms/Label/Label.cjs.map +1 -0
  391. package/dist/components/forms/Label/Label.js +13 -0
  392. package/dist/components/forms/Label/Label.js.map +1 -0
  393. package/dist/components/forms/Label/Label.module.css.cjs +2 -0
  394. package/dist/components/forms/Label/Label.module.css.cjs.map +1 -0
  395. package/dist/components/forms/Label/Label.module.css.js +10 -0
  396. package/dist/components/forms/Label/Label.module.css.js.map +1 -0
  397. package/dist/components/forms/RadioGroup/Radio.cjs +2 -0
  398. package/dist/components/forms/RadioGroup/Radio.cjs.map +1 -0
  399. package/dist/components/forms/RadioGroup/Radio.js +43 -0
  400. package/dist/components/forms/RadioGroup/Radio.js.map +1 -0
  401. package/dist/components/forms/RadioGroup/RadioGroup.cjs +2 -0
  402. package/dist/components/forms/RadioGroup/RadioGroup.cjs.map +1 -0
  403. package/dist/components/forms/RadioGroup/RadioGroup.js +58 -0
  404. package/dist/components/forms/RadioGroup/RadioGroup.js.map +1 -0
  405. package/dist/components/forms/RadioGroup/RadioGroup.module.css.cjs +2 -0
  406. package/dist/components/forms/RadioGroup/RadioGroup.module.css.cjs.map +1 -0
  407. package/dist/components/forms/RadioGroup/RadioGroup.module.css.js +26 -0
  408. package/dist/components/forms/RadioGroup/RadioGroup.module.css.js.map +1 -0
  409. package/dist/components/forms/Select/Select.cjs +2 -0
  410. package/dist/components/forms/Select/Select.cjs.map +1 -0
  411. package/dist/components/forms/Select/Select.js +191 -0
  412. package/dist/components/forms/Select/Select.js.map +1 -0
  413. package/dist/components/forms/Select/Select.module.css.cjs +2 -0
  414. package/dist/components/forms/Select/Select.module.css.cjs.map +1 -0
  415. package/dist/components/forms/Select/Select.module.css.js +22 -0
  416. package/dist/components/forms/Select/Select.module.css.js.map +1 -0
  417. package/dist/components/forms/Switch/Switch.cjs +2 -0
  418. package/dist/components/forms/Switch/Switch.cjs.map +1 -0
  419. package/dist/components/forms/Switch/Switch.js +39 -0
  420. package/dist/components/forms/Switch/Switch.js.map +1 -0
  421. package/dist/components/forms/Switch/Switch.module.css.cjs +2 -0
  422. package/dist/components/forms/Switch/Switch.module.css.cjs.map +1 -0
  423. package/dist/components/forms/Switch/Switch.module.css.js +20 -0
  424. package/dist/components/forms/Switch/Switch.module.css.js.map +1 -0
  425. package/dist/components/forms/Textarea/Textarea.cjs +2 -0
  426. package/dist/components/forms/Textarea/Textarea.cjs.map +1 -0
  427. package/dist/components/forms/Textarea/Textarea.js +64 -0
  428. package/dist/components/forms/Textarea/Textarea.js.map +1 -0
  429. package/dist/components/forms/Textarea/Textarea.module.css.cjs +2 -0
  430. package/dist/components/forms/Textarea/Textarea.module.css.cjs.map +1 -0
  431. package/dist/components/forms/Textarea/Textarea.module.css.js +14 -0
  432. package/dist/components/forms/Textarea/Textarea.module.css.js.map +1 -0
  433. package/dist/components/forms/TimePicker/TimePicker.cjs +2 -0
  434. package/dist/components/forms/TimePicker/TimePicker.cjs.map +1 -0
  435. package/dist/components/forms/TimePicker/TimePicker.js +176 -0
  436. package/dist/components/forms/TimePicker/TimePicker.js.map +1 -0
  437. package/dist/components/forms/TimePicker/TimePicker.module.css.cjs +2 -0
  438. package/dist/components/forms/TimePicker/TimePicker.module.css.cjs.map +1 -0
  439. package/dist/components/forms/TimePicker/TimePicker.module.css.js +26 -0
  440. package/dist/components/forms/TimePicker/TimePicker.module.css.js.map +1 -0
  441. package/dist/components/forms/TimePicker/TimeSlots.cjs +2 -0
  442. package/dist/components/forms/TimePicker/TimeSlots.cjs.map +1 -0
  443. package/dist/components/forms/TimePicker/TimeSlots.js +81 -0
  444. package/dist/components/forms/TimePicker/TimeSlots.js.map +1 -0
  445. package/dist/components/icons/Icon.cjs +2 -0
  446. package/dist/components/icons/Icon.cjs.map +1 -0
  447. package/dist/components/icons/Icon.js +24 -0
  448. package/dist/components/icons/Icon.js.map +1 -0
  449. package/dist/components/icons/icons.cjs +2 -0
  450. package/dist/components/icons/icons.cjs.map +1 -0
  451. package/dist/components/icons/icons.js +116 -0
  452. package/dist/components/icons/icons.js.map +1 -0
  453. package/dist/components/navigation/Breadcrumb/Breadcrumb.cjs +2 -0
  454. package/dist/components/navigation/Breadcrumb/Breadcrumb.cjs.map +1 -0
  455. package/dist/components/navigation/Breadcrumb/Breadcrumb.js +22 -0
  456. package/dist/components/navigation/Breadcrumb/Breadcrumb.js.map +1 -0
  457. package/dist/components/navigation/Breadcrumb/Breadcrumb.module.css.cjs +2 -0
  458. package/dist/components/navigation/Breadcrumb/Breadcrumb.module.css.cjs.map +1 -0
  459. package/dist/components/navigation/Breadcrumb/Breadcrumb.module.css.js +16 -0
  460. package/dist/components/navigation/Breadcrumb/Breadcrumb.module.css.js.map +1 -0
  461. package/dist/components/navigation/Pagination/Pagination.cjs +2 -0
  462. package/dist/components/navigation/Pagination/Pagination.cjs.map +1 -0
  463. package/dist/components/navigation/Pagination/Pagination.js +70 -0
  464. package/dist/components/navigation/Pagination/Pagination.js.map +1 -0
  465. package/dist/components/navigation/Pagination/Pagination.module.css.cjs +2 -0
  466. package/dist/components/navigation/Pagination/Pagination.module.css.cjs.map +1 -0
  467. package/dist/components/navigation/Pagination/Pagination.module.css.js +18 -0
  468. package/dist/components/navigation/Pagination/Pagination.module.css.js.map +1 -0
  469. package/dist/components/navigation/Tabs/Tabs.cjs +2 -0
  470. package/dist/components/navigation/Tabs/Tabs.cjs.map +1 -0
  471. package/dist/components/navigation/Tabs/Tabs.js +96 -0
  472. package/dist/components/navigation/Tabs/Tabs.js.map +1 -0
  473. package/dist/components/navigation/Tabs/Tabs.module.css.cjs +2 -0
  474. package/dist/components/navigation/Tabs/Tabs.module.css.cjs.map +1 -0
  475. package/dist/components/navigation/Tabs/Tabs.module.css.js +20 -0
  476. package/dist/components/navigation/Tabs/Tabs.module.css.js.map +1 -0
  477. package/dist/components/overlays/Dialog/Dialog.cjs +2 -0
  478. package/dist/components/overlays/Dialog/Dialog.cjs.map +1 -0
  479. package/dist/components/overlays/Dialog/Dialog.js +64 -0
  480. package/dist/components/overlays/Dialog/Dialog.js.map +1 -0
  481. package/dist/components/overlays/Dialog/Dialog.module.css.cjs +2 -0
  482. package/dist/components/overlays/Dialog/Dialog.module.css.cjs.map +1 -0
  483. package/dist/components/overlays/Dialog/Dialog.module.css.js +36 -0
  484. package/dist/components/overlays/Dialog/Dialog.module.css.js.map +1 -0
  485. package/dist/components/overlays/Menu/Menu.cjs +2 -0
  486. package/dist/components/overlays/Menu/Menu.cjs.map +1 -0
  487. package/dist/components/overlays/Menu/Menu.js +137 -0
  488. package/dist/components/overlays/Menu/Menu.js.map +1 -0
  489. package/dist/components/overlays/Menu/Menu.module.css.cjs +2 -0
  490. package/dist/components/overlays/Menu/Menu.module.css.cjs.map +1 -0
  491. package/dist/components/overlays/Menu/Menu.module.css.js +10 -0
  492. package/dist/components/overlays/Menu/Menu.module.css.js.map +1 -0
  493. package/dist/components/overlays/Popover/Popover.cjs +2 -0
  494. package/dist/components/overlays/Popover/Popover.cjs.map +1 -0
  495. package/dist/components/overlays/Popover/Popover.js +59 -0
  496. package/dist/components/overlays/Popover/Popover.js.map +1 -0
  497. package/dist/components/overlays/Popover/Popover.module.css.cjs +2 -0
  498. package/dist/components/overlays/Popover/Popover.module.css.cjs.map +1 -0
  499. package/dist/components/overlays/Popover/Popover.module.css.js +8 -0
  500. package/dist/components/overlays/Popover/Popover.module.css.js.map +1 -0
  501. package/dist/components/overlays/Tooltip/Tooltip.cjs +2 -0
  502. package/dist/components/overlays/Tooltip/Tooltip.cjs.map +1 -0
  503. package/dist/components/overlays/Tooltip/Tooltip.js +84 -0
  504. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -0
  505. package/dist/components/overlays/Tooltip/Tooltip.module.css.cjs +2 -0
  506. package/dist/components/overlays/Tooltip/Tooltip.module.css.cjs.map +1 -0
  507. package/dist/components/overlays/Tooltip/Tooltip.module.css.js +8 -0
  508. package/dist/components/overlays/Tooltip/Tooltip.module.css.js.map +1 -0
  509. package/dist/design-system.css +1 -1
  510. package/dist/hooks/useCalendar/calendar.cjs +2 -0
  511. package/dist/hooks/useCalendar/calendar.cjs.map +1 -0
  512. package/dist/hooks/useCalendar/calendar.js +56 -0
  513. package/dist/hooks/useCalendar/calendar.js.map +1 -0
  514. package/dist/hooks/useCalendar/useCalendar.cjs +2 -0
  515. package/dist/hooks/useCalendar/useCalendar.cjs.map +1 -0
  516. package/dist/hooks/useCalendar/useCalendar.js +48 -0
  517. package/dist/hooks/useCalendar/useCalendar.js.map +1 -0
  518. package/dist/hooks/useCharacterCount/useCharacterCount.cjs +2 -0
  519. package/dist/hooks/useCharacterCount/useCharacterCount.cjs.map +1 -0
  520. package/dist/hooks/useCharacterCount/useCharacterCount.js +27 -0
  521. package/dist/hooks/useCharacterCount/useCharacterCount.js.map +1 -0
  522. package/dist/hooks/useDecimalInput.cjs +2 -0
  523. package/dist/hooks/useDecimalInput.cjs.map +1 -0
  524. package/dist/hooks/useDecimalInput.js +17 -0
  525. package/dist/hooks/useDecimalInput.js.map +1 -0
  526. package/dist/hooks/useFormReset.cjs +2 -0
  527. package/dist/hooks/useFormReset.cjs.map +1 -0
  528. package/dist/hooks/useFormReset.js +16 -0
  529. package/dist/hooks/useFormReset.js.map +1 -0
  530. package/dist/hooks/useMergedRefs.cjs +2 -0
  531. package/dist/hooks/useMergedRefs.cjs.map +1 -0
  532. package/dist/hooks/useMergedRefs.js +24 -0
  533. package/dist/hooks/useMergedRefs.js.map +1 -0
  534. package/dist/hooks/useSelection/selection.cjs +2 -0
  535. package/dist/hooks/useSelection/selection.cjs.map +1 -0
  536. package/dist/hooks/useSelection/selection.js +78 -0
  537. package/dist/hooks/useSelection/selection.js.map +1 -0
  538. package/dist/hooks/useSelection/useSelection.cjs +2 -0
  539. package/dist/hooks/useSelection/useSelection.cjs.map +1 -0
  540. package/dist/hooks/useSelection/useSelection.js +68 -0
  541. package/dist/hooks/useSelection/useSelection.js.map +1 -0
  542. package/dist/index.cjs +2 -0
  543. package/dist/index.cjs.map +1 -0
  544. package/dist/index.js +131 -0
  545. package/dist/index.js.map +1 -0
  546. package/dist/types/components/actions/ButtonIcon/ButtonIcon.d.ts +12 -0
  547. package/dist/types/components/actions/ButtonIcon/index.d.ts +2 -0
  548. package/dist/types/components/data-display/CodeBlock/CodeBlock.d.ts +16 -0
  549. package/dist/types/components/data-display/CodeBlock/index.d.ts +3 -0
  550. package/dist/types/components/data-display/CodeBlock/syntax.d.ts +15 -0
  551. package/dist/types/components/data-display/Table/Table.d.ts +5 -3
  552. package/dist/types/components/feedback/EmptyState/EmptyState.d.ts +14 -0
  553. package/dist/types/components/feedback/EmptyState/index.d.ts +2 -0
  554. package/dist/types/components/forms/Checkbox/Checkbox.d.ts +3 -2
  555. package/dist/types/components/forms/ComboBox/ComboBox.d.ts +15 -4
  556. package/dist/types/components/forms/ComboBox/index.d.ts +1 -1
  557. package/dist/types/components/icons/icons.d.ts +4 -0
  558. package/dist/types/components/icons/index.d.ts +1 -1
  559. package/dist/types/components/navigation/Pagination/Pagination.d.ts +3 -1
  560. package/dist/types/components/overlays/Dialog/Dialog.d.ts +6 -1
  561. package/dist/types/components/overlays/Dialog/index.d.ts +1 -1
  562. package/dist/types/index.d.ts +9 -3
  563. package/dist/utils/formatters/formatarData.cjs +2 -0
  564. package/dist/utils/formatters/formatarData.cjs.map +1 -0
  565. package/dist/utils/formatters/formatarData.js +32 -0
  566. package/dist/utils/formatters/formatarData.js.map +1 -0
  567. package/dist/utils/formatters/formatarEntradaData.cjs +2 -0
  568. package/dist/utils/formatters/formatarEntradaData.cjs.map +1 -0
  569. package/dist/utils/formatters/formatarEntradaData.js +22 -0
  570. package/dist/utils/formatters/formatarEntradaData.js.map +1 -0
  571. package/dist/utils/formatters/formatarEntradaDecimal.cjs +2 -0
  572. package/dist/utils/formatters/formatarEntradaDecimal.cjs.map +1 -0
  573. package/dist/utils/formatters/formatarEntradaDecimal.js +35 -0
  574. package/dist/utils/formatters/formatarEntradaDecimal.js.map +1 -0
  575. package/dist/utils/formatters/formatarEntradaHora.cjs +2 -0
  576. package/dist/utils/formatters/formatarEntradaHora.cjs.map +1 -0
  577. package/dist/utils/formatters/formatarEntradaHora.js +32 -0
  578. package/dist/utils/formatters/formatarEntradaHora.js.map +1 -0
  579. package/dist/utils/formatters/formatarEntradaMonetaria.cjs +2 -0
  580. package/dist/utils/formatters/formatarEntradaMonetaria.cjs.map +1 -0
  581. package/dist/utils/formatters/formatarEntradaMonetaria.js +17 -0
  582. package/dist/utils/formatters/formatarEntradaMonetaria.js.map +1 -0
  583. package/dist/utils/formatters/formatarNumero.cjs +2 -0
  584. package/dist/utils/formatters/formatarNumero.cjs.map +1 -0
  585. package/dist/utils/formatters/formatarNumero.js +28 -0
  586. package/dist/utils/formatters/formatarNumero.js.map +1 -0
  587. package/dist/utils/formatters/mascararPartes.cjs +2 -0
  588. package/dist/utils/formatters/mascararPartes.cjs.map +1 -0
  589. package/dist/utils/formatters/mascararPartes.js +17 -0
  590. package/dist/utils/formatters/mascararPartes.js.map +1 -0
  591. package/dist/utils/textSearch/textSearch.cjs +2 -0
  592. package/dist/utils/textSearch/textSearch.cjs.map +1 -0
  593. package/dist/utils/textSearch/textSearch.js +22 -0
  594. package/dist/utils/textSearch/textSearch.js.map +1 -0
  595. package/package.json +5 -5
  596. package/dist/plenus-design-system.cjs +0 -2
  597. package/dist/plenus-design-system.cjs.map +0 -1
  598. package/dist/plenus-design-system.es.js +0 -6297
  599. package/dist/plenus-design-system.es.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),j=require("react"),r=require("./Button.module.css.cjs"),p=require("../../feedback/Spinner/Spinner.cjs"),q=j.forwardRef(({children:a,className:o,disabled:i=!1,loading:e=!1,onClick:t,size:u="md",type:l="button",variant:d="primary",...f},c)=>{const m=[r.default.button,r.default[d],r.default[u],o].filter(Boolean).join(" ");function b(s){if(e){s.preventDefault();return}t==null||t(s)}return n.jsxs("button",{...f,ref:c,className:m,disabled:i,"aria-disabled":e||void 0,"aria-busy":e||void 0,onClick:b,type:l,children:[e&&n.jsx(p.Spinner,{size:u==="lg"?"md":"sm"}),a]})});exports.Button=q;
2
+ //# sourceMappingURL=Button.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.cjs","sources":["../../../../src/components/actions/Button/Button.tsx"],"sourcesContent":["import { forwardRef, type ButtonHTMLAttributes, type MouseEvent } from 'react';\nimport { Spinner } from '../../feedback/Spinner';\nimport styles from './Button.module.css';\n\nexport type ButtonVariant = 'primary' | 'secondary' | 'soft' | 'ghost' | 'danger';\nexport type ButtonSize = 'sm' | 'md' | 'lg';\n\nexport interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n variant?: ButtonVariant;\n size?: ButtonSize;\n loading?: boolean;\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n children,\n className,\n disabled = false,\n loading = false,\n onClick,\n size = 'md',\n type = 'button',\n variant = 'primary',\n ...props\n },\n ref,\n ) => {\n const classes = [styles.button, styles[variant], styles[size], className]\n .filter(Boolean)\n .join(' ');\n\n function handleClick(event: MouseEvent<HTMLButtonElement>) {\n if (loading) {\n event.preventDefault();\n return;\n }\n onClick?.(event);\n }\n\n return (\n <button\n {...props}\n ref={ref}\n className={classes}\n disabled={disabled}\n aria-disabled={loading || undefined}\n aria-busy={loading || undefined}\n onClick={handleClick}\n type={type}\n >\n {loading && <Spinner size={size === 'lg' ? 'md' : 'sm'} />}\n {children}\n </button>\n );\n },\n);\n"],"names":["Button","forwardRef","children","className","disabled","loading","onClick","size","type","variant","props","ref","classes","styles","handleClick","event","jsxs","Spinner"],"mappings":"6NAaaA,EAASC,EAAAA,WACpB,CACE,CACE,SAAAC,EACA,UAAAC,EACA,SAAAC,EAAW,GACX,QAAAC,EAAU,GACV,QAAAC,EACA,KAAAC,EAAO,KACP,KAAAC,EAAO,SACP,QAAAC,EAAU,UACV,GAAGC,CAAA,EAELC,IACG,CACH,MAAMC,EAAU,CAACC,EAAAA,QAAO,OAAQA,EAAAA,QAAOJ,CAAO,EAAGI,EAAAA,QAAON,CAAI,EAAGJ,CAAS,EACrE,OAAO,OAAO,EACd,KAAK,GAAG,EAEX,SAASW,EAAYC,EAAsC,CACzD,GAAIV,EAAS,CACXU,EAAM,eAAA,EACN,MACF,CACAT,GAAA,MAAAA,EAAUS,EACZ,CAEA,OACEC,EAAAA,KAAC,SAAA,CACE,GAAGN,EACJ,IAAAC,EACA,UAAWC,EACX,SAAAR,EACA,gBAAeC,GAAW,OAC1B,YAAWA,GAAW,OACtB,QAASS,EACT,KAAAN,EAEC,SAAA,CAAAH,SAAYY,EAAAA,QAAA,CAAQ,KAAMV,IAAS,KAAO,KAAO,KAAM,EACvDL,CAAA,CAAA,CAAA,CAGP,CACF"}
@@ -0,0 +1,47 @@
1
+ import { jsxs as b, jsx as c } from "react/jsx-runtime";
2
+ import { forwardRef as j } from "react";
3
+ import s from "./Button.module.css.js";
4
+ import { Spinner as x } from "../../feedback/Spinner/Spinner.js";
5
+ const w = j(
6
+ ({
7
+ children: m,
8
+ className: a,
9
+ disabled: f = !1,
10
+ loading: r = !1,
11
+ onClick: t,
12
+ size: e = "md",
13
+ type: i = "button",
14
+ variant: n = "primary",
15
+ ...u
16
+ }, p) => {
17
+ const l = [s.button, s[n], s[e], a].filter(Boolean).join(" ");
18
+ function d(o) {
19
+ if (r) {
20
+ o.preventDefault();
21
+ return;
22
+ }
23
+ t == null || t(o);
24
+ }
25
+ return /* @__PURE__ */ b(
26
+ "button",
27
+ {
28
+ ...u,
29
+ ref: p,
30
+ className: l,
31
+ disabled: f,
32
+ "aria-disabled": r || void 0,
33
+ "aria-busy": r || void 0,
34
+ onClick: d,
35
+ type: i,
36
+ children: [
37
+ r && /* @__PURE__ */ c(x, { size: e === "lg" ? "md" : "sm" }),
38
+ m
39
+ ]
40
+ }
41
+ );
42
+ }
43
+ );
44
+ export {
45
+ w as Button
46
+ };
47
+ //# sourceMappingURL=Button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.js","sources":["../../../../src/components/actions/Button/Button.tsx"],"sourcesContent":["import { forwardRef, type ButtonHTMLAttributes, type MouseEvent } from 'react';\nimport { Spinner } from '../../feedback/Spinner';\nimport styles from './Button.module.css';\n\nexport type ButtonVariant = 'primary' | 'secondary' | 'soft' | 'ghost' | 'danger';\nexport type ButtonSize = 'sm' | 'md' | 'lg';\n\nexport interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n variant?: ButtonVariant;\n size?: ButtonSize;\n loading?: boolean;\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n children,\n className,\n disabled = false,\n loading = false,\n onClick,\n size = 'md',\n type = 'button',\n variant = 'primary',\n ...props\n },\n ref,\n ) => {\n const classes = [styles.button, styles[variant], styles[size], className]\n .filter(Boolean)\n .join(' ');\n\n function handleClick(event: MouseEvent<HTMLButtonElement>) {\n if (loading) {\n event.preventDefault();\n return;\n }\n onClick?.(event);\n }\n\n return (\n <button\n {...props}\n ref={ref}\n className={classes}\n disabled={disabled}\n aria-disabled={loading || undefined}\n aria-busy={loading || undefined}\n onClick={handleClick}\n type={type}\n >\n {loading && <Spinner size={size === 'lg' ? 'md' : 'sm'} />}\n {children}\n </button>\n );\n },\n);\n"],"names":["Button","forwardRef","children","className","disabled","loading","onClick","size","type","variant","props","ref","classes","styles","handleClick","event","jsxs","Spinner"],"mappings":";;;;AAaO,MAAMA,IAASC;AAAA,EACpB,CACE;AAAA,IACE,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,SAAAC,IAAU;AAAA,IACV,SAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,MAAAC,IAAO;AAAA,IACP,SAAAC,IAAU;AAAA,IACV,GAAGC;AAAA,EAAA,GAELC,MACG;AACH,UAAMC,IAAU,CAACC,EAAO,QAAQA,EAAOJ,CAAO,GAAGI,EAAON,CAAI,GAAGJ,CAAS,EACrE,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,aAASW,EAAYC,GAAsC;AACzD,UAAIV,GAAS;AACX,QAAAU,EAAM,eAAA;AACN;AAAA,MACF;AACA,MAAAT,KAAA,QAAAA,EAAUS;AAAA,IACZ;AAEA,WACE,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACE,GAAGN;AAAA,QACJ,KAAAC;AAAA,QACA,WAAWC;AAAA,QACX,UAAAR;AAAA,QACA,iBAAeC,KAAW;AAAA,QAC1B,aAAWA,KAAW;AAAA,QACtB,SAASS;AAAA,QACT,MAAAN;AAAA,QAEC,UAAA;AAAA,UAAAH,uBAAYY,GAAA,EAAQ,MAAMV,MAAS,OAAO,OAAO,MAAM;AAAA,UACvDL;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AACF;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o="_button_1opic_1",t="_primary_1opic_37",s="_secondary_1opic_47",_="_soft_1opic_59",c="_ghost_1opic_70",n="_danger_1opic_81",e="_sm_1opic_92",r="_md_1opic_98",i="_lg_1opic_102",a={button:o,primary:t,secondary:s,soft:_,ghost:c,danger:n,sm:e,md:r,lg:i};exports.button=o;exports.danger=n;exports.default=a;exports.ghost=c;exports.lg=i;exports.md=r;exports.primary=t;exports.secondary=s;exports.sm=e;exports.soft=_;
2
+ //# sourceMappingURL=Button.module.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ const o = "_button_1opic_1", _ = "_primary_1opic_37", s = "_secondary_1opic_47", t = "_soft_1opic_59", c = "_ghost_1opic_70", n = "_danger_1opic_81", p = "_sm_1opic_92", r = "_md_1opic_98", i = "_lg_1opic_102", a = {
2
+ button: o,
3
+ primary: _,
4
+ secondary: s,
5
+ soft: t,
6
+ ghost: c,
7
+ danger: n,
8
+ sm: p,
9
+ md: r,
10
+ lg: i
11
+ };
12
+ export {
13
+ o as button,
14
+ n as danger,
15
+ a as default,
16
+ c as ghost,
17
+ i as lg,
18
+ r as md,
19
+ _ as primary,
20
+ s as secondary,
21
+ p as sm,
22
+ t as soft
23
+ };
24
+ //# sourceMappingURL=Button.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),e=require("./ButtonIcon.module.css.cjs"),l=require("../../overlays/Tooltip/Tooltip.cjs"),s=require("../Button/Button.cjs");function a({className:r,icon:u,label:t,size:o="md",variant:c="secondary",...i}){return n.jsx(l.Tooltip,{content:t,children:n.jsx(s.Button,{...i,"aria-label":t,className:[e.default.buttonIcon,e.default[o],r].filter(Boolean).join(" "),size:o,variant:c,children:u})})}exports.ButtonIcon=a;
2
+ //# sourceMappingURL=ButtonIcon.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonIcon.cjs","sources":["../../../../src/components/actions/ButtonIcon/ButtonIcon.tsx"],"sourcesContent":["import type { ButtonHTMLAttributes, ReactNode, Ref } from 'react';\nimport { Button, type ButtonSize, type ButtonVariant } from '../Button';\nimport { Tooltip } from '../../overlays/Tooltip';\nimport styles from './ButtonIcon.module.css';\n\nexport interface ButtonIconProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'aria-label' | 'children'> {\n icon: ReactNode;\n /** Nome do botao: o leitor de tela o ouve, e a dica o mostra a quem passa o ponteiro ou chega pelo teclado. */\n label: string;\n ref?: Ref<HTMLButtonElement>;\n size?: ButtonSize;\n /** `secondary` por padrao: um quadrado na cor principal chamaria mais atencao do que uma acao de icone pede. */\n variant?: ButtonVariant;\n}\n\nexport function ButtonIcon({ className, icon, label, size = 'md', variant = 'secondary', ...props }: ButtonIconProps) {\n return (\n <Tooltip content={label}>\n <Button\n {...props}\n aria-label={label}\n className={[styles.buttonIcon, styles[size], className].filter(Boolean).join(' ')}\n size={size}\n variant={variant}\n >\n {icon}\n </Button>\n </Tooltip>\n );\n}\n"],"names":["ButtonIcon","className","icon","label","size","variant","props","jsx","Tooltip","Button","styles"],"mappings":"gPAeO,SAASA,EAAW,CAAE,UAAAC,EAAW,KAAAC,EAAM,MAAAC,EAAO,KAAAC,EAAO,KAAM,QAAAC,EAAU,YAAa,GAAGC,GAA0B,CACpH,OACEC,EAAAA,IAACC,EAAAA,QAAA,CAAQ,QAASL,EAChB,SAAAI,EAAAA,IAACE,EAAAA,OAAA,CACE,GAAGH,EACJ,aAAYH,EACZ,UAAW,CAACO,EAAAA,QAAO,WAAYA,EAAAA,QAAON,CAAI,EAAGH,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EAChF,KAAAG,EACA,QAAAC,EAEC,SAAAH,CAAA,CAAA,EAEL,CAEJ"}
@@ -0,0 +1,21 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import n from "./ButtonIcon.module.css.js";
3
+ import { Tooltip as l } from "../../overlays/Tooltip/Tooltip.js";
4
+ import { Button as a } from "../Button/Button.js";
5
+ function d({ className: i, icon: m, label: o, size: t = "md", variant: e = "secondary", ...c }) {
6
+ return /* @__PURE__ */ r(l, { content: o, children: /* @__PURE__ */ r(
7
+ a,
8
+ {
9
+ ...c,
10
+ "aria-label": o,
11
+ className: [n.buttonIcon, n[t], i].filter(Boolean).join(" "),
12
+ size: t,
13
+ variant: e,
14
+ children: m
15
+ }
16
+ ) });
17
+ }
18
+ export {
19
+ d as ButtonIcon
20
+ };
21
+ //# sourceMappingURL=ButtonIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonIcon.js","sources":["../../../../src/components/actions/ButtonIcon/ButtonIcon.tsx"],"sourcesContent":["import type { ButtonHTMLAttributes, ReactNode, Ref } from 'react';\nimport { Button, type ButtonSize, type ButtonVariant } from '../Button';\nimport { Tooltip } from '../../overlays/Tooltip';\nimport styles from './ButtonIcon.module.css';\n\nexport interface ButtonIconProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'aria-label' | 'children'> {\n icon: ReactNode;\n /** Nome do botao: o leitor de tela o ouve, e a dica o mostra a quem passa o ponteiro ou chega pelo teclado. */\n label: string;\n ref?: Ref<HTMLButtonElement>;\n size?: ButtonSize;\n /** `secondary` por padrao: um quadrado na cor principal chamaria mais atencao do que uma acao de icone pede. */\n variant?: ButtonVariant;\n}\n\nexport function ButtonIcon({ className, icon, label, size = 'md', variant = 'secondary', ...props }: ButtonIconProps) {\n return (\n <Tooltip content={label}>\n <Button\n {...props}\n aria-label={label}\n className={[styles.buttonIcon, styles[size], className].filter(Boolean).join(' ')}\n size={size}\n variant={variant}\n >\n {icon}\n </Button>\n </Tooltip>\n );\n}\n"],"names":["ButtonIcon","className","icon","label","size","variant","props","jsx","Tooltip","Button","styles"],"mappings":";;;;AAeO,SAASA,EAAW,EAAE,WAAAC,GAAW,MAAAC,GAAM,OAAAC,GAAO,MAAAC,IAAO,MAAM,SAAAC,IAAU,aAAa,GAAGC,KAA0B;AACpH,SACE,gBAAAC,EAACC,GAAA,EAAQ,SAASL,GAChB,UAAA,gBAAAI;AAAA,IAACE;AAAA,IAAA;AAAA,MACE,GAAGH;AAAA,MACJ,cAAYH;AAAA,MACZ,WAAW,CAACO,EAAO,YAAYA,EAAON,CAAI,GAAGH,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,MAChF,MAAAG;AAAA,MACA,SAAAC;AAAA,MAEC,UAAAH;AAAA,IAAA;AAAA,EAAA,GAEL;AAEJ;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t="_buttonIcon_1as9f_2",s="_sm_1as9f_2",o="_md_1as9f_7",n="_lg_1as9f_12",e={buttonIcon:t,sm:s,md:o,lg:n};exports.buttonIcon=t;exports.default=e;exports.lg=n;exports.md=o;exports.sm=s;
2
+ //# sourceMappingURL=ButtonIcon.module.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonIcon.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ const s = "_buttonIcon_1as9f_2", t = "_sm_1as9f_2", o = "_md_1as9f_7", _ = "_lg_1as9f_12", n = {
2
+ buttonIcon: s,
3
+ sm: t,
4
+ md: o,
5
+ lg: _
6
+ };
7
+ export {
8
+ s as buttonIcon,
9
+ n as default,
10
+ _ as lg,
11
+ o as md,
12
+ t as sm
13
+ };
14
+ //# sourceMappingURL=ButtonIcon.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonIcon.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),v=require("react"),y=require("./ChartArea.module.css.cjs"),mt=require("../core/useChartMetrics.cjs"),ht=require("../core/useSeriesToggle.cjs"),pt=require("../palette/seriesColor.cjs"),E=require("../core/useTweenedNumbers.cjs"),i=require("../scales/scales.cjs"),D=require("../core/cartesianLayout.cjs"),dt=require("../core/spacing.cjs"),ft=require("../../../utils/formatters/formatarNumero.cjs"),bt=require("../core/CartesianFrame.cjs"),J=require("../core/shapes.cjs");function gt(u,a){return u[a]!==null&&!u[a-1]&&!u[a+1]}function xt(u,a){const M=u.flatMap(p=>p===null?[]:[p.y1]),j=Math.min(a,...M),C=Math.max(a,...M);return C>j?(a-j)/(C-j):1}function vt({accent:u,categories:a,curve:M="smooth",defaultHiddenSeries:j,emptyMessage:C="Sem dados no período",formatValue:p=ft.formatarNumero,height:K=260,includeZero:O=!0,hiddenSeries:Q,labelAngle:U="auto",legend:W="bottom",legendAlign:X,onHiddenSeriesChange:Y,series:l,showDataLabels:T=!1,showDots:Z=!1,stacked:g=!1,title:tt,xAxis:S="visible",yAxis:w="visible",yAxisRight:A="hidden"}){const F=v.useId(),{font:P,height:et,ref:ot,width:R}=mt.useChartMetrics(),{fillHeight:at,value:q}=D.chartHeight(K,et),{isHidden:x,toggle:lt}=ht.useSeriesToggle({defaultHiddenSeries:j,hiddenSeries:Q,onHiddenSeriesChange:Y}),d=v.useMemo(()=>pt.resolveSeriesColors(l,{accent:u}),[u,l]),nt=E.useTweenedNumbers(l.map(e=>x(e.label)?0:1)),st=e=>nt[e]??0,N=v.useMemo(()=>{const e=t=>x(l[t].label)?0:1;return g?i.domainOf(a.flatMap((t,o)=>i.stackDiverging(l.map((m,r)=>(m.values[o]??0)*e(r))).flat())):i.mergeDomains(l.filter(t=>!x(t.label)).map(t=>i.domainOf(t.values.filter(o=>o!==null),{includeZero:O})))},[a,O,x,l,g]),H=D.valueLabelsFor(N,q,p),{margins:rt,plot:c,rotation:it}=D.cartesianLayout({bottomLabels:a,font:P,height:q,labelAngle:U,leftLabels:H,rightLabels:H,topRoom:T?dt.valueLabelRoom(P):0,width:R,xAxis:S,yAxis:w,yAxisRight:A}),_=v.useMemo(()=>i.pointScale({domain:a,padding:0,range:[0,c.width]}),[a,c.width]),k=v.useMemo(()=>i.linearScale({domain:N,range:[c.height,0]}),[N,c.height]),[L,$]=E.useTweenedNumbers(k.domain()),f=v.useMemo(()=>i.linearScale({domain:{min:L,max:$},nice:!1,range:[c.height,0]}),[$,L,c.height]),z=i.ticksFor(k,c.height),I=f(Math.min(Math.max(0,L),$)),ut=a.map((e,t)=>i.stackDiverging(l.map((o,m)=>(o.values[t]??0)*st(m)))),V=l.map((e,t)=>a.map((o,m)=>{const r=e.values[m];if(r==null||!Number.isFinite(r))return null;const[h,s]=ut[m][t];return{x:_(o)??0,y0:g?f(h):I,y1:f(g?s:r)}})),ct=a.map(e=>({label:e,position:_(e)??0})),G=z.map(e=>({label:p(e),position:f(e)}));return n.jsxs(bt.CartesianFrame,{containerRef:ot,empty:l.length===0||a.length===0,emptyMessage:C,grid:[{baseline:f(0),lines:z.map(e=>f(e)),orientation:"horizontal"}],fillHeight:at,height:q,legend:l.map((e,t)=>({color:d[t],hidden:x(e.label),label:e.label})),legendAlign:X,legendPosition:W,margins:rt,onToggleSeries:lt,plot:c,title:tt,width:R,xAxis:{labelRotation:it,ticks:ct,visibility:S},yAxis:{hideLine:!0,ticks:G,visibility:w},yAxisRight:{hideLine:!0,ticks:G,visibility:A},children:[!g&&n.jsx("defs",{children:l.map((e,t)=>{const o=xt(V[t],I);return n.jsxs("linearGradient",{id:`${F}-${t}`,x1:"0",x2:"0",y1:"0",y2:"1",children:[o>0&&n.jsx("stop",{offset:o*.05,stopColor:d[t],stopOpacity:.6}),n.jsx("stop",{offset:o,stopColor:d[t],stopOpacity:.05}),o<1&&n.jsx("stop",{offset:o+(1-o)*.95,stopColor:d[t],stopOpacity:.6})]},t)})}),l.map((e,t)=>{const o=V[t],m=o.map(h=>h===null?null:{x:h.x,y:h.y1}),r=x(e.label);return n.jsxs("g",{"aria-hidden":r||void 0,className:`${y.default.series} ${r?y.default.seriesOff:""}`,children:[n.jsx("path",{d:J.areaPath(o,M),fill:g?d[t]:`url(#${F}-${t})`}),n.jsx("path",{className:y.default.outline,d:J.linePath(m,M),fill:"none",stroke:d[t]}),a.map((h,s)=>{const b=o[s];if(b===null)return null;const B=`${e.label}, ${h}: ${p(e.values[s]??0)}`;return n.jsx("circle",{"aria-label":B,className:Z||gt(o,s)?y.default.dotVisible:y.default.dot,cx:b.x,cy:b.y1,fill:d[t],r:4,children:n.jsx("title",{children:B})},s)}),T&&a.map((h,s)=>{const b=o[s];return b===null?null:n.jsx("text",{className:y.default.valueLabel,textAnchor:"middle",x:b.x,y:b.y1-10,children:p(e.values[s]??0)},s)})]},t)})]})}exports.ChartArea=vt;
2
+ //# sourceMappingURL=ChartArea.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChartArea.cjs","sources":["../../../../src/components/charts/ChartArea/ChartArea.tsx"],"sourcesContent":["import { useId, useMemo } from 'react';\nimport {\n CartesianFrame,\n areaPath,\n cartesianLayout,\n chartHeight,\n linePath,\n useChartMetrics,\n useSeriesToggle,\n useTweenedNumbers,\n valueLabelRoom,\n valueLabelsFor,\n type AxisLabelAngle,\n type AxisTick,\n type AxisVisibility,\n type ChartBand,\n type ChartCurve,\n type ChartHeight,\n type ChartLegendAlign,\n type ChartLegendPosition,\n type ChartPoint,\n} from '../core';\nimport { resolveSeriesColors, type SeriesAppearance } from '../palette';\nimport { domainOf, linearScale, mergeDomains, pointScale, stackDiverging, ticksFor } from '../scales';\nimport { formatarNumero } from '../../../utils/formatters';\nimport styles from './ChartArea.module.css';\n/**\n * Faixa sem vizinha desenhada. O contorno entre ela e o nada nao tem tracado, e\n * o marcador so no hover deixaria o dado invisivel.\n */\nfunction isolada(faixas: readonly (ChartBand | null)[], indice: number) {\n return faixas[indice] !== null && !faixas[indice - 1] && !faixas[indice + 1];\n}\n\n/** Altura do zero dentro da area da serie, de 0 no topo a 1 na base. O degrade clareia rumo a ele pelos dois lados. */\nfunction alturaDoZero(faixas: readonly (ChartBand | null)[], base: number) {\n const pontas = faixas.flatMap((faixa) => (faixa === null ? [] : [faixa.y1]));\n const topo = Math.min(base, ...pontas);\n const fundo = Math.max(base, ...pontas);\n\n return fundo > topo ? (base - topo) / (fundo - topo) : 1;\n}\n\nexport interface ChartAreaSeries extends SeriesAppearance {\n label: string;\n values: readonly (number | null)[];\n}\n\nexport interface ChartAreaProps {\n accent?: string;\n categories: readonly string[];\n curve?: ChartCurve;\n defaultHiddenSeries?: readonly string[];\n emptyMessage?: string;\n formatValue?: (value: number) => string;\n /**\n * Inclui o zero no dominio do eixo de valor. Ligado por padrao, porque marca\n * que nao parte do zero exagera a diferenca; para medidas que nao se comparam\n * a ele — um ano, uma temperatura — desligue; um ano pede tambem um formato sem separador de milhar em `formatValue`.\n */\n includeZero?: boolean;\n height?: ChartHeight;\n hiddenSeries?: readonly string[];\n labelAngle?: AxisLabelAngle;\n legend?: ChartLegendPosition;\n legendAlign?: ChartLegendAlign;\n onHiddenSeriesChange?: (hidden: readonly string[]) => void;\n series: readonly ChartAreaSeries[];\n showDataLabels?: boolean;\n showDots?: boolean;\n stacked?: boolean;\n title: string;\n xAxis?: AxisVisibility;\n yAxis?: AxisVisibility;\n yAxisRight?: AxisVisibility;\n}\n\n\nexport function ChartArea({\n accent,\n categories,\n curve = 'smooth',\n defaultHiddenSeries,\n emptyMessage = 'Sem dados no período',\n formatValue = formatarNumero,\n height = 260,\n includeZero = true,\n hiddenSeries,\n labelAngle = 'auto',\n legend = 'bottom',\n legendAlign,\n onHiddenSeriesChange,\n series,\n showDataLabels = false,\n showDots = false,\n stacked = false,\n title,\n xAxis = 'visible',\n yAxis = 'visible',\n yAxisRight = 'hidden',\n}: ChartAreaProps) {\n const gradienteId = useId();\n const { font, height: alturaMedida, ref, width } = useChartMetrics();\n const { fillHeight, value: alturaDoDesenho } = chartHeight(height, alturaMedida);\n const { isHidden, toggle } = useSeriesToggle({ defaultHiddenSeries, hiddenSeries, onHiddenSeriesChange });\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. Empilhadas, ela pesa a\n // contribuicao, entao a faixa desligada encolhe e a pilha acompanha.\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 visivel = (ordem: number) => (isHidden(series[ordem].label) ? 0 : 1);\n\n if (stacked) {\n return domainOf(\n categories.flatMap((_, indice) =>\n stackDiverging(series.map((serie, ordem) => (serie.values[indice] ?? 0) * visivel(ordem))).flat(),\n ),\n );\n }\n\n return mergeDomains(\n series\n .filter((serie) => !isHidden(serie.label))\n .map((serie) => domainOf(serie.values.filter((valor) => valor !== null), { includeZero })),\n );\n }, [categories, includeZero, isHidden, series, stacked]);\n\n const rotulosDeValor = valueLabelsFor(dominio, alturaDoDesenho, formatValue);\n\n const { margins, plot, rotation } = cartesianLayout({\n bottomLabels: categories,\n font,\n height: alturaDoDesenho,\n labelAngle,\n leftLabels: rotulosDeValor,\n rightLabels: rotulosDeValor,\n topRoom: showDataLabels ? valueLabelRoom(font) : 0,\n width,\n xAxis,\n yAxis,\n yAxisRight,\n });\n\n const escalaCategorias = useMemo(\n () => pointScale({ domain: categories, padding: 0, 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 escalaAlvo = useMemo(\n () => linearScale({ domain: dominio, range: [plot.height, 0] }),\n [dominio, plot.height],\n );\n\n const [minimo, maximo] = useTweenedNumbers(escalaAlvo.domain());\n\n const escalaValores = useMemo(\n () => linearScale({ domain: { min: minimo, max: maximo }, nice: false, range: [plot.height, 0] }),\n [maximo, minimo, plot.height],\n );\n\n const marcasDeValor = ticksFor(escalaAlvo, plot.height);\n // Sem o zero no dominio, a area desce ate o limite do eixo, e nao ate um zero fora do desenho.\n const base = escalaValores(Math.min(Math.max(0, minimo), maximo));\n const pilhas = categories.map((_, indice) =>\n stackDiverging(series.map((serie, ordem) => (serie.values[indice] ?? 0) * presenca(ordem))),\n );\n\n const faixasPorSerie = series.map((serie, indiceSerie) =>\n categories.map<ChartBand | 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 const [de, ate] = pilhas[indice][indiceSerie];\n\n return {\n x: escalaCategorias(categoria) ?? 0,\n y0: stacked ? escalaValores(de) : base,\n y1: stacked ? escalaValores(ate) : escalaValores(valor),\n };\n }),\n );\n\n const marcasCategoria: AxisTick[] = categories.map((categoria) => ({\n label: categoria,\n position: escalaCategorias(categoria) ?? 0,\n }));\n\n const marcasValor: AxisTick[] = marcasDeValor.map((valor) => ({\n label: formatValue(valor),\n position: escalaValores(valor),\n }));\n\n return (\n <CartesianFrame\n containerRef={ref}\n empty={series.length === 0 || categories.length === 0}\n emptyMessage={emptyMessage}\n grid={[\n {\n baseline: escalaValores(0),\n lines: marcasDeValor.map((valor) => escalaValores(valor)),\n orientation: 'horizontal',\n },\n ]}\n fillHeight={fillHeight}\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 width={width}\n xAxis={{ labelRotation: rotation, ticks: marcasCategoria, visibility: xAxis }}\n yAxis={{ hideLine: true, ticks: marcasValor, visibility: yAxis }}\n yAxisRight={{ hideLine: true, ticks: marcasValor, visibility: yAxisRight }}\n >\n {/* Sem empilhamento as areas se sobrepoem, e um topo opaco esconderia a de\n baixo. O contorno em cor cheia e que marca o limite de cada faixa. */}\n {!stacked && (\n <defs>\n {series.map((serie, indice) => {\n const zero = alturaDoZero(faixasPorSerie[indice], base);\n\n return (\n <linearGradient id={`${gradienteId}-${indice}`} key={indice} x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\n {zero > 0 && <stop offset={zero * 0.05} stopColor={cores[indice]} stopOpacity={0.6} />}\n <stop offset={zero} stopColor={cores[indice]} stopOpacity={0.05} />\n {zero < 1 && <stop offset={zero + (1 - zero) * 0.95} stopColor={cores[indice]} stopOpacity={0.6} />}\n </linearGradient>\n );\n })}\n </defs>\n )}\n\n {series.map((serie, indiceSerie) => {\n const faixas = faixasPorSerie[indiceSerie];\n const contorno = faixas.map<ChartPoint | null>((faixa) =>\n faixa === null ? null : { x: faixa.x, y: faixa.y1 },\n );\n\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 <path\n d={areaPath(faixas, curve)}\n fill={stacked ? cores[indiceSerie] : `url(#${gradienteId}-${indiceSerie})`}\n />\n <path\n className={styles.outline}\n d={linePath(contorno, curve)}\n fill=\"none\"\n stroke={cores[indiceSerie]}\n />\n\n {categories.map((categoria, indice) => {\n const faixa = faixas[indice];\n\n if (faixa === null) {\n return null;\n }\n\n const descricao = `${serie.label}, ${categoria}: ${formatValue(serie.values[indice] ?? 0)}`;\n\n return (\n <circle\n aria-label={descricao}\n className={showDots || isolada(faixas, indice) ? styles.dotVisible : styles.dot}\n cx={faixa.x}\n cy={faixa.y1}\n fill={cores[indiceSerie]}\n key={indice}\n r={4}\n >\n <title>{descricao}</title>\n </circle>\n );\n })}\n\n {showDataLabels &&\n categories.map((categoria, indice) => {\n const faixa = faixas[indice];\n\n if (faixa === null) {\n return null;\n }\n\n return (\n <text\n className={styles.valueLabel}\n key={indice}\n textAnchor=\"middle\"\n x={faixa.x}\n y={faixa.y1 - 10}\n >\n {formatValue(serie.values[indice] ?? 0)}\n </text>\n );\n })}\n </g>\n );\n })}\n </CartesianFrame>\n );\n}\n"],"names":["isolada","faixas","indice","alturaDoZero","base","pontas","faixa","topo","fundo","ChartArea","accent","categories","curve","defaultHiddenSeries","emptyMessage","formatValue","formatarNumero","height","includeZero","hiddenSeries","labelAngle","legend","legendAlign","onHiddenSeriesChange","series","showDataLabels","showDots","stacked","title","xAxis","yAxis","yAxisRight","gradienteId","useId","font","alturaMedida","ref","width","useChartMetrics","fillHeight","alturaDoDesenho","chartHeight","isHidden","toggle","useSeriesToggle","cores","useMemo","resolveSeriesColors","presencas","useTweenedNumbers","serie","presenca","dominio","visivel","ordem","domainOf","_","stackDiverging","mergeDomains","valor","rotulosDeValor","valueLabelsFor","margins","plot","rotation","cartesianLayout","valueLabelRoom","escalaCategorias","pointScale","escalaAlvo","linearScale","minimo","maximo","escalaValores","marcasDeValor","ticksFor","pilhas","faixasPorSerie","indiceSerie","categoria","de","ate","marcasCategoria","marcasValor","jsxs","CartesianFrame","jsx","zero","contorno","oculta","styles","areaPath","linePath","descricao"],"mappings":"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"}
@@ -0,0 +1,205 @@
1
+ import { jsxs as O, jsx as s } from "react/jsx-runtime";
2
+ import { useId as ho, useMemo as C } from "react";
3
+ import v from "./ChartArea.module.css.js";
4
+ import { useChartMetrics as fo } from "../core/useChartMetrics.js";
5
+ import { useSeriesToggle as co } from "../core/useSeriesToggle.js";
6
+ import { resolveSeriesColors as bo } from "../palette/seriesColor.js";
7
+ import { useTweenedNumbers as B } from "../core/useTweenedNumbers.js";
8
+ import { domainOf as E, stackDiverging as J, mergeDomains as go, pointScale as vo, linearScale as K, ticksFor as yo } from "../scales/scales.js";
9
+ import { valueLabelsFor as xo, cartesianLayout as Co, chartHeight as Mo } from "../core/cartesianLayout.js";
10
+ import { valueLabelRoom as $o } from "../core/spacing.js";
11
+ import { formatarNumero as Lo } from "../../../utils/formatters/formatarNumero.js";
12
+ import { CartesianFrame as No } from "../core/CartesianFrame.js";
13
+ import { areaPath as Do, linePath as Oo } from "../core/shapes.js";
14
+ function Fo(i, a) {
15
+ return i[a] !== null && !i[a - 1] && !i[a + 1];
16
+ }
17
+ function Po(i, a) {
18
+ const y = i.flatMap((h) => h === null ? [] : [h.y1]), x = Math.min(a, ...y), M = Math.max(a, ...y);
19
+ return M > x ? (a - x) / (M - x) : 1;
20
+ }
21
+ function qo({
22
+ accent: i,
23
+ categories: a,
24
+ curve: y = "smooth",
25
+ defaultHiddenSeries: x,
26
+ emptyMessage: M = "Sem dados no período",
27
+ formatValue: h = Lo,
28
+ height: Q = 260,
29
+ includeZero: F = !0,
30
+ hiddenSeries: U,
31
+ labelAngle: W = "auto",
32
+ legend: X = "bottom",
33
+ legendAlign: Y,
34
+ onHiddenSeriesChange: Z,
35
+ series: n,
36
+ showDataLabels: P = !1,
37
+ showDots: oo = !1,
38
+ stacked: b = !1,
39
+ title: to,
40
+ xAxis: R = "visible",
41
+ yAxis: w = "visible",
42
+ yAxisRight: A = "hidden"
43
+ }) {
44
+ const H = ho(), { font: T, height: lo, ref: ao, width: j } = fo(), { fillHeight: no, value: $ } = Mo(Q, lo), { isHidden: g, toggle: ro } = co({ defaultHiddenSeries: x, hiddenSeries: U, onHiddenSeriesChange: Z }), f = C(() => bo(n, { accent: i }), [i, n]), eo = B(n.map((t) => g(t.label) ? 0 : 1)), so = (t) => eo[t] ?? 0, L = C(() => {
45
+ const t = (o) => g(n[o].label) ? 0 : 1;
46
+ return b ? E(
47
+ a.flatMap(
48
+ (o, l) => J(n.map((p, e) => (p.values[l] ?? 0) * t(e))).flat()
49
+ )
50
+ ) : go(
51
+ n.filter((o) => !g(o.label)).map((o) => E(o.values.filter((l) => l !== null), { includeZero: F }))
52
+ );
53
+ }, [a, F, g, n, b]), z = xo(L, $, h), { margins: io, plot: m, rotation: mo } = Co({
54
+ bottomLabels: a,
55
+ font: T,
56
+ height: $,
57
+ labelAngle: W,
58
+ leftLabels: z,
59
+ rightLabels: z,
60
+ topRoom: P ? $o(T) : 0,
61
+ width: j,
62
+ xAxis: R,
63
+ yAxis: w,
64
+ yAxisRight: A
65
+ }), I = C(
66
+ () => vo({ domain: a, padding: 0, range: [0, m.width] }),
67
+ [a, m.width]
68
+ ), S = C(
69
+ () => K({ domain: L, range: [m.height, 0] }),
70
+ [L, m.height]
71
+ ), [N, D] = B(S.domain()), c = C(
72
+ () => K({ domain: { min: N, max: D }, nice: !1, range: [m.height, 0] }),
73
+ [D, N, m.height]
74
+ ), V = yo(S, m.height), _ = c(Math.min(Math.max(0, N), D)), po = a.map(
75
+ (t, o) => J(n.map((l, p) => (l.values[o] ?? 0) * so(p)))
76
+ ), k = n.map(
77
+ (t, o) => a.map((l, p) => {
78
+ const e = t.values[p];
79
+ if (e == null || !Number.isFinite(e))
80
+ return null;
81
+ const [u, r] = po[p][o];
82
+ return {
83
+ x: I(l) ?? 0,
84
+ y0: b ? c(u) : _,
85
+ y1: c(b ? r : e)
86
+ };
87
+ })
88
+ ), uo = a.map((t) => ({
89
+ label: t,
90
+ position: I(t) ?? 0
91
+ })), G = V.map((t) => ({
92
+ label: h(t),
93
+ position: c(t)
94
+ }));
95
+ return /* @__PURE__ */ O(
96
+ No,
97
+ {
98
+ containerRef: ao,
99
+ empty: n.length === 0 || a.length === 0,
100
+ emptyMessage: M,
101
+ grid: [
102
+ {
103
+ baseline: c(0),
104
+ lines: V.map((t) => c(t)),
105
+ orientation: "horizontal"
106
+ }
107
+ ],
108
+ fillHeight: no,
109
+ height: $,
110
+ legend: n.map((t, o) => ({
111
+ color: f[o],
112
+ hidden: g(t.label),
113
+ label: t.label
114
+ })),
115
+ legendAlign: Y,
116
+ legendPosition: X,
117
+ margins: io,
118
+ onToggleSeries: ro,
119
+ plot: m,
120
+ title: to,
121
+ width: j,
122
+ xAxis: { labelRotation: mo, ticks: uo, visibility: R },
123
+ yAxis: { hideLine: !0, ticks: G, visibility: w },
124
+ yAxisRight: { hideLine: !0, ticks: G, visibility: A },
125
+ children: [
126
+ !b && /* @__PURE__ */ s("defs", { children: n.map((t, o) => {
127
+ const l = Po(k[o], _);
128
+ return /* @__PURE__ */ O("linearGradient", { id: `${H}-${o}`, x1: "0", x2: "0", y1: "0", y2: "1", children: [
129
+ l > 0 && /* @__PURE__ */ s("stop", { offset: l * 0.05, stopColor: f[o], stopOpacity: 0.6 }),
130
+ /* @__PURE__ */ s("stop", { offset: l, stopColor: f[o], stopOpacity: 0.05 }),
131
+ l < 1 && /* @__PURE__ */ s("stop", { offset: l + (1 - l) * 0.95, stopColor: f[o], stopOpacity: 0.6 })
132
+ ] }, o);
133
+ }) }),
134
+ n.map((t, o) => {
135
+ const l = k[o], p = l.map(
136
+ (u) => u === null ? null : { x: u.x, y: u.y1 }
137
+ ), e = g(t.label);
138
+ return /* @__PURE__ */ O(
139
+ "g",
140
+ {
141
+ "aria-hidden": e || void 0,
142
+ className: `${v.series} ${e ? v.seriesOff : ""}`,
143
+ children: [
144
+ /* @__PURE__ */ s(
145
+ "path",
146
+ {
147
+ d: Do(l, y),
148
+ fill: b ? f[o] : `url(#${H}-${o})`
149
+ }
150
+ ),
151
+ /* @__PURE__ */ s(
152
+ "path",
153
+ {
154
+ className: v.outline,
155
+ d: Oo(p, y),
156
+ fill: "none",
157
+ stroke: f[o]
158
+ }
159
+ ),
160
+ a.map((u, r) => {
161
+ const d = l[r];
162
+ if (d === null)
163
+ return null;
164
+ const q = `${t.label}, ${u}: ${h(t.values[r] ?? 0)}`;
165
+ return /* @__PURE__ */ s(
166
+ "circle",
167
+ {
168
+ "aria-label": q,
169
+ className: oo || Fo(l, r) ? v.dotVisible : v.dot,
170
+ cx: d.x,
171
+ cy: d.y1,
172
+ fill: f[o],
173
+ r: 4,
174
+ children: /* @__PURE__ */ s("title", { children: q })
175
+ },
176
+ r
177
+ );
178
+ }),
179
+ P && a.map((u, r) => {
180
+ const d = l[r];
181
+ return d === null ? null : /* @__PURE__ */ s(
182
+ "text",
183
+ {
184
+ className: v.valueLabel,
185
+ textAnchor: "middle",
186
+ x: d.x,
187
+ y: d.y1 - 10,
188
+ children: h(t.values[r] ?? 0)
189
+ },
190
+ r
191
+ );
192
+ })
193
+ ]
194
+ },
195
+ o
196
+ );
197
+ })
198
+ ]
199
+ }
200
+ );
201
+ }
202
+ export {
203
+ qo as ChartArea
204
+ };
205
+ //# sourceMappingURL=ChartArea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChartArea.js","sources":["../../../../src/components/charts/ChartArea/ChartArea.tsx"],"sourcesContent":["import { useId, useMemo } from 'react';\nimport {\n CartesianFrame,\n areaPath,\n cartesianLayout,\n chartHeight,\n linePath,\n useChartMetrics,\n useSeriesToggle,\n useTweenedNumbers,\n valueLabelRoom,\n valueLabelsFor,\n type AxisLabelAngle,\n type AxisTick,\n type AxisVisibility,\n type ChartBand,\n type ChartCurve,\n type ChartHeight,\n type ChartLegendAlign,\n type ChartLegendPosition,\n type ChartPoint,\n} from '../core';\nimport { resolveSeriesColors, type SeriesAppearance } from '../palette';\nimport { domainOf, linearScale, mergeDomains, pointScale, stackDiverging, ticksFor } from '../scales';\nimport { formatarNumero } from '../../../utils/formatters';\nimport styles from './ChartArea.module.css';\n/**\n * Faixa sem vizinha desenhada. O contorno entre ela e o nada nao tem tracado, e\n * o marcador so no hover deixaria o dado invisivel.\n */\nfunction isolada(faixas: readonly (ChartBand | null)[], indice: number) {\n return faixas[indice] !== null && !faixas[indice - 1] && !faixas[indice + 1];\n}\n\n/** Altura do zero dentro da area da serie, de 0 no topo a 1 na base. O degrade clareia rumo a ele pelos dois lados. */\nfunction alturaDoZero(faixas: readonly (ChartBand | null)[], base: number) {\n const pontas = faixas.flatMap((faixa) => (faixa === null ? [] : [faixa.y1]));\n const topo = Math.min(base, ...pontas);\n const fundo = Math.max(base, ...pontas);\n\n return fundo > topo ? (base - topo) / (fundo - topo) : 1;\n}\n\nexport interface ChartAreaSeries extends SeriesAppearance {\n label: string;\n values: readonly (number | null)[];\n}\n\nexport interface ChartAreaProps {\n accent?: string;\n categories: readonly string[];\n curve?: ChartCurve;\n defaultHiddenSeries?: readonly string[];\n emptyMessage?: string;\n formatValue?: (value: number) => string;\n /**\n * Inclui o zero no dominio do eixo de valor. Ligado por padrao, porque marca\n * que nao parte do zero exagera a diferenca; para medidas que nao se comparam\n * a ele — um ano, uma temperatura — desligue; um ano pede tambem um formato sem separador de milhar em `formatValue`.\n */\n includeZero?: boolean;\n height?: ChartHeight;\n hiddenSeries?: readonly string[];\n labelAngle?: AxisLabelAngle;\n legend?: ChartLegendPosition;\n legendAlign?: ChartLegendAlign;\n onHiddenSeriesChange?: (hidden: readonly string[]) => void;\n series: readonly ChartAreaSeries[];\n showDataLabels?: boolean;\n showDots?: boolean;\n stacked?: boolean;\n title: string;\n xAxis?: AxisVisibility;\n yAxis?: AxisVisibility;\n yAxisRight?: AxisVisibility;\n}\n\n\nexport function ChartArea({\n accent,\n categories,\n curve = 'smooth',\n defaultHiddenSeries,\n emptyMessage = 'Sem dados no período',\n formatValue = formatarNumero,\n height = 260,\n includeZero = true,\n hiddenSeries,\n labelAngle = 'auto',\n legend = 'bottom',\n legendAlign,\n onHiddenSeriesChange,\n series,\n showDataLabels = false,\n showDots = false,\n stacked = false,\n title,\n xAxis = 'visible',\n yAxis = 'visible',\n yAxisRight = 'hidden',\n}: ChartAreaProps) {\n const gradienteId = useId();\n const { font, height: alturaMedida, ref, width } = useChartMetrics();\n const { fillHeight, value: alturaDoDesenho } = chartHeight(height, alturaMedida);\n const { isHidden, toggle } = useSeriesToggle({ defaultHiddenSeries, hiddenSeries, onHiddenSeriesChange });\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. Empilhadas, ela pesa a\n // contribuicao, entao a faixa desligada encolhe e a pilha acompanha.\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 visivel = (ordem: number) => (isHidden(series[ordem].label) ? 0 : 1);\n\n if (stacked) {\n return domainOf(\n categories.flatMap((_, indice) =>\n stackDiverging(series.map((serie, ordem) => (serie.values[indice] ?? 0) * visivel(ordem))).flat(),\n ),\n );\n }\n\n return mergeDomains(\n series\n .filter((serie) => !isHidden(serie.label))\n .map((serie) => domainOf(serie.values.filter((valor) => valor !== null), { includeZero })),\n );\n }, [categories, includeZero, isHidden, series, stacked]);\n\n const rotulosDeValor = valueLabelsFor(dominio, alturaDoDesenho, formatValue);\n\n const { margins, plot, rotation } = cartesianLayout({\n bottomLabels: categories,\n font,\n height: alturaDoDesenho,\n labelAngle,\n leftLabels: rotulosDeValor,\n rightLabels: rotulosDeValor,\n topRoom: showDataLabels ? valueLabelRoom(font) : 0,\n width,\n xAxis,\n yAxis,\n yAxisRight,\n });\n\n const escalaCategorias = useMemo(\n () => pointScale({ domain: categories, padding: 0, 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 escalaAlvo = useMemo(\n () => linearScale({ domain: dominio, range: [plot.height, 0] }),\n [dominio, plot.height],\n );\n\n const [minimo, maximo] = useTweenedNumbers(escalaAlvo.domain());\n\n const escalaValores = useMemo(\n () => linearScale({ domain: { min: minimo, max: maximo }, nice: false, range: [plot.height, 0] }),\n [maximo, minimo, plot.height],\n );\n\n const marcasDeValor = ticksFor(escalaAlvo, plot.height);\n // Sem o zero no dominio, a area desce ate o limite do eixo, e nao ate um zero fora do desenho.\n const base = escalaValores(Math.min(Math.max(0, minimo), maximo));\n const pilhas = categories.map((_, indice) =>\n stackDiverging(series.map((serie, ordem) => (serie.values[indice] ?? 0) * presenca(ordem))),\n );\n\n const faixasPorSerie = series.map((serie, indiceSerie) =>\n categories.map<ChartBand | 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 const [de, ate] = pilhas[indice][indiceSerie];\n\n return {\n x: escalaCategorias(categoria) ?? 0,\n y0: stacked ? escalaValores(de) : base,\n y1: stacked ? escalaValores(ate) : escalaValores(valor),\n };\n }),\n );\n\n const marcasCategoria: AxisTick[] = categories.map((categoria) => ({\n label: categoria,\n position: escalaCategorias(categoria) ?? 0,\n }));\n\n const marcasValor: AxisTick[] = marcasDeValor.map((valor) => ({\n label: formatValue(valor),\n position: escalaValores(valor),\n }));\n\n return (\n <CartesianFrame\n containerRef={ref}\n empty={series.length === 0 || categories.length === 0}\n emptyMessage={emptyMessage}\n grid={[\n {\n baseline: escalaValores(0),\n lines: marcasDeValor.map((valor) => escalaValores(valor)),\n orientation: 'horizontal',\n },\n ]}\n fillHeight={fillHeight}\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 width={width}\n xAxis={{ labelRotation: rotation, ticks: marcasCategoria, visibility: xAxis }}\n yAxis={{ hideLine: true, ticks: marcasValor, visibility: yAxis }}\n yAxisRight={{ hideLine: true, ticks: marcasValor, visibility: yAxisRight }}\n >\n {/* Sem empilhamento as areas se sobrepoem, e um topo opaco esconderia a de\n baixo. O contorno em cor cheia e que marca o limite de cada faixa. */}\n {!stacked && (\n <defs>\n {series.map((serie, indice) => {\n const zero = alturaDoZero(faixasPorSerie[indice], base);\n\n return (\n <linearGradient id={`${gradienteId}-${indice}`} key={indice} x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\n {zero > 0 && <stop offset={zero * 0.05} stopColor={cores[indice]} stopOpacity={0.6} />}\n <stop offset={zero} stopColor={cores[indice]} stopOpacity={0.05} />\n {zero < 1 && <stop offset={zero + (1 - zero) * 0.95} stopColor={cores[indice]} stopOpacity={0.6} />}\n </linearGradient>\n );\n })}\n </defs>\n )}\n\n {series.map((serie, indiceSerie) => {\n const faixas = faixasPorSerie[indiceSerie];\n const contorno = faixas.map<ChartPoint | null>((faixa) =>\n faixa === null ? null : { x: faixa.x, y: faixa.y1 },\n );\n\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 <path\n d={areaPath(faixas, curve)}\n fill={stacked ? cores[indiceSerie] : `url(#${gradienteId}-${indiceSerie})`}\n />\n <path\n className={styles.outline}\n d={linePath(contorno, curve)}\n fill=\"none\"\n stroke={cores[indiceSerie]}\n />\n\n {categories.map((categoria, indice) => {\n const faixa = faixas[indice];\n\n if (faixa === null) {\n return null;\n }\n\n const descricao = `${serie.label}, ${categoria}: ${formatValue(serie.values[indice] ?? 0)}`;\n\n return (\n <circle\n aria-label={descricao}\n className={showDots || isolada(faixas, indice) ? styles.dotVisible : styles.dot}\n cx={faixa.x}\n cy={faixa.y1}\n fill={cores[indiceSerie]}\n key={indice}\n r={4}\n >\n <title>{descricao}</title>\n </circle>\n );\n })}\n\n {showDataLabels &&\n categories.map((categoria, indice) => {\n const faixa = faixas[indice];\n\n if (faixa === null) {\n return null;\n }\n\n return (\n <text\n className={styles.valueLabel}\n key={indice}\n textAnchor=\"middle\"\n x={faixa.x}\n y={faixa.y1 - 10}\n >\n {formatValue(serie.values[indice] ?? 0)}\n </text>\n );\n })}\n </g>\n );\n })}\n </CartesianFrame>\n );\n}\n"],"names":["isolada","faixas","indice","alturaDoZero","base","pontas","faixa","topo","fundo","ChartArea","accent","categories","curve","defaultHiddenSeries","emptyMessage","formatValue","formatarNumero","height","includeZero","hiddenSeries","labelAngle","legend","legendAlign","onHiddenSeriesChange","series","showDataLabels","showDots","stacked","title","xAxis","yAxis","yAxisRight","gradienteId","useId","font","alturaMedida","ref","width","useChartMetrics","fillHeight","alturaDoDesenho","chartHeight","isHidden","toggle","useSeriesToggle","cores","useMemo","resolveSeriesColors","presencas","useTweenedNumbers","serie","presenca","dominio","visivel","ordem","domainOf","_","stackDiverging","mergeDomains","valor","rotulosDeValor","valueLabelsFor","margins","plot","rotation","cartesianLayout","valueLabelRoom","escalaCategorias","pointScale","escalaAlvo","linearScale","minimo","maximo","escalaValores","marcasDeValor","ticksFor","pilhas","faixasPorSerie","indiceSerie","categoria","de","ate","marcasCategoria","marcasValor","jsxs","CartesianFrame","jsx","zero","contorno","oculta","styles","areaPath","linePath","descricao"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="_outline_1lab2_1 _line_141iy_132",s="_dot_1lab2_5 _dot_141iy_140",_="_dotVisible_1lab2_9 _dotVisible_141iy_145",i="_valueLabel_1lab2_13 _valueLabel_141iy_124",l="_series_1lab2_17 _series_141iy_209",t="_seriesOff_1lab2_21 _seriesOff_141iy_213",o={outline:e,dot:s,dotVisible:_,valueLabel:i,series:l,seriesOff:t};exports.default=o;exports.dot=s;exports.dotVisible=_;exports.outline=e;exports.series=l;exports.seriesOff=t;exports.valueLabel=i;
2
+ //# sourceMappingURL=ChartArea.module.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChartArea.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ const _ = "_outline_1lab2_1 _line_141iy_132", e = "_dot_1lab2_5 _dot_141iy_140", s = "_dotVisible_1lab2_9 _dotVisible_141iy_145", i = "_valueLabel_1lab2_13 _valueLabel_141iy_124", l = "_series_1lab2_17 _series_141iy_209", t = "_seriesOff_1lab2_21 _seriesOff_141iy_213", o = {
2
+ outline: _,
3
+ dot: e,
4
+ dotVisible: s,
5
+ valueLabel: i,
6
+ series: l,
7
+ seriesOff: t
8
+ };
9
+ export {
10
+ o as default,
11
+ e as dot,
12
+ s as dotVisible,
13
+ _ as outline,
14
+ l as series,
15
+ t as seriesOff,
16
+ i as valueLabel
17
+ };
18
+ //# sourceMappingURL=ChartArea.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChartArea.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const q=require("react/jsx-runtime"),N=require("react"),y=require("./ChartBar.module.css.cjs"),Ot=require("../core/useChartMetrics.cjs"),Rt=require("../core/useSeriesToggle.cjs"),_t=require("../core/useHoveredBand.cjs"),wt=require("../palette/seriesColor.cjs"),it=require("../core/useTweenedNumbers.cjs"),h=require("../scales/scales.cjs"),P=require("../core/cartesianLayout.cjs"),S=require("../core/spacing.cjs"),Ht=require("../../../utils/formatters/formatarNumero.cjs"),$t=require("../core/CartesianFrame.cjs"),At=require("../core/BandCursor.cjs"),Pt=require("../core/shapes.cjs");function St({accent:V,categories:r,defaultHiddenSeries:ct,emptyMessage:mt="Sem dados no período",formatValue:F=Ht.formatarNumero,height:ht=260,hiddenSeries:ft,labelAngle:bt="auto",legend:T="bottom",legendAlign:dt,onHiddenSeriesChange:pt,onHoverCategory:vt,orientation:z="vertical",series:l,showDataLabels:j=!1,stacked:m=!1,title:xt,xAxis:E="visible",yAxis:G="visible",yAxisRight:I="hidden"}){const{font:J,height:Mt,radius:p,ref:gt,width:C}=Ot.useChartMetrics(),{fillHeight:Dt,value:O}=P.chartHeight(ht,Mt),{isHidden:v,toggle:qt}=Rt.useSeriesToggle({defaultHiddenSeries:ct,hiddenSeries:ft,onHiddenSeriesChange:pt}),{hover:K,hovered:Q}=_t.useHoveredBand(vt),n=z==="vertical",U=N.useMemo(()=>wt.resolveSeriesColors(l,{accent:V}),[V,l]),W=it.useTweenedNumbers(l.map(t=>v(t.label)?0:1)),Nt=t=>W[t]??0,R=N.useMemo(()=>{const t=l.filter(o=>!v(o.label));return m?h.domainOf(r.flatMap((o,e)=>h.stackDiverging(t.map(a=>a.values[e]??0)).flat())):h.mergeDomains(t.map(o=>h.domainOf([...o.values])))},[r,v,l,m]),Ft=!n&&(T==="left"||T==="right")?"bottom":T,_=P.valueLabelsFor(R,n?O:C,F),{margins:Lt,plot:x,rotation:Bt}=P.cartesianLayout({bottomLabels:n?r:_,font:J,height:O,labelAngle:bt,leftLabels:n?_:r,rightLabels:n?_:r,topRoom:j&&n?S.valueLabelRoom(J):0,width:C,xAxis:E,yAxis:G,yAxisRight:I}),X=n?x.width:x.height,w=n?x.height:x.width,L=n?w:0,B=n?0:w,M=N.useMemo(()=>h.bandScale({domain:r,range:[0,X]}),[r,X]),Y=N.useMemo(()=>h.linearScale({domain:R,range:[L,B]}),[R,B,L]),[Z,k]=it.useTweenedNumbers(Y.domain()),d=N.useMemo(()=>h.linearScale({domain:{min:Z,max:k},nice:!1,range:[L,B]}),[B,L,k,Z]),tt=h.ticksFor(Y,w),D=M.bandwidth(),yt=S.barSlots(D,W);function ot(t){return yt[t]??S.NO_BAR_SLOT}function nt(t){return m?D:ot(t).thickness}function et(t){return m?0:ot(t).offset}function at(t,o){const e=l[t].values[o];return(Number.isFinite(e)?e:0)*(m?Nt(t):1)}const H=r.map((t,o)=>m?h.stackDiverging(l.map((e,a)=>at(a,o))):[]);function st(t,o){return H[o][t]??[0,at(t,o)]}function Tt(t,o){const[e,a]=st(t,o);if(!m)return[p,p,p,p];const s=H[o],i=a<e?Math.min(...s.map(([,g])=>g)):Math.max(...s.map(([,g])=>g)),f=a!==e&&e===0?p:0,u=a!==e&&a===i?p:0,[c,b]=a<e?[u,f]:[f,u];return n?[b,b,c,c]:[c,b,b,c]}function rt(t,o,e,a){const s=t<0;return q.jsx("text",{className:y.default.valueLabel,dominantBaseline:n?s?"hanging":"auto":"middle",textAnchor:n?"middle":s?"end":"start",x:n?e:o+(s?-6:6),y:n?o+(s?6:-6):e,children:F(t)},a)}const jt=r.map(t=>({label:t,position:(M(t)??0)+D/2})),Ct=tt.map(t=>({label:F(t),position:d(t)})),$={labelRotation:Bt,ticks:jt},A={hideLine:!0,ticks:Ct};return q.jsxs($t.CartesianFrame,{containerRef:gt,empty:l.length===0||r.length===0,emptyMessage:mt,fillHeight:Dt,grid:[{baseline:d(0),lines:tt.map(t=>d(t)),orientation:n?"horizontal":"vertical"}],height:O,legend:l.map((t,o)=>({color:U[o],hidden:v(t.label),label:t.label})),legendAlign:dt,legendPosition:Ft,margins:Lt,onToggleSeries:qt,plot:x,title:xt,width:C,xAxis:{...n?$:A,visibility:E},yAxis:{...n?A:$,visibility:G},yAxisRight:{...n?A:$,hideLine:!0,visibility:I},children:[Q!==null&&q.jsx(At.BandCursor,{offset:M(r[Q])??0,orientation:z,plot:x,size:D}),l.map((t,o)=>{const e=v(t.label);return q.jsxs("g",{"aria-hidden":e||void 0,className:`${y.default.series} ${e?y.default.seriesOff:""}`,children:[r.map((a,s)=>{if(!Number.isFinite(t.values[s]))return null;const i=M(a)??0,[f,u]=st(o,s),c=d(f),b=d(u),g=Math.abs(b-c),lt=nt(o),ut=et(o);return q.jsx("path",{"aria-label":`${t.label}, ${a}: ${F(t.values[s])}`,className:y.default.bar,d:Pt.roundedBarPath(n?i+ut:Math.min(c,b),n?Math.min(c,b):i+ut,n?lt:g,n?g:lt,Tt(o,s)),fill:U[o],onMouseEnter:()=>K(s),onMouseLeave:()=>K(null)},s)}),j&&!m&&r.map((a,s)=>{const i=t.values[s];if(!Number.isFinite(i))return null;const f=(M(a)??0)+et(o)+nt(o)/2;return rt(i,d(i),f,s)})]},o)}),j&&m&&r.map((t,o)=>{const e=l.filter(u=>!v(u.label)&&Number.isFinite(u.values[o]));if(e.length===0)return null;const a=e.reduce((u,c)=>u+c.values[o],0),s=H[o].map(([,u])=>u),i=a<0?Math.min(0,...s):Math.max(0,...s),f=(M(t)??0)+D/2;return rt(a,d(i),f,o)})]})}exports.ChartBar=St;
2
+ //# sourceMappingURL=ChartBar.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChartBar.cjs","sources":["../../../../src/components/charts/ChartBar/ChartBar.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport {\n BandCursor,\n CartesianFrame,\n NO_BAR_SLOT,\n barSlots,\n cartesianLayout,\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 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 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 /** Valor alem da ponta de cada barra; empilhada, o total da categoria alem da ponta da pilha. */\n showDataLabels?: 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 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 = false,\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, toggle } = useSeriesToggle({ defaultHiddenSeries, hiddenSeries, onHiddenSeriesChange });\n const { hover: focarFaixa, hovered: faixaEmFoco } = useHoveredBand(onHoverCategory);\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 visiveis = series.filter((serie) => !isHidden(serie.label));\n\n if (stacked) {\n return domainOf(\n categories.flatMap((_, indice) => stackDiverging(visiveis.map((serie) => serie.values[indice] ?? 0)).flat()),\n );\n }\n\n return mergeDomains(visiveis.map((serie) => domainOf([...serie.values])));\n }, [categories, isHidden, 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 { margins, plot, rotation } = cartesianLayout({\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 && 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) {\n const negativo = valor < 0;\n\n return (\n <text\n className={styles.valueLabel}\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 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 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={() => focarFaixa(indiceCategoria)}\n onMouseLeave={() => focarFaixa(null)}\n />\n );\n })}\n\n {showDataLabels &&\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);\n })}\n </g>\n );\n })}\n\n {showDataLabels &&\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);\n })}\n </CartesianFrame>\n );\n}\n"],"names":["ChartBar","accent","categories","defaultHiddenSeries","emptyMessage","formatValue","formatarNumero","height","hiddenSeries","labelAngle","legend","legendAlign","onHiddenSeriesChange","onHoverCategory","orientation","series","showDataLabels","stacked","title","xAxis","yAxis","yAxisRight","font","alturaMedida","raioDoCanto","ref","width","useChartMetrics","fillHeight","alturaDoDesenho","chartHeight","isHidden","toggle","useSeriesToggle","focarFaixa","faixaEmFoco","useHoveredBand","vertical","cores","useMemo","resolveSeriesColors","presencas","useTweenedNumbers","serie","presenca","indice","dominio","visiveis","domainOf","_","stackDiverging","mergeDomains","posicaoDaLegenda","rotulosDeValor","valueLabelsFor","margins","plot","rotation","cartesianLayout","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","negativo","jsx","styles","marcasCategoria","categoria","marcasValor","eixoDeCategoria","eixoDeValor","jsxs","CartesianFrame","BandCursor","oculta","inicioCategoria","de","comeco","tamanho","espessura","deslocamento","roundedBarPath","presentes","total","soma","pontas"],"mappings":"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"}