@plenustech/design-system 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. package/dist/components/actions/ButtonTile/ButtonTile.cjs +2 -0
  2. package/dist/components/actions/ButtonTile/ButtonTile.cjs.map +1 -0
  3. package/dist/components/actions/ButtonTile/ButtonTile.js +23 -0
  4. package/dist/components/actions/ButtonTile/ButtonTile.js.map +1 -0
  5. package/dist/components/actions/ButtonTile/ButtonTile.module.css.cjs +2 -0
  6. package/dist/components/actions/ButtonTile/ButtonTile.module.css.cjs.map +1 -0
  7. package/dist/components/actions/ButtonTile/ButtonTile.module.css.js +16 -0
  8. package/dist/components/actions/ButtonTile/ButtonTile.module.css.js.map +1 -0
  9. package/dist/components/actions/Toolbar/Toolbar.cjs +2 -0
  10. package/dist/components/actions/Toolbar/Toolbar.cjs.map +1 -0
  11. package/dist/components/actions/Toolbar/Toolbar.js +118 -0
  12. package/dist/components/actions/Toolbar/Toolbar.js.map +1 -0
  13. package/dist/components/actions/Toolbar/Toolbar.module.css.cjs +2 -0
  14. package/dist/components/actions/Toolbar/Toolbar.module.css.cjs.map +1 -0
  15. package/dist/components/actions/Toolbar/Toolbar.module.css.js +20 -0
  16. package/dist/components/actions/Toolbar/Toolbar.module.css.js.map +1 -0
  17. package/dist/components/charts/ChartArea/ChartArea.cjs +1 -1
  18. package/dist/components/charts/ChartArea/ChartArea.cjs.map +1 -1
  19. package/dist/components/charts/ChartArea/ChartArea.js +196 -148
  20. package/dist/components/charts/ChartArea/ChartArea.js.map +1 -1
  21. package/dist/components/charts/ChartArea/ChartArea.module.css.cjs +1 -1
  22. package/dist/components/charts/ChartArea/ChartArea.module.css.js +12 -10
  23. package/dist/components/charts/ChartArea/ChartArea.module.css.js.map +1 -1
  24. package/dist/components/charts/ChartBar/ChartBar.cjs +1 -1
  25. package/dist/components/charts/ChartBar/ChartBar.cjs.map +1 -1
  26. package/dist/components/charts/ChartBar/ChartBar.js +168 -145
  27. package/dist/components/charts/ChartBar/ChartBar.js.map +1 -1
  28. package/dist/components/charts/ChartBar/ChartBar.module.css.cjs +1 -1
  29. package/dist/components/charts/ChartBar/ChartBar.module.css.js +12 -10
  30. package/dist/components/charts/ChartBar/ChartBar.module.css.js.map +1 -1
  31. package/dist/components/charts/ChartCombo/ChartCombo.cjs +1 -1
  32. package/dist/components/charts/ChartCombo/ChartCombo.cjs.map +1 -1
  33. package/dist/components/charts/ChartCombo/ChartCombo.js +179 -154
  34. package/dist/components/charts/ChartCombo/ChartCombo.js.map +1 -1
  35. package/dist/components/charts/ChartCombo/ChartCombo.module.css.cjs +1 -1
  36. package/dist/components/charts/ChartCombo/ChartCombo.module.css.js +16 -14
  37. package/dist/components/charts/ChartCombo/ChartCombo.module.css.js.map +1 -1
  38. package/dist/components/charts/ChartDonut/ChartDonut.cjs +1 -1
  39. package/dist/components/charts/ChartDonut/ChartDonut.cjs.map +1 -1
  40. package/dist/components/charts/ChartDonut/ChartDonut.js +72 -61
  41. package/dist/components/charts/ChartDonut/ChartDonut.js.map +1 -1
  42. package/dist/components/charts/ChartLine/ChartLine.cjs +1 -1
  43. package/dist/components/charts/ChartLine/ChartLine.cjs.map +1 -1
  44. package/dist/components/charts/ChartLine/ChartLine.js +196 -143
  45. package/dist/components/charts/ChartLine/ChartLine.js.map +1 -1
  46. package/dist/components/charts/ChartLine/ChartLine.module.css.cjs +1 -1
  47. package/dist/components/charts/ChartLine/ChartLine.module.css.js +16 -14
  48. package/dist/components/charts/ChartLine/ChartLine.module.css.js.map +1 -1
  49. package/dist/components/charts/ChartPie/ChartPie.cjs +1 -1
  50. package/dist/components/charts/ChartPie/ChartPie.cjs.map +1 -1
  51. package/dist/components/charts/ChartPie/ChartPie.js +71 -60
  52. package/dist/components/charts/ChartPie/ChartPie.js.map +1 -1
  53. package/dist/components/charts/ChartRadial/ChartRadial.cjs +1 -1
  54. package/dist/components/charts/ChartRadial/ChartRadial.cjs.map +1 -1
  55. package/dist/components/charts/ChartRadial/ChartRadial.js +101 -84
  56. package/dist/components/charts/ChartRadial/ChartRadial.js.map +1 -1
  57. package/dist/components/charts/ChartSankey/ChartSankey.cjs +1 -1
  58. package/dist/components/charts/ChartSankey/ChartSankey.cjs.map +1 -1
  59. package/dist/components/charts/ChartSankey/ChartSankey.js +148 -125
  60. package/dist/components/charts/ChartSankey/ChartSankey.js.map +1 -1
  61. package/dist/components/charts/ChartScatter/ChartScatter.cjs +1 -1
  62. package/dist/components/charts/ChartScatter/ChartScatter.cjs.map +1 -1
  63. package/dist/components/charts/ChartScatter/ChartScatter.js +138 -106
  64. package/dist/components/charts/ChartScatter/ChartScatter.js.map +1 -1
  65. package/dist/components/charts/ChartScatter/ChartScatter.module.css.cjs +1 -1
  66. package/dist/components/charts/ChartScatter/ChartScatter.module.css.js +3 -3
  67. package/dist/components/charts/ChartSunburst/ChartSunburst.cjs +1 -1
  68. package/dist/components/charts/ChartSunburst/ChartSunburst.cjs.map +1 -1
  69. package/dist/components/charts/ChartSunburst/ChartSunburst.js +115 -100
  70. package/dist/components/charts/ChartSunburst/ChartSunburst.js.map +1 -1
  71. package/dist/components/charts/ChartTooltip/ChartTooltip.cjs +1 -1
  72. package/dist/components/charts/ChartTooltip/ChartTooltip.cjs.map +1 -1
  73. package/dist/components/charts/ChartTooltip/ChartTooltip.js +1 -1
  74. package/dist/components/charts/ChartTooltip/ChartTooltip.js.map +1 -1
  75. package/dist/components/charts/ChartTreemap/ChartTreemap.cjs +1 -1
  76. package/dist/components/charts/ChartTreemap/ChartTreemap.cjs.map +1 -1
  77. package/dist/components/charts/ChartTreemap/ChartTreemap.js +100 -89
  78. package/dist/components/charts/ChartTreemap/ChartTreemap.js.map +1 -1
  79. package/dist/components/charts/ChartWaterfall/ChartWaterfall.cjs +1 -1
  80. package/dist/components/charts/ChartWaterfall/ChartWaterfall.cjs.map +1 -1
  81. package/dist/components/charts/ChartWaterfall/ChartWaterfall.js +125 -105
  82. package/dist/components/charts/ChartWaterfall/ChartWaterfall.js.map +1 -1
  83. package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.cjs +1 -1
  84. package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.js +8 -6
  85. package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.js.map +1 -1
  86. package/dist/components/charts/core/CartesianFrame.cjs +1 -1
  87. package/dist/components/charts/core/CartesianFrame.cjs.map +1 -1
  88. package/dist/components/charts/core/CartesianFrame.js +61 -96
  89. package/dist/components/charts/core/CartesianFrame.js.map +1 -1
  90. package/dist/components/charts/core/Chart.module.css.cjs +1 -1
  91. package/dist/components/charts/core/Chart.module.css.js +52 -54
  92. package/dist/components/charts/core/Chart.module.css.js.map +1 -1
  93. package/dist/components/charts/core/ChartFrame.cjs +1 -1
  94. package/dist/components/charts/core/ChartFrame.cjs.map +1 -1
  95. package/dist/components/charts/core/ChartFrame.js +53 -47
  96. package/dist/components/charts/core/ChartFrame.js.map +1 -1
  97. package/dist/components/charts/core/PointBands.cjs +2 -0
  98. package/dist/components/charts/core/PointBands.cjs.map +1 -0
  99. package/dist/components/charts/core/PointBands.js +41 -0
  100. package/dist/components/charts/core/PointBands.js.map +1 -0
  101. package/dist/components/charts/core/cartesianLayout.cjs +1 -1
  102. package/dist/components/charts/core/cartesianLayout.cjs.map +1 -1
  103. package/dist/components/charts/core/cartesianLayout.js +49 -41
  104. package/dist/components/charts/core/cartesianLayout.js.map +1 -1
  105. package/dist/components/charts/core/hoverPath.cjs +2 -0
  106. package/dist/components/charts/core/hoverPath.cjs.map +1 -0
  107. package/dist/components/charts/core/hoverPath.js +7 -0
  108. package/dist/components/charts/core/hoverPath.js.map +1 -0
  109. package/dist/components/charts/core/pointLabels.cjs +2 -0
  110. package/dist/components/charts/core/pointLabels.cjs.map +1 -0
  111. package/dist/components/charts/core/pointLabels.js +12 -0
  112. package/dist/components/charts/core/pointLabels.js.map +1 -0
  113. package/dist/components/charts/core/tooltips.cjs +2 -0
  114. package/dist/components/charts/core/tooltips.cjs.map +1 -0
  115. package/dist/components/charts/core/tooltips.js +48 -0
  116. package/dist/components/charts/core/tooltips.js.map +1 -0
  117. package/dist/components/charts/core/useCartesianLayout.cjs +2 -0
  118. package/dist/components/charts/core/useCartesianLayout.cjs.map +1 -0
  119. package/dist/components/charts/core/useCartesianLayout.js +38 -0
  120. package/dist/components/charts/core/useCartesianLayout.js.map +1 -0
  121. package/dist/components/charts/core/useSeriesToggle.cjs +1 -1
  122. package/dist/components/charts/core/useSeriesToggle.cjs.map +1 -1
  123. package/dist/components/charts/core/useSeriesToggle.js +19 -12
  124. package/dist/components/charts/core/useSeriesToggle.js.map +1 -1
  125. package/dist/components/data-display/Accordion/Accordion.cjs +1 -1
  126. package/dist/components/data-display/Accordion/Accordion.cjs.map +1 -1
  127. package/dist/components/data-display/Accordion/Accordion.js +56 -46
  128. package/dist/components/data-display/Accordion/Accordion.js.map +1 -1
  129. package/dist/components/data-display/Accordion/Accordion.module.css.cjs +1 -1
  130. package/dist/components/data-display/Accordion/Accordion.module.css.js +16 -16
  131. package/dist/components/data-display/SortableList/SortableList.cjs +2 -0
  132. package/dist/components/data-display/SortableList/SortableList.cjs.map +1 -0
  133. package/dist/components/data-display/SortableList/SortableList.js +168 -0
  134. package/dist/components/data-display/SortableList/SortableList.js.map +1 -0
  135. package/dist/components/data-display/SortableList/SortableList.module.css.cjs +2 -0
  136. package/dist/components/data-display/SortableList/SortableList.module.css.cjs.map +1 -0
  137. package/dist/components/data-display/SortableList/SortableList.module.css.js +34 -0
  138. package/dist/components/data-display/SortableList/SortableList.module.css.js.map +1 -0
  139. package/dist/components/data-display/Table/Table.cjs +1 -1
  140. package/dist/components/data-display/Table/Table.cjs.map +1 -1
  141. package/dist/components/data-display/Table/Table.js +86 -85
  142. package/dist/components/data-display/Table/Table.js.map +1 -1
  143. package/dist/components/data-display/Table/Table.module.css.cjs +1 -1
  144. package/dist/components/data-display/Table/Table.module.css.js +50 -51
  145. package/dist/components/data-display/Table/Table.module.css.js.map +1 -1
  146. package/dist/components/data-display/Tag/Tag.cjs +2 -0
  147. package/dist/components/data-display/Tag/Tag.cjs.map +1 -0
  148. package/dist/components/data-display/Tag/Tag.js +50 -0
  149. package/dist/components/data-display/Tag/Tag.js.map +1 -0
  150. package/dist/components/data-display/Tag/Tag.module.css.cjs +2 -0
  151. package/dist/components/data-display/Tag/Tag.module.css.cjs.map +1 -0
  152. package/dist/components/data-display/Tag/Tag.module.css.js +22 -0
  153. package/dist/components/data-display/Tag/Tag.module.css.js.map +1 -0
  154. package/dist/components/data-display/Timeline/Timeline.cjs +2 -0
  155. package/dist/components/data-display/Timeline/Timeline.cjs.map +1 -0
  156. package/dist/components/data-display/Timeline/Timeline.js +31 -0
  157. package/dist/components/data-display/Timeline/Timeline.js.map +1 -0
  158. package/dist/components/data-display/Timeline/Timeline.module.css.cjs +2 -0
  159. package/dist/components/data-display/Timeline/Timeline.module.css.cjs.map +1 -0
  160. package/dist/components/data-display/Timeline/Timeline.module.css.js +30 -0
  161. package/dist/components/data-display/Timeline/Timeline.module.css.js.map +1 -0
  162. package/dist/components/feedback/Skeleton/Skeleton.cjs +2 -0
  163. package/dist/components/feedback/Skeleton/Skeleton.cjs.map +1 -0
  164. package/dist/components/feedback/Skeleton/Skeleton.js +17 -0
  165. package/dist/components/feedback/Skeleton/Skeleton.js.map +1 -0
  166. package/dist/components/feedback/Skeleton/Skeleton.module.css.cjs +2 -0
  167. package/dist/components/feedback/Skeleton/Skeleton.module.css.cjs.map +1 -0
  168. package/dist/components/feedback/Skeleton/Skeleton.module.css.js +15 -0
  169. package/dist/components/feedback/Skeleton/Skeleton.module.css.js.map +1 -0
  170. package/dist/components/feedback/Toast/Toast.module.css.cjs +2 -0
  171. package/dist/components/feedback/Toast/Toast.module.css.cjs.map +1 -0
  172. package/dist/components/feedback/Toast/Toast.module.css.js +31 -0
  173. package/dist/components/feedback/Toast/Toast.module.css.js.map +1 -0
  174. package/dist/components/feedback/Toast/ToastRegion.cjs +2 -0
  175. package/dist/components/feedback/Toast/ToastRegion.cjs.map +1 -0
  176. package/dist/components/feedback/Toast/ToastRegion.js +62 -0
  177. package/dist/components/feedback/Toast/ToastRegion.js.map +1 -0
  178. package/dist/components/feedback/Toast/toastStore.cjs +2 -0
  179. package/dist/components/feedback/Toast/toastStore.cjs.map +1 -0
  180. package/dist/components/feedback/Toast/toastStore.js +33 -0
  181. package/dist/components/feedback/Toast/toastStore.js.map +1 -0
  182. package/dist/components/forms/Checkbox/Checkbox.cjs +1 -1
  183. package/dist/components/forms/Checkbox/Checkbox.cjs.map +1 -1
  184. package/dist/components/forms/Checkbox/Checkbox.js +43 -31
  185. package/dist/components/forms/Checkbox/Checkbox.js.map +1 -1
  186. package/dist/components/forms/Checkbox/Checkbox.module.css.cjs +1 -1
  187. package/dist/components/forms/Checkbox/Checkbox.module.css.js +1 -1
  188. package/dist/components/forms/CheckboxGroup/CheckboxGroup.cjs +2 -0
  189. package/dist/components/forms/CheckboxGroup/CheckboxGroup.cjs.map +1 -0
  190. package/dist/components/forms/CheckboxGroup/CheckboxGroup.js +54 -0
  191. package/dist/components/forms/CheckboxGroup/CheckboxGroup.js.map +1 -0
  192. package/dist/components/forms/CheckboxGroup/CheckboxGroup.module.css.cjs +2 -0
  193. package/dist/components/forms/CheckboxGroup/CheckboxGroup.module.css.cjs.map +1 -0
  194. package/dist/components/forms/CheckboxGroup/CheckboxGroup.module.css.js +22 -0
  195. package/dist/components/forms/CheckboxGroup/CheckboxGroup.module.css.js.map +1 -0
  196. package/dist/components/forms/ColorPicker/ColorPicker.cjs +2 -0
  197. package/dist/components/forms/ColorPicker/ColorPicker.cjs.map +1 -0
  198. package/dist/components/forms/ColorPicker/ColorPicker.js +57 -0
  199. package/dist/components/forms/ColorPicker/ColorPicker.js.map +1 -0
  200. package/dist/components/forms/ColorPicker/ColorPicker.module.css.cjs +2 -0
  201. package/dist/components/forms/ColorPicker/ColorPicker.module.css.cjs.map +1 -0
  202. package/dist/components/forms/ColorPicker/ColorPicker.module.css.js +22 -0
  203. package/dist/components/forms/ColorPicker/ColorPicker.module.css.js.map +1 -0
  204. package/dist/components/forms/ComboBox/ComboBox.module.css.cjs +1 -1
  205. package/dist/components/forms/ComboBox/ComboBox.module.css.js +20 -20
  206. package/dist/components/forms/Field/Field.cjs +1 -1
  207. package/dist/components/forms/Field/Field.cjs.map +1 -1
  208. package/dist/components/forms/Field/Field.js +21 -20
  209. package/dist/components/forms/Field/Field.js.map +1 -1
  210. package/dist/components/forms/Field/Field.module.css.cjs +1 -1
  211. package/dist/components/forms/Field/Field.module.css.js +18 -12
  212. package/dist/components/forms/Field/Field.module.css.js.map +1 -1
  213. package/dist/components/forms/FileUpload/FileUpload.cjs +2 -0
  214. package/dist/components/forms/FileUpload/FileUpload.cjs.map +1 -0
  215. package/dist/components/forms/FileUpload/FileUpload.js +142 -0
  216. package/dist/components/forms/FileUpload/FileUpload.js.map +1 -0
  217. package/dist/components/forms/FileUpload/FileUpload.module.css.cjs +2 -0
  218. package/dist/components/forms/FileUpload/FileUpload.module.css.cjs.map +1 -0
  219. package/dist/components/forms/FileUpload/FileUpload.module.css.js +46 -0
  220. package/dist/components/forms/FileUpload/FileUpload.module.css.js.map +1 -0
  221. package/dist/components/forms/InputPassword/InputPassword.module.css.cjs +1 -1
  222. package/dist/components/forms/InputPassword/InputPassword.module.css.js +12 -12
  223. package/dist/components/forms/InputText/InputText.cjs +1 -1
  224. package/dist/components/forms/InputText/InputText.cjs.map +1 -1
  225. package/dist/components/forms/InputText/InputText.js +55 -47
  226. package/dist/components/forms/InputText/InputText.js.map +1 -1
  227. package/dist/components/forms/InputText/InputText.module.css.cjs +1 -1
  228. package/dist/components/forms/InputText/InputText.module.css.js +10 -10
  229. package/dist/components/forms/RadioGroup/RadioGroup.module.css.cjs +1 -1
  230. package/dist/components/forms/RadioGroup/RadioGroup.module.css.js +4 -4
  231. package/dist/components/forms/SegmentedControl/SegmentedControl.cjs +2 -0
  232. package/dist/components/forms/SegmentedControl/SegmentedControl.cjs.map +1 -0
  233. package/dist/components/forms/SegmentedControl/SegmentedControl.js +52 -0
  234. package/dist/components/forms/SegmentedControl/SegmentedControl.js.map +1 -0
  235. package/dist/components/forms/SegmentedControl/SegmentedControl.module.css.cjs +2 -0
  236. package/dist/components/forms/SegmentedControl/SegmentedControl.module.css.cjs.map +1 -0
  237. package/dist/components/forms/SegmentedControl/SegmentedControl.module.css.js +22 -0
  238. package/dist/components/forms/SegmentedControl/SegmentedControl.module.css.js.map +1 -0
  239. package/dist/components/forms/Select/Select.module.css.cjs +1 -1
  240. package/dist/components/forms/Select/Select.module.css.js +13 -13
  241. package/dist/components/forms/Switch/Switch.module.css.cjs +1 -1
  242. package/dist/components/forms/Switch/Switch.module.css.js +2 -2
  243. package/dist/components/icons/icons.cjs +1 -1
  244. package/dist/components/icons/icons.cjs.map +1 -1
  245. package/dist/components/icons/icons.js +198 -40
  246. package/dist/components/icons/icons.js.map +1 -1
  247. package/dist/components/navigation/SkipLink/SkipLink.cjs +2 -0
  248. package/dist/components/navigation/SkipLink/SkipLink.cjs.map +1 -0
  249. package/dist/components/navigation/SkipLink/SkipLink.js +9 -0
  250. package/dist/components/navigation/SkipLink/SkipLink.js.map +1 -0
  251. package/dist/components/navigation/SkipLink/SkipLink.module.css.cjs +2 -0
  252. package/dist/components/navigation/SkipLink/SkipLink.module.css.cjs.map +1 -0
  253. package/dist/components/navigation/SkipLink/SkipLink.module.css.js +8 -0
  254. package/dist/components/navigation/SkipLink/SkipLink.module.css.js.map +1 -0
  255. package/dist/components/navigation/Steps/Steps.cjs +2 -0
  256. package/dist/components/navigation/Steps/Steps.cjs.map +1 -0
  257. package/dist/components/navigation/Steps/Steps.js +30 -0
  258. package/dist/components/navigation/Steps/Steps.js.map +1 -0
  259. package/dist/components/navigation/Steps/Steps.module.css.cjs +2 -0
  260. package/dist/components/navigation/Steps/Steps.module.css.cjs.map +1 -0
  261. package/dist/components/navigation/Steps/Steps.module.css.js +26 -0
  262. package/dist/components/navigation/Steps/Steps.module.css.js.map +1 -0
  263. package/dist/components/navigation/Tabs/Tabs.cjs +1 -1
  264. package/dist/components/navigation/Tabs/Tabs.cjs.map +1 -1
  265. package/dist/components/navigation/Tabs/Tabs.js +88 -79
  266. package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
  267. package/dist/components/navigation/Tabs/Tabs.module.css.cjs +1 -1
  268. package/dist/components/navigation/Tabs/Tabs.module.css.js +18 -14
  269. package/dist/components/navigation/Tabs/Tabs.module.css.js.map +1 -1
  270. package/dist/components/overlays/Dialog/Dialog.cjs +1 -1
  271. package/dist/components/overlays/Dialog/Dialog.cjs.map +1 -1
  272. package/dist/components/overlays/Dialog/Dialog.js +11 -58
  273. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  274. package/dist/components/overlays/Dialog/DialogFrame.cjs +2 -0
  275. package/dist/components/overlays/Dialog/DialogFrame.cjs.map +1 -0
  276. package/dist/components/overlays/Dialog/DialogFrame.js +65 -0
  277. package/dist/components/overlays/Dialog/DialogFrame.js.map +1 -0
  278. package/dist/components/overlays/Drawer/Drawer.cjs +2 -0
  279. package/dist/components/overlays/Drawer/Drawer.cjs.map +1 -0
  280. package/dist/components/overlays/Drawer/Drawer.js +17 -0
  281. package/dist/components/overlays/Drawer/Drawer.js.map +1 -0
  282. package/dist/components/overlays/Drawer/Drawer.module.css.cjs +2 -0
  283. package/dist/components/overlays/Drawer/Drawer.module.css.cjs.map +1 -0
  284. package/dist/components/overlays/Drawer/Drawer.module.css.js +23 -0
  285. package/dist/components/overlays/Drawer/Drawer.module.css.js.map +1 -0
  286. package/dist/components/overlays/Menu/Menu.cjs +1 -1
  287. package/dist/components/overlays/Menu/Menu.cjs.map +1 -1
  288. package/dist/components/overlays/Menu/Menu.js +105 -86
  289. package/dist/components/overlays/Menu/Menu.js.map +1 -1
  290. package/dist/components/overlays/Menu/Menu.module.css.cjs +1 -1
  291. package/dist/components/overlays/Menu/Menu.module.css.js +24 -6
  292. package/dist/components/overlays/Menu/Menu.module.css.js.map +1 -1
  293. package/dist/design-system.css +1 -1
  294. package/dist/index.cjs +1 -1
  295. package/dist/index.js +184 -122
  296. package/dist/index.js.map +1 -1
  297. package/dist/types/components/actions/ButtonTile/ButtonTile.d.ts +14 -0
  298. package/dist/types/components/actions/ButtonTile/index.d.ts +2 -0
  299. package/dist/types/components/actions/Toolbar/Toolbar.d.ts +27 -0
  300. package/dist/types/components/actions/Toolbar/index.d.ts +2 -0
  301. package/dist/types/components/charts/ChartArea/ChartArea.d.ts +15 -4
  302. package/dist/types/components/charts/ChartBar/ChartBar.d.ts +11 -4
  303. package/dist/types/components/charts/ChartCombo/ChartCombo.d.ts +16 -4
  304. package/dist/types/components/charts/ChartDonut/ChartDonut.d.ts +5 -1
  305. package/dist/types/components/charts/ChartLine/ChartLine.d.ts +15 -4
  306. package/dist/types/components/charts/ChartPie/ChartPie.d.ts +5 -1
  307. package/dist/types/components/charts/ChartRadial/ChartRadial.d.ts +5 -1
  308. package/dist/types/components/charts/ChartSankey/ChartSankey.d.ts +5 -1
  309. package/dist/types/components/charts/ChartScatter/ChartScatter.d.ts +7 -1
  310. package/dist/types/components/charts/ChartSunburst/ChartSunburst.d.ts +11 -2
  311. package/dist/types/components/charts/ChartTooltip/ChartTooltip.d.ts +2 -0
  312. package/dist/types/components/charts/ChartTreemap/ChartTreemap.d.ts +11 -2
  313. package/dist/types/components/charts/ChartWaterfall/ChartWaterfall.d.ts +8 -3
  314. package/dist/types/components/charts/core/CartesianFrame.d.ts +6 -1
  315. package/dist/types/components/charts/core/ChartFrame.d.ts +7 -1
  316. package/dist/types/components/charts/core/PointBands.d.ts +22 -0
  317. package/dist/types/components/charts/core/cartesianLayout.d.ts +10 -4
  318. package/dist/types/components/charts/core/hoverPath.d.ts +10 -0
  319. package/dist/types/components/charts/core/index.d.ts +13 -3
  320. package/dist/types/components/charts/core/pointLabels.d.ts +13 -0
  321. package/dist/types/components/charts/core/tooltips.d.ts +49 -0
  322. package/dist/types/components/charts/core/useCartesianLayout.d.ts +20 -0
  323. package/dist/types/components/charts/core/useSeriesToggle.d.ts +15 -1
  324. package/dist/types/components/data-display/Accordion/Accordion.d.ts +6 -1
  325. package/dist/types/components/data-display/Accordion/index.d.ts +1 -1
  326. package/dist/types/components/data-display/SortableList/SortableList.d.ts +22 -0
  327. package/dist/types/components/data-display/SortableList/index.d.ts +2 -0
  328. package/dist/types/components/data-display/Tag/Tag.d.ts +13 -0
  329. package/dist/types/components/data-display/Tag/index.d.ts +2 -0
  330. package/dist/types/components/data-display/Timeline/Timeline.d.ts +15 -0
  331. package/dist/types/components/data-display/Timeline/index.d.ts +2 -0
  332. package/dist/types/components/feedback/Skeleton/Skeleton.d.ts +13 -0
  333. package/dist/types/components/feedback/Skeleton/index.d.ts +2 -0
  334. package/dist/types/components/feedback/Toast/ToastRegion.d.ts +2 -0
  335. package/dist/types/components/feedback/Toast/index.d.ts +3 -0
  336. package/dist/types/components/feedback/Toast/toastStore.d.ts +24 -0
  337. package/dist/types/components/forms/CheckboxGroup/CheckboxGroup.d.ts +28 -0
  338. package/dist/types/components/forms/CheckboxGroup/index.d.ts +2 -0
  339. package/dist/types/components/forms/ColorPicker/ColorPicker.d.ts +26 -0
  340. package/dist/types/components/forms/ColorPicker/index.d.ts +2 -0
  341. package/dist/types/components/forms/Field/Field.d.ts +6 -2
  342. package/dist/types/components/forms/Field/index.d.ts +1 -1
  343. package/dist/types/components/forms/FileUpload/FileUpload.d.ts +37 -0
  344. package/dist/types/components/forms/FileUpload/index.d.ts +2 -0
  345. package/dist/types/components/forms/InputText/InputText.d.ts +4 -2
  346. package/dist/types/components/forms/SegmentedControl/SegmentedControl.d.ts +23 -0
  347. package/dist/types/components/forms/SegmentedControl/index.d.ts +2 -0
  348. package/dist/types/components/icons/icons.d.ts +29 -0
  349. package/dist/types/components/icons/index.d.ts +1 -1
  350. package/dist/types/components/navigation/SkipLink/SkipLink.d.ts +7 -0
  351. package/dist/types/components/navigation/SkipLink/index.d.ts +2 -0
  352. package/dist/types/components/navigation/Steps/Steps.d.ts +16 -0
  353. package/dist/types/components/navigation/Steps/index.d.ts +2 -0
  354. package/dist/types/components/navigation/Tabs/Tabs.d.ts +5 -1
  355. package/dist/types/components/overlays/Dialog/Dialog.d.ts +2 -2
  356. package/dist/types/components/overlays/Dialog/DialogFrame.d.ts +7 -0
  357. package/dist/types/components/overlays/Drawer/Drawer.d.ts +9 -0
  358. package/dist/types/components/overlays/Drawer/index.d.ts +2 -0
  359. package/dist/types/components/overlays/Menu/Menu.d.ts +16 -2
  360. package/dist/types/components/overlays/Menu/index.d.ts +1 -1
  361. package/dist/types/index.d.ts +35 -7
  362. package/dist/types/utils/formatters/formatarNumero.d.ts +6 -1
  363. package/dist/types/utils/formatters/formatarTamanhoDeArquivo.d.ts +7 -0
  364. package/dist/types/utils/formatters/index.d.ts +3 -1
  365. package/dist/utils/formatters/formatarNumero.cjs +1 -1
  366. package/dist/utils/formatters/formatarNumero.cjs.map +1 -1
  367. package/dist/utils/formatters/formatarNumero.js +42 -17
  368. package/dist/utils/formatters/formatarNumero.js.map +1 -1
  369. package/dist/utils/formatters/formatarTamanhoDeArquivo.cjs +2 -0
  370. package/dist/utils/formatters/formatarTamanhoDeArquivo.cjs.map +1 -0
  371. package/dist/utils/formatters/formatarTamanhoDeArquivo.js +17 -0
  372. package/dist/utils/formatters/formatarTamanhoDeArquivo.js.map +1 -0
  373. package/package.json +1 -1
@@ -1,205 +1,253 @@
1
- import { jsxs as O, jsx as s } from "react/jsx-runtime";
2
- import { useId as ho, useMemo as C } from "react";
1
+ import { jsxs as T, jsx as e } from "react/jsx-runtime";
2
+ import { useId as Ao, useMemo as C, useState as Do } from "react";
3
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];
4
+ import { useChartMetrics as Ro } from "../core/useChartMetrics.js";
5
+ import { useSeriesToggle as So, seriesInScale as To } from "../core/useSeriesToggle.js";
6
+ import { resolveSeriesColors as Eo } from "../palette/seriesColor.js";
7
+ import { useTweenedNumbers as to } from "../core/useTweenedNumbers.js";
8
+ import { domainOf as lo, stackDiverging as no, mergeDomains as Io, pointScale as jo, linearScale as ao, ticksFor as wo } from "../scales/scales.js";
9
+ import { valueLabelsFor as zo, markShown as ro, chartHeight as Bo } from "../core/cartesianLayout.js";
10
+ import { useCartesianLayout as _o } from "../core/useCartesianLayout.js";
11
+ import { valueLabelRoom as ko } from "../core/spacing.js";
12
+ import { useHoveredBand as Go } from "../core/useHoveredBand.js";
13
+ import { nearestSeriesAt as Vo, PointCursor as Yo, PointBands as qo } from "../core/PointBands.js";
14
+ import { formatarNumero as Jo } from "../../../utils/formatters/formatarNumero.js";
15
+ import { CartesianFrame as Ko } from "../core/CartesianFrame.js";
16
+ import { areaPath as Qo, linePath as Uo } from "../core/shapes.js";
17
+ import { pointLabelPlacement as Wo } from "../core/pointLabels.js";
18
+ import { categoryTooltip as Xo } from "../core/tooltips.js";
19
+ function Zo(u, n) {
20
+ return u[n] !== null && !u[n - 1] && !u[n + 1];
16
21
  }
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;
22
+ function ot(u, n) {
23
+ const g = u.flatMap((H) => H === null ? [] : [H.y1]), y = Math.min(n, ...g), $ = Math.max(n, ...g);
24
+ return $ > y ? (n - y) / ($ - y) : 1;
20
25
  }
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"
26
+ function yt({
27
+ accent: u,
28
+ categories: n,
29
+ curve: g = "smooth",
30
+ defaultHiddenSeries: y,
31
+ emptyMessage: $ = "Sem dados no período",
32
+ formatTooltipValue: H,
33
+ formatValue: x = Jo,
34
+ height: eo = 260,
35
+ includeZero: E = !0,
36
+ hiddenSeries: io,
37
+ labelAngle: so = "auto",
38
+ legend: mo = "bottom",
39
+ legendAlign: po,
40
+ onHiddenSeriesChange: uo,
41
+ onHoverCategory: I,
42
+ series: a,
43
+ showDataLabels: P = "hidden",
44
+ showDots: j = "onHover",
45
+ showTooltip: w = !0,
46
+ stacked: c = !1,
47
+ title: co,
48
+ xAxis: z = "visible",
49
+ yAxis: B = "visible",
50
+ yAxisRight: _ = "hidden"
43
51
  }) {
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()
52
+ const k = Ao(), { font: M, height: ho, ref: fo, width: G } = Ro(), { fillHeight: vo, value: F } = Bo(eo, ho), { isHidden: b, isOutOfScale: V, toggle: bo } = So({
53
+ defaultHiddenSeries: y,
54
+ hiddenSeries: io,
55
+ labels: a.map((o) => o.label),
56
+ onHiddenSeriesChange: uo
57
+ }), h = C(() => Eo(a, { accent: u }), [u, a]), go = to(a.map((o) => b(o.label) ? 0 : 1)), yo = (o) => go[o] ?? 0, N = C(() => {
58
+ const o = To(a, V), t = (l) => o.includes(a[l]) ? 1 : 0;
59
+ return c ? lo(
60
+ n.flatMap(
61
+ (l, s) => no(a.map((p, m) => (p.values[s] ?? 0) * t(m))).flat()
49
62
  )
50
- ) : go(
51
- n.filter((o) => !g(o.label)).map((o) => E(o.values.filter((l) => l !== null), { includeZero: F }))
63
+ ) : Io(
64
+ o.map((l) => lo(l.values.filter((s) => s !== null), { includeZero: E }))
52
65
  );
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))
66
+ }, [n, E, V, a, c]), Y = zo(N, F, x), { axisReveal: xo, margins: Co, plot: i, rotation: $o } = _o({
67
+ bottomLabels: n,
68
+ font: M,
69
+ height: F,
70
+ labelAngle: so,
71
+ leftLabels: Y,
72
+ rightLabels: Y,
73
+ topRoom: P === "hidden" ? 0 : ko(M),
74
+ width: G,
75
+ xAxis: z,
76
+ yAxis: B,
77
+ yAxisRight: _
78
+ }), q = C(
79
+ () => jo({ domain: n, padding: 0, range: [0, i.width] }),
80
+ [n, i.width]
81
+ ), { hover: Ho, hovered: L } = Go(I), [Po, Mo] = Do(null), A = w || I !== void 0 || j === "onHover" || P === "onHover", J = C(
82
+ () => ao({ domain: N, range: [i.height, 0] }),
83
+ [N, i.height]
84
+ ), [D, R] = to(J.domain()), d = C(
85
+ () => ao({ domain: { min: D, max: R }, nice: !1, range: [i.height, 0] }),
86
+ [R, D, i.height]
87
+ ), K = wo(J, i.height), Q = d(Math.min(Math.max(0, D), R)), Lo = n.map(
88
+ (o, t) => no(a.map((l, s) => (l.values[t] ?? 0) * yo(s)))
89
+ ), S = a.map(
90
+ (o, t) => n.map((l, s) => {
91
+ const p = o.values[s];
92
+ if (p == null || !Number.isFinite(p))
80
93
  return null;
81
- const [u, r] = po[p][o];
94
+ const [m, r] = Lo[s][t];
82
95
  return {
83
- x: I(l) ?? 0,
84
- y0: b ? c(u) : _,
85
- y1: c(b ? r : e)
96
+ x: q(l) ?? 0,
97
+ y0: c ? d(m) : Q,
98
+ y1: d(c ? r : p)
86
99
  };
87
100
  })
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)
101
+ ), U = S.map((o) => o.map((t) => t && { x: t.x, y: t.y1 })), W = Vo(
102
+ U,
103
+ L,
104
+ Po,
105
+ (o) => b(a[o].label)
106
+ ), X = n.map((o) => ({
107
+ label: o,
108
+ position: q(o) ?? 0
109
+ })), Z = X.map((o) => o.position), oo = K.map((o) => ({
110
+ label: x(o),
111
+ position: d(o)
94
112
  }));
95
- return /* @__PURE__ */ O(
96
- No,
113
+ return /* @__PURE__ */ T(
114
+ Ko,
97
115
  {
98
- containerRef: ao,
99
- empty: n.length === 0 || a.length === 0,
100
- emptyMessage: M,
116
+ axisReveal: xo,
117
+ containerRef: fo,
118
+ empty: a.length === 0 || n.length === 0,
119
+ emptyMessage: $,
101
120
  grid: [
102
121
  {
103
- baseline: c(0),
104
- lines: V.map((t) => c(t)),
122
+ baseline: d(0),
123
+ lines: K.map((o) => d(o)),
105
124
  orientation: "horizontal"
106
125
  }
107
126
  ],
108
- fillHeight: no,
109
- height: $,
110
- legend: n.map((t, o) => ({
111
- color: f[o],
112
- hidden: g(t.label),
113
- label: t.label
127
+ fillHeight: vo,
128
+ height: F,
129
+ legend: a.map((o, t) => ({
130
+ color: h[t],
131
+ hidden: b(o.label),
132
+ label: o.label
114
133
  })),
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 },
134
+ legendAlign: po,
135
+ legendPosition: mo,
136
+ margins: Co,
137
+ onToggleSeries: bo,
138
+ plot: i,
139
+ title: co,
140
+ tooltip: w ? Xo({
141
+ categories: n,
142
+ colors: h,
143
+ format: H ?? x,
144
+ index: L,
145
+ isHidden: b,
146
+ series: a,
147
+ showTotal: c
148
+ }) : void 0,
149
+ width: G,
150
+ xAxis: { labelRotation: $o, ticks: X, visibility: z },
151
+ yAxis: { hideLine: !0, ticks: oo, visibility: B },
152
+ yAxisRight: { hideLine: !0, ticks: oo, visibility: _ },
125
153
  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);
154
+ A && L !== null && /* @__PURE__ */ e(Yo, { plot: i, position: Z[L] }),
155
+ !c && /* @__PURE__ */ e("defs", { children: a.map((o, t) => {
156
+ const l = ot(S[t], Q);
157
+ return /* @__PURE__ */ T("linearGradient", { id: `${k}-${t}`, x1: "0", x2: "0", y1: "0", y2: "1", children: [
158
+ l > 0 && /* @__PURE__ */ e("stop", { offset: l * 0.05, stopColor: h[t], stopOpacity: 0.6 }),
159
+ /* @__PURE__ */ e("stop", { offset: l, stopColor: h[t], stopOpacity: 0.05 }),
160
+ l < 1 && /* @__PURE__ */ e("stop", { offset: l + (1 - l) * 0.95, stopColor: h[t], stopOpacity: 0.6 })
161
+ ] }, t);
133
162
  }) }),
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(
163
+ a.map((o, t) => {
164
+ const l = S[t], s = l.map(
165
+ (m) => m === null ? null : { x: m.x, y: m.y1 }
166
+ ), p = b(o.label);
167
+ return /* @__PURE__ */ T(
139
168
  "g",
140
169
  {
141
- "aria-hidden": e || void 0,
142
- className: `${v.series} ${e ? v.seriesOff : ""}`,
170
+ "aria-hidden": p || void 0,
171
+ className: `${v.series} ${p ? v.seriesOff : ""}`,
143
172
  children: [
144
- /* @__PURE__ */ s(
173
+ /* @__PURE__ */ e(
145
174
  "path",
146
175
  {
147
- d: Do(l, y),
148
- fill: b ? f[o] : `url(#${H}-${o})`
176
+ d: Qo(l, g),
177
+ fill: c ? h[t] : `url(#${k}-${t})`,
178
+ fillOpacity: c ? 0.4 : void 0
149
179
  }
150
180
  ),
151
- /* @__PURE__ */ s(
181
+ /* @__PURE__ */ e(
152
182
  "path",
153
183
  {
154
184
  className: v.outline,
155
- d: Oo(p, y),
185
+ d: Uo(s, g),
156
186
  fill: "none",
157
- stroke: f[o]
187
+ stroke: h[t]
158
188
  }
159
189
  ),
160
- a.map((u, r) => {
161
- const d = l[r];
162
- if (d === null)
190
+ n.map((m, r) => {
191
+ const f = l[r];
192
+ if (f === null)
163
193
  return null;
164
- const q = `${t.label}, ${u}: ${h(t.values[r] ?? 0)}`;
165
- return /* @__PURE__ */ s(
194
+ const O = `${o.label}, ${m}: ${x(o.values[r] ?? 0)}`;
195
+ return /* @__PURE__ */ e(
166
196
  "circle",
167
197
  {
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],
198
+ "aria-label": O,
199
+ className: ro(j, t === W) || Zo(l, r) ? v.dotVisible : v.dot,
200
+ cx: f.x,
201
+ cy: f.y1,
202
+ stroke: h[t],
173
203
  r: 4,
174
- children: /* @__PURE__ */ s("title", { children: q })
204
+ children: !A && /* @__PURE__ */ e("title", { children: O })
175
205
  },
176
206
  r
177
207
  );
178
208
  }),
179
- P && a.map((u, r) => {
180
- const d = l[r];
181
- return d === null ? null : /* @__PURE__ */ s(
209
+ P !== "hidden" && n.map((m, r) => {
210
+ const f = l[r];
211
+ if (f === null)
212
+ return null;
213
+ const { below: O, dx: Oo, textAnchor: Fo } = Wo(
214
+ U,
215
+ t,
216
+ r,
217
+ M.lineHeight,
218
+ (No) => b(a[No].label)
219
+ );
220
+ return /* @__PURE__ */ e(
182
221
  "text",
183
222
  {
184
- className: v.valueLabel,
185
- textAnchor: "middle",
186
- x: d.x,
187
- y: d.y1 - 10,
188
- children: h(t.values[r] ?? 0)
223
+ className: `${v.valueLabel} ${ro(P, t === W) ? "" : v.valueLabelHidden}`,
224
+ textAnchor: Fo,
225
+ x: f.x + Oo,
226
+ y: O ? f.y1 + M.lineHeight + 2 : f.y1 - 10,
227
+ children: x(o.values[r] ?? 0)
189
228
  },
190
229
  r
191
230
  );
192
231
  })
193
232
  ]
194
233
  },
195
- o
234
+ t
196
235
  );
197
- })
236
+ }),
237
+ A && /* @__PURE__ */ e(
238
+ qo,
239
+ {
240
+ onHover: Ho,
241
+ onPointerY: Mo,
242
+ plot: i,
243
+ positions: Z
244
+ }
245
+ )
198
246
  ]
199
247
  }
200
248
  );
201
249
  }
202
250
  export {
203
- qo as ChartArea
251
+ yt as ChartArea
204
252
  };
205
253
  //# sourceMappingURL=ChartArea.js.map
@@ -1 +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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"}
1
+ {"version":3,"file":"ChartArea.js","sources":["../../../../src/components/charts/ChartArea/ChartArea.tsx"],"sourcesContent":["import { useId, useMemo, useState } from 'react';\nimport {\n CartesianFrame,\n categoryTooltip,\n PointBands,\n PointCursor,\n areaPath,\n seriesInScale,\n useCartesianLayout,\n chartHeight,\n linePath,\n markShown,\n nearestSeriesAt,\n pointLabelPlacement,\n useChartMetrics,\n useHoveredBand,\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 MarkVisibility,\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 /** Formato dos valores no balao. Sem ele, vale o `formatValue`: o eixo pode sair compacto e o balao, exato. */\n formatTooltipValue?: (value: number) => string;\n formatValue?: (value: number) => string;\n /**\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 /** Indice da categoria mais proxima do ponteiro, ou `null` ao sair. */\n onHoverCategory?: (index: number | null) => void;\n series: readonly ChartAreaSeries[];\n /** Valor acima de cada ponto: sempre, nunca, ou so os da serie mais proxima do ponteiro. */\n showDataLabels?: MarkVisibility;\n /** Pontos de cada valor: sempre, nunca, ou so os da serie mais proxima do ponteiro. */\n showDots?: MarkVisibility;\n /**\n * Balao com as series da categoria mais proxima do ponteiro. Desligue para montar o proprio\n * `ChartTooltip` pela costura; sem balao nem costura, o ponto volta a ter o `<title>`.\n */\n showTooltip?: 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 formatTooltipValue,\n formatValue = formatarNumero,\n height = 260,\n includeZero = true,\n hiddenSeries,\n labelAngle = 'auto',\n legend = 'bottom',\n legendAlign,\n onHiddenSeriesChange,\n onHoverCategory,\n series,\n showDataLabels = 'hidden',\n showDots = 'onHover',\n showTooltip = true,\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, isOutOfScale, toggle } = useSeriesToggle({\n defaultHiddenSeries,\n hiddenSeries,\n labels: series.map((serie) => serie.label),\n onHiddenSeriesChange,\n });\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 naEscala = seriesInScale(series, isOutOfScale);\n const visivel = (ordem: number) => (naEscala.includes(series[ordem]) ? 1 : 0);\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 naEscala.map((serie) => domainOf(serie.values.filter((valor) => valor !== null), { includeZero })),\n );\n }, [categories, includeZero, isOutOfScale, series, stacked]);\n\n const rotulosDeValor = valueLabelsFor(dominio, alturaDoDesenho, formatValue);\n\n const { axisReveal, margins, plot, rotation } = useCartesianLayout({\n bottomLabels: categories,\n font,\n height: alturaDoDesenho,\n labelAngle,\n leftLabels: rotulosDeValor,\n rightLabels: rotulosDeValor,\n topRoom: showDataLabels === 'hidden' ? 0 : valueLabelRoom(font),\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 const { hover: focarCategoria, hovered: categoriaEmFoco } = useHoveredBand(onHoverCategory);\n const [alturaDoPonteiro, setAlturaDoPonteiro] = useState<number | null>(null);\n const comFaixas =\n showTooltip || onHoverCategory !== undefined || showDots === 'onHover' || showDataLabels === 'onHover';\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 contornos = faixasPorSerie.map((faixas) => faixas.map((faixa) => faixa && { x: faixa.x, y: faixa.y1 }));\n const serieEmFoco = nearestSeriesAt(\n contornos,\n categoriaEmFoco,\n alturaDoPonteiro,\n (indice) => isHidden(series[indice].label),\n );\n\n const marcasCategoria: AxisTick[] = categories.map((categoria) => ({\n label: categoria,\n position: escalaCategorias(categoria) ?? 0,\n }));\n const posicoesCategoria = marcasCategoria.map((marca) => marca.position);\n\n const marcasValor: AxisTick[] = marcasDeValor.map((valor) => ({\n label: formatValue(valor),\n position: escalaValores(valor),\n }));\n\n return (\n <CartesianFrame\n axisReveal={axisReveal}\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 tooltip={\n showTooltip\n ? categoryTooltip({\n categories,\n colors: cores,\n format: formatTooltipValue ?? formatValue,\n index: categoriaEmFoco,\n isHidden,\n series,\n showTotal: stacked,\n })\n : undefined\n }\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 {comFaixas && categoriaEmFoco !== null && (\n <PointCursor plot={plot} position={posicoesCategoria[categoriaEmFoco]} />\n )}\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 fillOpacity={stacked ? 0.4 : undefined}\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={\n markShown(showDots, indiceSerie === serieEmFoco) || isolada(faixas, indice)\n ? styles.dotVisible\n : styles.dot\n }\n cx={faixa.x}\n cy={faixa.y1}\n stroke={cores[indiceSerie]}\n key={indice}\n r={4}\n >\n {!comFaixas && <title>{descricao}</title>}\n </circle>\n );\n })}\n\n {showDataLabels !== 'hidden' &&\n categories.map((categoria, indice) => {\n const faixa = faixas[indice];\n\n if (faixa === null) {\n return null;\n }\n\n const { below, dx, textAnchor } = pointLabelPlacement(contornos, indiceSerie, indice, font.lineHeight, (outra) =>\n isHidden(series[outra].label),\n );\n\n return (\n <text\n className={`${styles.valueLabel} ${markShown(showDataLabels, indiceSerie === serieEmFoco) ? '' : styles.valueLabelHidden}`}\n key={indice}\n textAnchor={textAnchor}\n x={faixa.x + dx}\n y={below ? faixa.y1 + font.lineHeight + 2 : faixa.y1 - 10}\n >\n {formatValue(serie.values[indice] ?? 0)}\n </text>\n );\n })}\n </g>\n );\n })}\n\n {comFaixas && (\n <PointBands\n onHover={focarCategoria}\n onPointerY={setAlturaDoPonteiro}\n plot={plot}\n positions={posicoesCategoria}\n />\n )}\n </CartesianFrame>\n );\n}\n"],"names":["isolada","faixas","indice","alturaDoZero","base","pontas","faixa","topo","fundo","ChartArea","accent","categories","curve","defaultHiddenSeries","emptyMessage","formatTooltipValue","formatValue","formatarNumero","height","includeZero","hiddenSeries","labelAngle","legend","legendAlign","onHiddenSeriesChange","onHoverCategory","series","showDataLabels","showDots","showTooltip","stacked","title","xAxis","yAxis","yAxisRight","gradienteId","useId","font","alturaMedida","ref","width","useChartMetrics","fillHeight","alturaDoDesenho","chartHeight","isHidden","isOutOfScale","toggle","useSeriesToggle","serie","cores","useMemo","resolveSeriesColors","presencas","useTweenedNumbers","presenca","dominio","naEscala","seriesInScale","visivel","ordem","domainOf","_","stackDiverging","mergeDomains","valor","rotulosDeValor","valueLabelsFor","axisReveal","margins","plot","rotation","useCartesianLayout","valueLabelRoom","escalaCategorias","pointScale","focarCategoria","categoriaEmFoco","useHoveredBand","alturaDoPonteiro","setAlturaDoPonteiro","useState","comFaixas","escalaAlvo","linearScale","minimo","maximo","escalaValores","marcasDeValor","ticksFor","pilhas","faixasPorSerie","indiceSerie","categoria","de","ate","contornos","serieEmFoco","nearestSeriesAt","marcasCategoria","posicoesCategoria","marca","marcasValor","jsxs","CartesianFrame","categoryTooltip","jsx","PointCursor","zero","contorno","oculta","styles","areaPath","linePath","descricao","markShown","below","dx","textAnchor","pointLabelPlacement","outra","PointBands"],"mappings":"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"}
@@ -1,2 +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;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="_outline_138hz_1 _line_yf6oe_121",_="_dot_138hz_5 _dot_yf6oe_130",s="_dotVisible_138hz_9 _dotVisible_yf6oe_137",l="_valueLabel_138hz_13 _valueLabel_yf6oe_103",i="_series_138hz_17 _series_yf6oe_211",o="_seriesOff_138hz_21 _seriesOff_yf6oe_215",t="_valueLabelHidden_138hz_25 _valueLabelHidden_yf6oe_116",a={outline:e,dot:_,dotVisible:s,valueLabel:l,series:i,seriesOff:o,valueLabelHidden:t};exports.default=a;exports.dot=_;exports.dotVisible=s;exports.outline=e;exports.series=i;exports.seriesOff=o;exports.valueLabel=l;exports.valueLabelHidden=t;
2
2
  //# sourceMappingURL=ChartArea.module.css.cjs.map
@@ -1,18 +1,20 @@
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,
1
+ const e = "_outline_138hz_1 _line_yf6oe_121", _ = "_dot_138hz_5 _dot_yf6oe_130", s = "_dotVisible_138hz_9 _dotVisible_yf6oe_137", o = "_valueLabel_138hz_13 _valueLabel_yf6oe_103", l = "_series_138hz_17 _series_yf6oe_211", i = "_seriesOff_138hz_21 _seriesOff_yf6oe_215", t = "_valueLabelHidden_138hz_25 _valueLabelHidden_yf6oe_116", a = {
2
+ outline: e,
3
+ dot: _,
4
4
  dotVisible: s,
5
- valueLabel: i,
5
+ valueLabel: o,
6
6
  series: l,
7
- seriesOff: t
7
+ seriesOff: i,
8
+ valueLabelHidden: t
8
9
  };
9
10
  export {
10
- o as default,
11
- e as dot,
11
+ a as default,
12
+ _ as dot,
12
13
  s as dotVisible,
13
- _ as outline,
14
+ e as outline,
14
15
  l as series,
15
- t as seriesOff,
16
- i as valueLabel
16
+ i as seriesOff,
17
+ o as valueLabel,
18
+ t as valueLabelHidden
17
19
  };
18
20
  //# sourceMappingURL=ChartArea.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartArea.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"ChartArea.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -1,2 +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;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const N=require("react/jsx-runtime"),g=require("react"),L=require("./ChartBar.module.css.cjs"),Ao=require("../core/useChartMetrics.cjs"),mo=require("../core/useSeriesToggle.cjs"),Po=require("../core/useHoveredBand.cjs"),zo=require("../palette/seriesColor.cjs"),ho=require("../core/useTweenedNumbers.cjs"),h=require("../scales/scales.cjs"),P=require("../core/cartesianLayout.cjs"),Vo=require("../core/useCartesianLayout.cjs"),z=require("../core/spacing.cjs"),Io=require("../../../utils/formatters/formatarNumero.cjs"),Go=require("../core/CartesianFrame.cjs"),Jo=require("../core/BandCursor.cjs"),Ko=require("../core/shapes.cjs"),Qo=require("../core/tooltips.cjs");function Uo({accent:V,categories:r,defaultHiddenSeries:fo,emptyMessage:bo="Sem dados no período",formatTooltipValue:po,formatValue:q=Io.formatarNumero,height:vo=260,hiddenSeries:xo,labelAngle:Mo="auto",legend:j="bottom",legendAlign:go,onHiddenSeriesChange:qo,onHoverCategory:Do,orientation:I="vertical",series:u,showDataLabels:y="hidden",showTooltip:Fo=!0,stacked:c=!1,title:No,xAxis:G="visible",yAxis:J="visible",yAxisRight:K="hidden"}){const{font:Q,height:Lo,radius:p,ref:yo,width:C}=Ao.useChartMetrics(),{fillHeight:Bo,value:R}=P.chartHeight(vo,Lo),{isHidden:D,isOutOfScale:U,toggle:To}=mo.useSeriesToggle({defaultHiddenSeries:fo,hiddenSeries:xo,labels:u.map(o=>o.label),onHiddenSeriesChange:qo}),{hover:W,hovered:B}=Po.useHoveredBand(Do),[Oo,X]=g.useState(null),n=I==="vertical",$=g.useMemo(()=>zo.resolveSeriesColors(u,{accent:V}),[V,u]),Y=ho.useTweenedNumbers(u.map(o=>D(o.label)?0:1)),jo=o=>Y[o]??0,w=g.useMemo(()=>{const o=mo.seriesInScale(u,U);return c?h.domainOf(r.flatMap((t,e)=>h.stackDiverging(o.map(a=>a.values[e]??0)).flat())):h.mergeDomains(o.map(t=>h.domainOf([...t.values])))},[r,U,u,c]),Co=!n&&(j==="left"||j==="right")?"bottom":j,H=P.valueLabelsFor(w,n?R:C,q),{axisReveal:Ro,margins:$o,plot:v,rotation:wo}=Vo.useCartesianLayout({bottomLabels:n?r:H,font:Q,height:R,labelAngle:Mo,leftLabels:n?H:r,rightLabels:n?H:r,topRoom:y!=="hidden"&&n?z.valueLabelRoom(Q):0,width:C,xAxis:G,yAxis:J,yAxisRight:K}),Z=n?v.width:v.height,S=n?v.height:v.width,T=n?S:0,O=n?0:S,x=g.useMemo(()=>h.bandScale({domain:r,range:[0,Z]}),[r,Z]),k=g.useMemo(()=>h.linearScale({domain:w,range:[T,O]}),[w,O,T]),[oo,to]=ho.useTweenedNumbers(k.domain()),b=g.useMemo(()=>h.linearScale({domain:{min:oo,max:to},nice:!1,range:[T,O]}),[O,T,to,oo]),no=h.ticksFor(k,S),F=x.bandwidth(),Ho=z.barSlots(F,Y);function eo(o){return Ho[o]??z.NO_BAR_SLOT}function ao(o){return c?F:eo(o).thickness}function so(o){return c?0:eo(o).offset}function ro(o,t){const e=u[o].values[t];return(Number.isFinite(e)?e:0)*(c?jo(o):1)}const _=r.map((o,t)=>c?h.stackDiverging(u.map((e,a)=>ro(a,t))):[]);function lo(o,t){return _[t][o]??[0,ro(o,t)]}function So(o,t){const[e,a]=lo(o,t);if(!c)return[p,p,p,p];const s=_[t],l=a<e?Math.min(...s.map(([,M])=>M)):Math.max(...s.map(([,M])=>M)),f=a!==e&&e===0?p:0,i=a!==e&&a===l?p:0,[m,d]=a<e?[i,f]:[f,i];return n?[d,d,m,m]:[m,d,d,m]}function uo(o,t,e,a,s){const l=o<0;return N.jsx("text",{className:`${L.default.valueLabel} ${P.markShown(y,s)?"":L.default.valueLabelHidden}`,dominantBaseline:n?l?"hanging":"auto":"middle",textAnchor:n?"middle":l?"end":"start",x:n?e:t+(l?-6:6),y:n?t+(l?6:-6):e,children:q(o)},a)}const _o=r.map(o=>({label:o,position:(x(o)??0)+F/2})),Eo=no.map(o=>({label:q(o),position:b(o)})),E={labelRotation:wo,ticks:_o},A={hideLine:!0,ticks:Eo};return N.jsxs(Go.CartesianFrame,{axisReveal:Ro,containerRef:yo,empty:u.length===0||r.length===0,emptyMessage:bo,fillHeight:Bo,grid:[{baseline:b(0),lines:no.map(o=>b(o)),orientation:n?"horizontal":"vertical"}],height:R,legend:u.map((o,t)=>({color:$[t],hidden:D(o.label),label:o.label})),legendAlign:go,legendPosition:Co,margins:$o,onToggleSeries:To,plot:v,title:No,tooltip:Fo?Qo.categoryTooltip({categories:r,colors:$,format:po??q,index:B,isHidden:D,series:u,showTotal:c}):void 0,width:C,xAxis:{...n?E:A,visibility:G},yAxis:{...n?A:E,visibility:J},yAxisRight:{...n?A:E,hideLine:!0,visibility:K},children:[B!==null&&N.jsx(Jo.BandCursor,{offset:x(r[B])??0,orientation:I,plot:v,size:F}),u.map((o,t)=>{const e=D(o.label);return N.jsxs("g",{"aria-hidden":e||void 0,className:`${L.default.series} ${e?L.default.seriesOff:""}`,children:[r.map((a,s)=>{if(!Number.isFinite(o.values[s]))return null;const l=x(a)??0,[f,i]=lo(t,s),m=b(f),d=b(i),M=Math.abs(d-m),io=ao(t),co=so(t);return N.jsx("path",{"aria-label":`${o.label}, ${a}: ${q(o.values[s])}`,className:L.default.bar,d:Ko.roundedBarPath(n?l+co:Math.min(m,d),n?Math.min(m,d):l+co,n?io:M,n?M:io,So(t,s)),fill:$[t],onMouseEnter:()=>{W(s),X(t)},onMouseLeave:()=>{W(null),X(null)}},s)}),y!=="hidden"&&!c&&r.map((a,s)=>{const l=o.values[s];if(!Number.isFinite(l))return null;const f=(x(a)??0)+so(t)+ao(t)/2;return uo(l,b(l),f,s,t===Oo)})]},t)}),y!=="hidden"&&c&&r.map((o,t)=>{const e=u.filter(i=>!D(i.label)&&Number.isFinite(i.values[t]));if(e.length===0)return null;const a=e.reduce((i,m)=>i+m.values[t],0),s=_[t].map(([,i])=>i),l=a<0?Math.min(0,...s):Math.max(0,...s),f=(x(o)??0)+F/2;return uo(a,b(l),f,t,t===B)})]})}exports.ChartBar=Uo;
2
2
  //# sourceMappingURL=ChartBar.cjs.map