@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,180 +1,205 @@
1
- import { jsxs as H, jsx as v } from "react/jsx-runtime";
2
- import { useMemo as f } from "react";
1
+ import { jsxs as S, jsx as b } from "react/jsx-runtime";
2
+ import { useState as To, useMemo as c } from "react";
3
3
  import m from "./ChartCombo.module.css.js";
4
- import { useChartMetrics as Fa } from "../core/useChartMetrics.js";
5
- import { useSeriesToggle as qa } from "../core/useSeriesToggle.js";
6
- import { useHoveredBand as Ma } from "../core/useHoveredBand.js";
7
- import { resolveSeriesColors as Ra } from "../palette/seriesColor.js";
8
- import { useTweenedNumbers as oa } from "../core/useTweenedNumbers.js";
9
- import { alignZeros as Ca, bandScale as Aa, linearScale as D, ticksFor as ta, mergeDomains as Oa, domainOf as Ba } from "../scales/scales.js";
10
- import { cartesianLayout as Ha, valueLabelsFor as na, chartHeight as Ta } from "../core/cartesianLayout.js";
11
- import { valueLabelRoom as wa, barSlots as Pa, NO_BAR_SLOT as ja } from "../core/spacing.js";
12
- import { CartesianFrame as za } from "../core/CartesianFrame.js";
13
- import { BandCursor as _a } from "../core/BandCursor.js";
14
- import { roundedBarPath as Sa, linePath as Za } from "../core/shapes.js";
15
- import { formatarNumero as Ga } from "../../../utils/formatters/formatarNumero.js";
16
- function Ia(e, o) {
17
- return e[o] !== null && !e[o - 1] && !e[o + 1];
4
+ import { useChartMetrics as Bo } from "../core/useChartMetrics.js";
5
+ import { useSeriesToggle as So, seriesInScale as Po } from "../core/useSeriesToggle.js";
6
+ import { useHoveredBand as jo } from "../core/useHoveredBand.js";
7
+ import { resolveSeriesColors as wo } from "../palette/seriesColor.js";
8
+ import { useTweenedNumbers as lo } from "../core/useTweenedNumbers.js";
9
+ import { alignZeros as zo, bandScale as _o, linearScale as k, ticksFor as io, mergeDomains as Io, domainOf as Zo } from "../scales/scales.js";
10
+ import { useCartesianLayout as Go } from "../core/useCartesianLayout.js";
11
+ import { valueLabelRoom as Jo, barSlots as Ko, NO_BAR_SLOT as Qo } from "../core/spacing.js";
12
+ import { valueLabelsFor as eo, markShown as P, chartHeight as Uo } from "../core/cartesianLayout.js";
13
+ import { CartesianFrame as Wo } from "../core/CartesianFrame.js";
14
+ import { BandCursor as Xo } from "../core/BandCursor.js";
15
+ import { roundedBarPath as Yo, linePath as Vo } from "../core/shapes.js";
16
+ import { categoryTooltip as oa } from "../core/tooltips.js";
17
+ import { formatarNumero as aa } from "../../../utils/formatters/formatarNumero.js";
18
+ function ta(s, a) {
19
+ return s[a] !== null && !s[a - 1] && !s[a + 1];
18
20
  }
19
- function q(e) {
20
- return e.axis ?? "left";
21
+ function E(s) {
22
+ return s.axis ?? "left";
21
23
  }
22
- function la(e, o, g) {
23
- return Oa(
24
- e.filter((b) => q(b) === o && !g(b.label)).map((b) => Ba(b.values.filter((M) => M !== null)))
24
+ function ro(s, a, p) {
25
+ return Io(
26
+ Po(
27
+ s.filter((v) => E(v) === a),
28
+ p
29
+ ).map((v) => Zo(v.values.filter((M) => M !== null)))
25
30
  );
26
31
  }
27
- function ia(e) {
28
- const [o = 0, g = 0] = D({ domain: e, range: [0, 1] }).domain();
29
- return { max: g, min: o };
32
+ function so(s) {
33
+ const [a = 0, p = 0] = k({ domain: s, range: [0, 1] }).domain();
34
+ return { max: p, min: a };
30
35
  }
31
- function eo({
32
- accent: e,
33
- categories: o,
34
- curve: g = "smooth",
35
- defaultHiddenSeries: b,
36
+ function ya({
37
+ accent: s,
38
+ categories: a,
39
+ curve: p = "smooth",
40
+ defaultHiddenSeries: v,
36
41
  emptyMessage: M = "Sem dados no período",
37
- formatRightValue: ra,
38
- formatValue: y = Ga,
39
- height: ea = 260,
40
- hiddenSeries: sa,
41
- labelAngle: ma = "auto",
42
- legend: ua = "bottom",
43
- legendAlign: ha,
44
- onHiddenSeriesChange: ca,
45
- onHoverCategory: da,
46
- series: s,
47
- showDataLabels: R = !1,
48
- showDots: fa = !1,
49
- title: ba,
50
- xAxis: T = "visible",
42
+ formatRightValue: mo,
43
+ formatTooltipValue: uo,
44
+ formatValue: g = aa,
45
+ height: ho = 260,
46
+ hiddenSeries: co,
47
+ labelAngle: fo = "auto",
48
+ legend: bo = "bottom",
49
+ legendAlign: po,
50
+ onHiddenSeriesChange: vo,
51
+ onHoverCategory: go,
52
+ series: i,
53
+ showDataLabels: x = "hidden",
54
+ showTooltip: xo = !0,
55
+ showDots: yo = "onHover",
56
+ title: Do,
57
+ xAxis: j = "visible",
51
58
  yAxis: w = "visible",
52
- yAxisRight: pa
59
+ yAxisRight: $o
53
60
  }) {
54
- const { font: P, height: va, radius: N, ref: ga, width: j } = Fa(), { fillHeight: xa, value: k } = Ta(ea, va), { isHidden: h, toggle: Da } = qa({ defaultHiddenSeries: b, hiddenSeries: sa, onHiddenSeriesChange: ca }), { hover: z, hovered: _ } = Ma(da), C = ra ?? y, A = s.some((a) => q(a) === "right"), E = f(() => Ra(s, { accent: e }), [e, s]), ya = oa(s.map((a) => h(a.label) ? 0 : 1)), [O, B] = f(() => {
55
- const a = ia(la(s, "left", h));
56
- return A ? Ca(a, ia(la(s, "right", h))) : [a, a];
57
- }, [h, s, A]), S = pa ?? (A ? "visible" : "hidden"), { margins: Na, plot: i, rotation: ka } = Ha({
58
- bottomLabels: o,
59
- font: P,
60
- height: k,
61
- labelAngle: ma,
62
- leftLabels: na(O, k, y),
63
- rightLabels: na(B, k, C),
64
- topRoom: R ? wa(P) : 0,
65
- width: j,
66
- xAxis: T,
61
+ const { font: z, height: No, radius: F, ref: ko, width: _ } = Bo(), { fillHeight: Eo, value: L } = Uo(ho, No), { isHidden: y, isOutOfScale: O, toggle: Fo } = So({
62
+ defaultHiddenSeries: v,
63
+ hiddenSeries: co,
64
+ labels: i.map((o) => o.label),
65
+ onHiddenSeriesChange: vo
66
+ }), { hover: I, hovered: D } = jo(go), [Lo, Z] = To(null), R = mo ?? g, A = i.some((o) => E(o) === "right"), $ = c(() => wo(i, { accent: s }), [s, i]), Ro = lo(i.map((o) => y(o.label) ? 0 : 1)), [T, B] = c(() => {
67
+ const o = so(ro(i, "left", O));
68
+ return A ? zo(o, so(ro(i, "right", O))) : [o, o];
69
+ }, [O, i, A]), G = $o ?? (A ? "visible" : "hidden"), { axisReveal: qo, margins: Co, plot: e, rotation: Ho } = Go({
70
+ bottomLabels: a,
71
+ font: z,
72
+ height: L,
73
+ labelAngle: fo,
74
+ leftLabels: eo(T, L, g),
75
+ rightLabels: eo(B, L, R),
76
+ topRoom: x === "hidden" ? 0 : Jo(z),
77
+ width: _,
78
+ xAxis: j,
67
79
  yAxis: w,
68
- yAxisRight: S
69
- }), p = f(
70
- () => Aa({ domain: o, range: [0, i.width] }),
71
- [o, i.width]
72
- ), Z = f(
73
- () => D({ domain: O, nice: !1, range: [i.height, 0] }),
74
- [O, i.height]
75
- ), G = f(
76
- () => D({ domain: B, nice: !1, range: [i.height, 0] }),
77
- [B, i.height]
78
- ), [I, J, K, Q] = oa([
79
- ...Z.domain(),
80
- ...G.domain()
81
- ]), L = f(
82
- () => D({ domain: { min: I, max: J }, nice: !1, range: [i.height, 0] }),
83
- [J, I, i.height]
84
- ), U = f(
85
- () => D({ domain: { min: K, max: Q }, nice: !1, range: [i.height, 0] }),
86
- [Q, K, i.height]
87
- ), W = (a) => q(a) === "right" ? U : L, X = (a) => q(a) === "right" ? C : y, Y = ta(Z, i.height), Ea = ta(G, i.height), $ = p.bandwidth(), La = Pa(
88
- $,
89
- s.map((a, t) => a.kind === "bar" ? ya[t] ?? 0 : 0)
90
- ), F = (a) => La[a] ?? ja, $a = o.map((a) => ({
91
- label: a,
92
- position: (p(a) ?? 0) + $ / 2
93
- })), V = (a, t, c) => a.map((u) => ({ label: c(u), position: t(u) }));
94
- return /* @__PURE__ */ H(
95
- za,
80
+ yAxisRight: G
81
+ }), f = c(
82
+ () => _o({ domain: a, range: [0, e.width] }),
83
+ [a, e.width]
84
+ ), J = c(
85
+ () => k({ domain: T, nice: !1, range: [e.height, 0] }),
86
+ [T, e.height]
87
+ ), K = c(
88
+ () => k({ domain: B, nice: !1, range: [e.height, 0] }),
89
+ [B, e.height]
90
+ ), [Q, U, W, X] = lo([
91
+ ...J.domain(),
92
+ ...K.domain()
93
+ ]), q = c(
94
+ () => k({ domain: { min: Q, max: U }, nice: !1, range: [e.height, 0] }),
95
+ [U, Q, e.height]
96
+ ), Y = c(
97
+ () => k({ domain: { min: W, max: X }, nice: !1, range: [e.height, 0] }),
98
+ [X, W, e.height]
99
+ ), V = (o) => E(o) === "right" ? Y : q, oo = (o) => E(o) === "right" ? R : g, ao = io(J, e.height), Mo = io(K, e.height), C = f.bandwidth(), Oo = Ko(
100
+ C,
101
+ i.map((o, t) => o.kind === "bar" ? Ro[t] ?? 0 : 0)
102
+ ), H = (o) => Oo[o] ?? Qo, Ao = a.map((o) => ({
103
+ label: o,
104
+ position: (f(o) ?? 0) + C / 2
105
+ })), to = (o, t, d) => o.map((u) => ({ label: d(u), position: t(u) }));
106
+ return /* @__PURE__ */ S(
107
+ Wo,
96
108
  {
97
- containerRef: ga,
98
- empty: s.length === 0 || o.length === 0,
109
+ axisReveal: qo,
110
+ containerRef: ko,
111
+ empty: i.length === 0 || a.length === 0,
99
112
  emptyMessage: M,
100
- fillHeight: xa,
113
+ fillHeight: Eo,
101
114
  grid: [
102
115
  {
103
- baseline: L(0),
104
- lines: Y.map((a) => L(a)),
116
+ baseline: q(0),
117
+ lines: ao.map((o) => q(o)),
105
118
  orientation: "horizontal"
106
119
  }
107
120
  ],
108
- height: k,
109
- legend: s.map((a, t) => ({
110
- color: E[t],
111
- hidden: h(a.label),
112
- label: a.label
121
+ height: L,
122
+ legend: i.map((o, t) => ({
123
+ color: $[t],
124
+ hidden: y(o.label),
125
+ label: o.label
113
126
  })),
114
- legendAlign: ha,
115
- legendPosition: ua,
116
- margins: Na,
117
- onToggleSeries: Da,
118
- plot: i,
119
- title: ba,
120
- width: j,
121
- xAxis: { labelRotation: ka, ticks: $a, visibility: T },
127
+ legendAlign: po,
128
+ legendPosition: bo,
129
+ margins: Co,
130
+ onToggleSeries: Fo,
131
+ plot: e,
132
+ title: Do,
133
+ tooltip: xo ? oa({
134
+ categories: a,
135
+ colors: $,
136
+ format: uo ?? g,
137
+ index: D,
138
+ isHidden: y,
139
+ series: i.map((o) => ({ ...o, format: E(o) === "right" ? R : void 0 }))
140
+ }) : void 0,
141
+ width: _,
142
+ xAxis: { labelRotation: Ho, ticks: Ao, visibility: j },
122
143
  yAxis: {
123
144
  hideLine: !0,
124
- ticks: V(Y, L, y),
145
+ ticks: to(ao, q, g),
125
146
  visibility: w
126
147
  },
127
148
  yAxisRight: {
128
149
  hideLine: !0,
129
- ticks: V(Ea, U, C),
130
- visibility: S
150
+ ticks: to(Mo, Y, R),
151
+ visibility: G
131
152
  },
132
153
  children: [
133
- _ !== null && /* @__PURE__ */ v(_a, { offset: p(o[_]) ?? 0, plot: i, size: $ }),
134
- s.map((a, t) => {
135
- if (a.kind !== "bar")
154
+ D !== null && /* @__PURE__ */ b(Xo, { offset: f(a[D]) ?? 0, plot: e, size: C }),
155
+ i.map((o, t) => {
156
+ if (o.kind !== "bar")
136
157
  return null;
137
- const c = h(a.label), u = W(a), x = X(a), d = u(0);
138
- return /* @__PURE__ */ H(
158
+ const d = y(o.label), u = V(o), N = oo(o), h = u(0);
159
+ return /* @__PURE__ */ S(
139
160
  "g",
140
161
  {
141
- "aria-hidden": c || void 0,
142
- className: `${m.series} ${c ? m.seriesOff : ""}`,
162
+ "aria-hidden": d || void 0,
163
+ className: `${m.series} ${d ? m.seriesOff : ""}`,
143
164
  children: [
144
- o.map((r, n) => {
145
- const l = a.values[n];
165
+ a.map((r, n) => {
166
+ const l = o.values[n];
146
167
  if (l == null || !Number.isFinite(l))
147
168
  return null;
148
- const aa = u(l);
149
- return /* @__PURE__ */ v(
169
+ const no = u(l);
170
+ return /* @__PURE__ */ b(
150
171
  "path",
151
172
  {
152
- "aria-label": `${a.label}, ${r}: ${x(l)}`,
173
+ "aria-label": `${o.label}, ${r}: ${N(l)}`,
153
174
  className: m.bar,
154
- d: Sa(
155
- (p(r) ?? 0) + F(t).offset,
156
- Math.min(d, aa),
157
- F(t).thickness,
158
- Math.abs(aa - d),
159
- [N, N, N, N]
175
+ d: Yo(
176
+ (f(r) ?? 0) + H(t).offset,
177
+ Math.min(h, no),
178
+ H(t).thickness,
179
+ Math.abs(no - h),
180
+ [F, F, F, F]
160
181
  ),
161
- fill: E[t],
162
- onMouseEnter: () => z(n),
163
- onMouseLeave: () => z(null)
182
+ fill: $[t],
183
+ onMouseEnter: () => {
184
+ I(n), Z(t);
185
+ },
186
+ onMouseLeave: () => {
187
+ I(null), Z(null);
188
+ }
164
189
  },
165
190
  n
166
191
  );
167
192
  }),
168
- R && o.map((r, n) => {
169
- const l = a.values[n];
170
- return l == null || !Number.isFinite(l) ? null : /* @__PURE__ */ v(
193
+ x !== "hidden" && a.map((r, n) => {
194
+ const l = o.values[n];
195
+ return l == null || !Number.isFinite(l) ? null : /* @__PURE__ */ b(
171
196
  "text",
172
197
  {
173
- className: m.valueLabel,
198
+ className: `${m.valueLabel} ${P(x, t === Lo) ? "" : m.valueLabelHidden}`,
174
199
  textAnchor: "middle",
175
- x: (p(r) ?? 0) + F(t).offset + F(t).thickness / 2,
200
+ x: (f(r) ?? 0) + H(t).offset + H(t).thickness / 2,
176
201
  y: u(l) - 6,
177
- children: x(l)
202
+ children: N(l)
178
203
  },
179
204
  n
180
205
  );
@@ -184,51 +209,51 @@ function eo({
184
209
  t
185
210
  );
186
211
  }),
187
- s.map((a, t) => {
188
- if (a.kind !== "line")
212
+ i.map((o, t) => {
213
+ if (o.kind !== "line")
189
214
  return null;
190
- const c = h(a.label), u = W(a), x = X(a), d = o.map((r, n) => {
191
- const l = a.values[n];
192
- return l == null || !Number.isFinite(l) ? null : { x: (p(r) ?? 0) + $ / 2, y: u(l) };
215
+ const d = y(o.label), u = V(o), N = oo(o), h = a.map((r, n) => {
216
+ const l = o.values[n];
217
+ return l == null || !Number.isFinite(l) ? null : { x: (f(r) ?? 0) + C / 2, y: u(l) };
193
218
  });
194
- return /* @__PURE__ */ H(
219
+ return /* @__PURE__ */ S(
195
220
  "g",
196
221
  {
197
- "aria-hidden": c || void 0,
198
- className: `${m.series} ${c ? m.seriesOff : ""}`,
222
+ "aria-hidden": d || void 0,
223
+ className: `${m.series} ${d ? m.seriesOff : ""}`,
199
224
  children: [
200
- /* @__PURE__ */ v(
225
+ /* @__PURE__ */ b(
201
226
  "path",
202
227
  {
203
228
  className: m.line,
204
- d: Za(d, g),
229
+ d: Vo(h, p),
205
230
  fill: "none",
206
- stroke: E[t]
231
+ stroke: $[t]
207
232
  }
208
233
  ),
209
- d.map(
210
- (r, n) => r === null ? null : /* @__PURE__ */ v(
234
+ h.map(
235
+ (r, n) => r === null ? null : /* @__PURE__ */ b(
211
236
  "circle",
212
237
  {
213
- "aria-label": `${a.label}, ${o[n]}: ${x(a.values[n] ?? 0)}`,
214
- className: fa || Ia(d, n) ? m.dotVisible : m.dot,
238
+ "aria-label": `${o.label}, ${a[n]}: ${N(o.values[n] ?? 0)}`,
239
+ className: P(yo, n === D) || ta(h, n) ? m.dotVisible : m.dot,
215
240
  cx: r.x,
216
241
  cy: r.y,
217
- fill: E[t],
242
+ stroke: $[t],
218
243
  r: 4
219
244
  },
220
245
  n
221
246
  )
222
247
  ),
223
- R && d.map(
224
- (r, n) => r === null ? null : /* @__PURE__ */ v(
248
+ x !== "hidden" && h.map(
249
+ (r, n) => r === null ? null : /* @__PURE__ */ b(
225
250
  "text",
226
251
  {
227
- className: m.valueLabel,
252
+ className: `${m.valueLabel} ${P(x, n === D) ? "" : m.valueLabelHidden}`,
228
253
  textAnchor: "middle",
229
254
  x: r.x,
230
255
  y: r.y - 10,
231
- children: x(a.values[n] ?? 0)
256
+ children: N(o.values[n] ?? 0)
232
257
  },
233
258
  n
234
259
  )
@@ -243,6 +268,6 @@ function eo({
243
268
  );
244
269
  }
245
270
  export {
246
- eo as ChartCombo
271
+ ya as ChartCombo
247
272
  };
248
273
  //# sourceMappingURL=ChartCombo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartCombo.js","sources":["../../../../src/components/charts/ChartCombo/ChartCombo.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport {\n BandCursor,\n CartesianFrame,\n NO_BAR_SLOT,\n barSlots,\n cartesianLayout,\n chartHeight,\n linePath,\n roundedBarPath,\n useChartMetrics,\n useHoveredBand,\n useSeriesToggle,\n useTweenedNumbers,\n valueLabelRoom,\n valueLabelsFor,\n type AxisLabelAngle,\n type AxisTick,\n type AxisVisibility,\n type ChartCurve,\n type ChartHeight,\n type ChartLegendAlign,\n type ChartLegendPosition,\n type ChartPoint,\n} from '../core';\nimport { resolveSeriesColors, type SeriesAppearance } from '../palette';\nimport { alignZeros, bandScale, domainOf, linearScale, mergeDomains, ticksFor, type NumericRange } from '../scales';\nimport { formatarNumero } from '../../../utils/formatters';\nimport styles from './ChartCombo.module.css';\n/**\n * Ponto sem vizinho desenhado. A curva entre ele e o nada nao tem tracado, e o\n * marcador so no hover deixaria o dado invisivel — entao ele aparece sempre.\n */\nfunction isolado(pontos: readonly (ChartPoint | null)[], indice: number) {\n return pontos[indice] !== null && !pontos[indice - 1] && !pontos[indice + 1];\n}\n\n\nexport type ChartComboKind = 'bar' | 'line';\n\n/**\n * Eixo de valor a que a serie pertence. A escolha e sempre do produto: o\n * grafico nunca parte a escala por conta propria.\n */\nexport type ChartComboAxis = 'left' | 'right';\n\nexport interface ChartComboSeries extends SeriesAppearance {\n axis?: ChartComboAxis;\n kind: ChartComboKind;\n label: string;\n values: readonly (number | null)[];\n}\n\nexport interface ChartComboProps {\n accent?: string;\n categories: readonly string[];\n curve?: ChartCurve;\n defaultHiddenSeries?: readonly string[];\n emptyMessage?: string;\n formatRightValue?: (value: number) => string;\n formatValue?: (value: number) => string;\n height?: ChartHeight;\n hiddenSeries?: readonly string[];\n labelAngle?: AxisLabelAngle;\n legend?: ChartLegendPosition;\n legendAlign?: ChartLegendAlign;\n onHiddenSeriesChange?: (hidden: readonly string[]) => void;\n /** Indice da categoria sob o ponteiro, ou `null` ao sair dela. */\n onHoverCategory?: (index: number | null) => void;\n series: readonly ChartComboSeries[];\n showDataLabels?: boolean;\n showDots?: boolean;\n title: string;\n xAxis?: AxisVisibility;\n yAxis?: AxisVisibility;\n yAxisRight?: AxisVisibility;\n}\n\nfunction eixoDa(serie: ChartComboSeries): ChartComboAxis {\n return serie.axis ?? 'left';\n}\n\n/** Dominio de um eixo: so as series visiveis que pertencem a ele. */\nfunction dominioDoEixo(\n series: readonly ChartComboSeries[],\n axis: ChartComboAxis,\n oculta: (label: string) => boolean,\n) {\n return mergeDomains(\n series\n .filter((serie) => eixoDa(serie) === axis && !oculta(serie.label))\n .map((serie) => domainOf(serie.values.filter((valor) => valor !== null))),\n );\n}\n\n/** Dominio com os limites arredondados que o eixo mostraria sozinho. */\nfunction arredondado(dominio: NumericRange): NumericRange {\n const [min = 0, max = 0] = linearScale({ domain: dominio, range: [0, 1] }).domain();\n\n return { max, min };\n}\n\n/**\n * Barras e linhas sobre o mesmo eixo de categorias. Uma serie declara a que\n * eixo de valor pertence; sem nenhuma a direita, o dominio e unico e o eixo\n * direito espelha o esquerdo.\n */\nexport function ChartCombo({\n accent,\n categories,\n curve = 'smooth',\n defaultHiddenSeries,\n emptyMessage = 'Sem dados no período',\n formatRightValue,\n formatValue = formatarNumero,\n height = 260,\n hiddenSeries,\n labelAngle = 'auto',\n legend = 'bottom',\n legendAlign,\n onHiddenSeriesChange,\n onHoverCategory,\n series,\n showDataLabels = false,\n showDots = false,\n title,\n xAxis = 'visible',\n yAxis = 'visible',\n yAxisRight,\n}: ChartComboProps) {\n const { font, height: alturaMedida, radius: raioDoCanto, ref, width } = useChartMetrics();\n const { fillHeight, value: alturaDoDesenho } = chartHeight(height, alturaMedida);\n const { isHidden, toggle } = useSeriesToggle({ defaultHiddenSeries, hiddenSeries, onHiddenSeriesChange });\n const { hover: focarFaixa, hovered: faixaEmFoco } = useHoveredBand(onHoverCategory);\n\n const formatarDireita = formatRightValue ?? formatValue;\n const temEixoDireito = series.some((serie) => eixoDa(serie) === 'right');\n\n // A cor sai da lista inteira, e nao das visiveis: desligar uma serie nao pode\n // repintar as demais.\n const cores = useMemo(() => resolveSeriesColors(series, { accent }), [accent, series]);\n\n // Presenca de cada serie, entre zero e um. E ela que reparte a faixa, entao a\n // barra desligada encolhe enquanto as demais ocupam o lugar dela.\n const presencas = useTweenedNumbers(series.map((serie) => (isHidden(serie.label) ? 0 : 1)));\n\n // Com serie a direita, o zero fica na mesma altura nos dois eixos: as barras crescem da mesma base.\n const [dominioEsquerda, dominioDireita] = useMemo(() => {\n const esquerda = arredondado(dominioDoEixo(series, 'left', isHidden));\n\n return temEixoDireito\n ? alignZeros(esquerda, arredondado(dominioDoEixo(series, 'right', isHidden)))\n : [esquerda, esquerda];\n }, [isHidden, series, temEixoDireito]);\n\n // Uma segunda escala sem eixo para le-la e o duplo eixo que engana. Havendo\n // serie a direita, o eixo aparece sem ninguem pedir.\n const visibilidadeDireita = yAxisRight ?? (temEixoDireito ? 'visible' : 'hidden');\n\n const { margins, plot, rotation } = cartesianLayout({\n bottomLabels: categories,\n font,\n height: alturaDoDesenho,\n labelAngle,\n leftLabels: valueLabelsFor(dominioEsquerda, alturaDoDesenho, formatValue),\n rightLabels: valueLabelsFor(dominioDireita, alturaDoDesenho, formatarDireita),\n topRoom: showDataLabels ? valueLabelRoom(font) : 0,\n width,\n xAxis,\n yAxis,\n yAxisRight: visibilidadeDireita,\n });\n\n // Barras e linhas compartilham a escala de faixas: a linha passa pelo centro\n // da faixa, que e onde a marca do eixo de categoria tambem fica.\n const escalaCategorias = useMemo(\n () => bandScale({ domain: categories, range: [0, plot.width] }),\n [categories, plot.width],\n );\n\n // A escala alvo fixa as marcas; a animada posiciona o desenho. Sem separar as\n // duas, as marcas exibiriam valores quebrados durante a transicao.\n const alvoEsquerda = useMemo(\n () => linearScale({ domain: dominioEsquerda, nice: false, range: [plot.height, 0] }),\n [dominioEsquerda, plot.height],\n );\n\n const alvoDireita = useMemo(\n () => linearScale({ domain: dominioDireita, nice: false, range: [plot.height, 0] }),\n [dominioDireita, plot.height],\n );\n\n // Os dois dominios caminham numa animacao so, e por isso chegam juntos.\n const [minEsquerda, maxEsquerda, minDireita, maxDireita] = useTweenedNumbers([\n ...alvoEsquerda.domain(),\n ...alvoDireita.domain(),\n ]);\n\n const escalaEsquerda = useMemo(\n () =>\n linearScale({ domain: { min: minEsquerda, max: maxEsquerda }, nice: false, range: [plot.height, 0] }),\n [maxEsquerda, minEsquerda, plot.height],\n );\n\n const escalaDireita = useMemo(\n () => linearScale({ domain: { min: minDireita, max: maxDireita }, nice: false, range: [plot.height, 0] }),\n [maxDireita, minDireita, plot.height],\n );\n\n const escalaDa = (serie: ChartComboSeries) =>\n eixoDa(serie) === 'right' ? escalaDireita : escalaEsquerda;\n const formatoDa = (serie: ChartComboSeries) =>\n eixoDa(serie) === 'right' ? formatarDireita : formatValue;\n\n const marcasEsquerda = ticksFor(alvoEsquerda, plot.height);\n const marcasDireita = ticksFor(alvoDireita, plot.height);\n\n const vao = escalaCategorias.bandwidth();\n\n // So as barras repartem a faixa: a linha passa pelo centro dela, e por isso\n // entra na conta com presenca zero.\n const faixas = barSlots(\n vao,\n series.map((serie, indice) => (serie.kind === 'bar' ? presencas[indice] ?? 0 : 0)),\n );\n const faixaDa = (indice: number) => faixas[indice] ?? NO_BAR_SLOT;\n\n const marcasCategoria: AxisTick[] = categories.map((categoria) => ({\n label: categoria,\n position: (escalaCategorias(categoria) ?? 0) + vao / 2,\n }));\n\n const marcasDeValor = (\n valores: readonly number[],\n escala: (valor: number) => number,\n formatar: (valor: number) => string,\n ): AxisTick[] => valores.map((valor) => ({ label: formatar(valor), position: escala(valor) }));\n\n return (\n <CartesianFrame\n containerRef={ref}\n empty={series.length === 0 || categories.length === 0}\n emptyMessage={emptyMessage}\n fillHeight={fillHeight}\n grid={[\n {\n baseline: escalaEsquerda(0),\n lines: marcasEsquerda.map((valor) => escalaEsquerda(valor)),\n orientation: 'horizontal',\n },\n ]}\n height={alturaDoDesenho}\n legend={series.map((serie, indice) => ({\n color: cores[indice],\n hidden: isHidden(serie.label),\n label: serie.label,\n }))}\n legendAlign={legendAlign}\n legendPosition={legend}\n margins={margins}\n onToggleSeries={toggle}\n plot={plot}\n title={title}\n width={width}\n xAxis={{ labelRotation: rotation, ticks: marcasCategoria, visibility: xAxis }}\n yAxis={{\n hideLine: true,\n ticks: marcasDeValor(marcasEsquerda, escalaEsquerda, formatValue),\n visibility: yAxis,\n }}\n yAxisRight={{\n hideLine: true,\n ticks: marcasDeValor(marcasDireita, escalaDireita, formatarDireita),\n visibility: visibilidadeDireita,\n }}\n >\n {faixaEmFoco !== null && (\n <BandCursor offset={escalaCategorias(categories[faixaEmFoco]) ?? 0} plot={plot} size={vao} />\n )}\n\n {series.map((serie, indiceSerie) => {\n if (serie.kind !== 'bar') {\n return null;\n }\n\n const oculta = isHidden(serie.label);\n const escala = escalaDa(serie);\n const formatar = formatoDa(serie);\n const base = escala(0);\n\n return (\n <g\n aria-hidden={oculta || undefined}\n className={`${styles.series} ${oculta ? styles.seriesOff : ''}`}\n key={indiceSerie}\n >\n {categories.map((categoria, indiceCategoria) => {\n const valor = serie.values[indiceCategoria];\n\n if (valor === null || valor === undefined || !Number.isFinite(valor)) {\n return null;\n }\n\n const ponta = escala(valor);\n\n return (\n <path\n aria-label={`${serie.label}, ${categoria}: ${formatar(valor)}`}\n className={styles.bar}\n d={roundedBarPath(\n (escalaCategorias(categoria) ?? 0) + faixaDa(indiceSerie).offset,\n Math.min(base, ponta),\n faixaDa(indiceSerie).thickness,\n Math.abs(ponta - base),\n [raioDoCanto, raioDoCanto, raioDoCanto, raioDoCanto],\n )}\n fill={cores[indiceSerie]}\n key={indiceCategoria}\n onMouseEnter={() => focarFaixa(indiceCategoria)}\n onMouseLeave={() => focarFaixa(null)}\n />\n );\n })}\n\n {showDataLabels &&\n categories.map((categoria, indiceCategoria) => {\n const valor = serie.values[indiceCategoria];\n\n if (valor === null || valor === undefined || !Number.isFinite(valor)) {\n return null;\n }\n\n return (\n <text\n className={styles.valueLabel}\n key={indiceCategoria}\n textAnchor=\"middle\"\n x={\n (escalaCategorias(categoria) ?? 0) +\n faixaDa(indiceSerie).offset +\n faixaDa(indiceSerie).thickness / 2\n }\n y={escala(valor) - 6}\n >\n {formatar(valor)}\n </text>\n );\n })}\n </g>\n );\n })}\n\n {series.map((serie, indiceSerie) => {\n if (serie.kind !== 'line') {\n return null;\n }\n\n const oculta = isHidden(serie.label);\n const escala = escalaDa(serie);\n const formatar = formatoDa(serie);\n const pontos = categories.map<ChartPoint | null>((categoria, indice) => {\n const valor = serie.values[indice];\n\n if (valor === null || valor === undefined || !Number.isFinite(valor)) {\n return null;\n }\n\n return { x: (escalaCategorias(categoria) ?? 0) + vao / 2, y: escala(valor) };\n });\n\n return (\n <g\n aria-hidden={oculta || undefined}\n className={`${styles.series} ${oculta ? styles.seriesOff : ''}`}\n key={indiceSerie}\n >\n <path\n className={styles.line}\n d={linePath(pontos, curve)}\n fill=\"none\"\n stroke={cores[indiceSerie]}\n />\n\n {pontos.map((ponto, indice) =>\n ponto === null ? null : (\n <circle\n aria-label={`${serie.label}, ${categories[indice]}: ${formatar(serie.values[indice] ?? 0)}`}\n className={showDots || isolado(pontos, indice) ? styles.dotVisible : styles.dot}\n cx={ponto.x}\n cy={ponto.y}\n fill={cores[indiceSerie]}\n key={indice}\n r={4}\n />\n ),\n )}\n\n {showDataLabels &&\n pontos.map((ponto, indice) =>\n ponto === null ? null : (\n <text\n className={styles.valueLabel}\n key={indice}\n textAnchor=\"middle\"\n x={ponto.x}\n y={ponto.y - 10}\n >\n {formatar(serie.values[indice] ?? 0)}\n </text>\n ),\n )}\n </g>\n );\n })}\n </CartesianFrame>\n );\n}\n"],"names":["isolado","pontos","indice","eixoDa","serie","dominioDoEixo","series","axis","oculta","mergeDomains","domainOf","valor","arredondado","dominio","min","max","linearScale","ChartCombo","accent","categories","curve","defaultHiddenSeries","emptyMessage","formatRightValue","formatValue","formatarNumero","height","hiddenSeries","labelAngle","legend","legendAlign","onHiddenSeriesChange","onHoverCategory","showDataLabels","showDots","title","xAxis","yAxis","yAxisRight","font","alturaMedida","raioDoCanto","ref","width","useChartMetrics","fillHeight","alturaDoDesenho","chartHeight","isHidden","toggle","useSeriesToggle","focarFaixa","faixaEmFoco","useHoveredBand","formatarDireita","temEixoDireito","cores","useMemo","resolveSeriesColors","presencas","useTweenedNumbers","dominioEsquerda","dominioDireita","esquerda","alignZeros","visibilidadeDireita","margins","plot","rotation","cartesianLayout","valueLabelsFor","valueLabelRoom","escalaCategorias","bandScale","alvoEsquerda","alvoDireita","minEsquerda","maxEsquerda","minDireita","maxDireita","escalaEsquerda","escalaDireita","escalaDa","formatoDa","marcasEsquerda","ticksFor","marcasDireita","vao","faixas","barSlots","faixaDa","NO_BAR_SLOT","marcasCategoria","categoria","marcasDeValor","valores","escala","formatar","jsxs","CartesianFrame","jsx","BandCursor","indiceSerie","base","styles","indiceCategoria","ponta","roundedBarPath","linePath","ponto"],"mappings":"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"}
1
+ {"version":3,"file":"ChartCombo.js","sources":["../../../../src/components/charts/ChartCombo/ChartCombo.tsx"],"sourcesContent":["import { useMemo, useState } from 'react';\nimport {\n BandCursor,\n markShown,\n categoryTooltip,\n CartesianFrame,\n NO_BAR_SLOT,\n barSlots,\n seriesInScale,\n useCartesianLayout,\n chartHeight,\n linePath,\n roundedBarPath,\n useChartMetrics,\n useHoveredBand,\n useSeriesToggle,\n useTweenedNumbers,\n valueLabelRoom,\n valueLabelsFor,\n type AxisLabelAngle,\n type AxisTick,\n type AxisVisibility,\n type ChartCurve,\n type ChartHeight,\n type ChartLegendAlign,\n type ChartLegendPosition,\n type MarkVisibility,\n type ChartPoint,\n} from '../core';\nimport { resolveSeriesColors, type SeriesAppearance } from '../palette';\nimport { alignZeros, bandScale, domainOf, linearScale, mergeDomains, ticksFor, type NumericRange } from '../scales';\nimport { formatarNumero } from '../../../utils/formatters';\nimport styles from './ChartCombo.module.css';\n/**\n * Ponto sem vizinho desenhado. A curva entre ele e o nada nao tem tracado, e o\n * marcador so no hover deixaria o dado invisivel — entao ele aparece sempre.\n */\nfunction isolado(pontos: readonly (ChartPoint | null)[], indice: number) {\n return pontos[indice] !== null && !pontos[indice - 1] && !pontos[indice + 1];\n}\n\n\nexport type ChartComboKind = 'bar' | 'line';\n\n/**\n * Eixo de valor a que a serie pertence. A escolha e sempre do produto: o\n * grafico nunca parte a escala por conta propria.\n */\nexport type ChartComboAxis = 'left' | 'right';\n\nexport interface ChartComboSeries extends SeriesAppearance {\n axis?: ChartComboAxis;\n kind: ChartComboKind;\n label: string;\n values: readonly (number | null)[];\n}\n\nexport interface ChartComboProps {\n accent?: string;\n categories: readonly string[];\n curve?: ChartCurve;\n defaultHiddenSeries?: readonly string[];\n emptyMessage?: string;\n formatRightValue?: (value: number) => string;\n /**\n * Formato no balao das series da esquerda. Sem ele, vale o `formatValue`: o eixo pode sair compacto e o\n * balao, exato. As da direita seguem `formatRightValue`.\n */\n formatTooltipValue?: (value: number) => string;\n formatValue?: (value: number) => string;\n height?: ChartHeight;\n hiddenSeries?: readonly string[];\n labelAngle?: AxisLabelAngle;\n legend?: ChartLegendPosition;\n legendAlign?: ChartLegendAlign;\n onHiddenSeriesChange?: (hidden: readonly string[]) => void;\n /** Indice da categoria sob o ponteiro, ou `null` ao sair dela. */\n onHoverCategory?: (index: number | null) => void;\n series: readonly ChartComboSeries[];\n /**\n * Valor de cada barra e de cada ponto. Em `onHover`, nas barras os da serie da barra sob o ponteiro; nas\n * linhas, que nao tem alvo proprio, os da categoria sob o ponteiro.\n */\n showDataLabels?: MarkVisibility;\n /** Pontos das linhas. Em `onHover`, os da categoria sob o ponteiro. */\n showDots?: MarkVisibility;\n /** Balao com as series da categoria sob o ponteiro, cada uma no formato do seu eixo. Desligue para montar o proprio `ChartTooltip`. */\n showTooltip?: boolean;\n title: string;\n xAxis?: AxisVisibility;\n yAxis?: AxisVisibility;\n yAxisRight?: AxisVisibility;\n}\n\nfunction eixoDa(serie: ChartComboSeries): ChartComboAxis {\n return serie.axis ?? 'left';\n}\n\n/** Dominio de um eixo: as series que pertencem a ele e entram na escala. */\nfunction dominioDoEixo(\n series: readonly ChartComboSeries[],\n axis: ChartComboAxis,\n oculta: (label: string) => boolean,\n) {\n return mergeDomains(\n seriesInScale(\n series.filter((serie) => eixoDa(serie) === axis),\n oculta,\n ).map((serie) => domainOf(serie.values.filter((valor) => valor !== null))),\n );\n}\n\n/** Dominio com os limites arredondados que o eixo mostraria sozinho. */\nfunction arredondado(dominio: NumericRange): NumericRange {\n const [min = 0, max = 0] = linearScale({ domain: dominio, range: [0, 1] }).domain();\n\n return { max, min };\n}\n\n/**\n * Barras e linhas sobre o mesmo eixo de categorias. Uma serie declara a que\n * eixo de valor pertence; sem nenhuma a direita, o dominio e unico e o eixo\n * direito espelha o esquerdo.\n */\nexport function ChartCombo({\n accent,\n categories,\n curve = 'smooth',\n defaultHiddenSeries,\n emptyMessage = 'Sem dados no período',\n formatRightValue,\n formatTooltipValue,\n formatValue = formatarNumero,\n height = 260,\n hiddenSeries,\n labelAngle = 'auto',\n legend = 'bottom',\n legendAlign,\n onHiddenSeriesChange,\n onHoverCategory,\n series,\n showDataLabels = 'hidden',\n showTooltip = true,\n showDots = 'onHover',\n title,\n xAxis = 'visible',\n yAxis = 'visible',\n yAxisRight,\n}: ChartComboProps) {\n const { font, height: alturaMedida, radius: raioDoCanto, ref, width } = useChartMetrics();\n const { fillHeight, value: alturaDoDesenho } = chartHeight(height, alturaMedida);\n const { isHidden, isOutOfScale, toggle } = useSeriesToggle({\n defaultHiddenSeries,\n hiddenSeries,\n labels: series.map((serie) => serie.label),\n onHiddenSeriesChange,\n });\n const { hover: focarFaixa, hovered: faixaEmFoco } = useHoveredBand(onHoverCategory);\n const [serieEmFoco, setSerieEmFoco] = useState<number | null>(null);\n\n const formatarDireita = formatRightValue ?? formatValue;\n const temEixoDireito = series.some((serie) => eixoDa(serie) === 'right');\n\n // A cor sai da lista inteira, e nao das visiveis: desligar uma serie nao pode\n // repintar as demais.\n const cores = useMemo(() => resolveSeriesColors(series, { accent }), [accent, series]);\n\n // Presenca de cada serie, entre zero e um. E ela que reparte a faixa, entao a\n // barra desligada encolhe enquanto as demais ocupam o lugar dela.\n const presencas = useTweenedNumbers(series.map((serie) => (isHidden(serie.label) ? 0 : 1)));\n\n // Com serie a direita, o zero fica na mesma altura nos dois eixos: as barras crescem da mesma base.\n const [dominioEsquerda, dominioDireita] = useMemo(() => {\n const esquerda = arredondado(dominioDoEixo(series, 'left', isOutOfScale));\n\n return temEixoDireito\n ? alignZeros(esquerda, arredondado(dominioDoEixo(series, 'right', isOutOfScale)))\n : [esquerda, esquerda];\n }, [isOutOfScale, series, temEixoDireito]);\n\n // Uma segunda escala sem eixo para le-la e o duplo eixo que engana. Havendo\n // serie a direita, o eixo aparece sem ninguem pedir.\n const visibilidadeDireita = yAxisRight ?? (temEixoDireito ? 'visible' : 'hidden');\n\n const { axisReveal, margins, plot, rotation } = useCartesianLayout({\n bottomLabels: categories,\n font,\n height: alturaDoDesenho,\n labelAngle,\n leftLabels: valueLabelsFor(dominioEsquerda, alturaDoDesenho, formatValue),\n rightLabels: valueLabelsFor(dominioDireita, alturaDoDesenho, formatarDireita),\n topRoom: showDataLabels === 'hidden' ? 0 : valueLabelRoom(font),\n width,\n xAxis,\n yAxis,\n yAxisRight: visibilidadeDireita,\n });\n\n // Barras e linhas compartilham a escala de faixas: a linha passa pelo centro\n // da faixa, que e onde a marca do eixo de categoria tambem fica.\n const escalaCategorias = useMemo(\n () => bandScale({ domain: categories, range: [0, plot.width] }),\n [categories, plot.width],\n );\n\n // A escala alvo fixa as marcas; a animada posiciona o desenho. Sem separar as\n // duas, as marcas exibiriam valores quebrados durante a transicao.\n const alvoEsquerda = useMemo(\n () => linearScale({ domain: dominioEsquerda, nice: false, range: [plot.height, 0] }),\n [dominioEsquerda, plot.height],\n );\n\n const alvoDireita = useMemo(\n () => linearScale({ domain: dominioDireita, nice: false, range: [plot.height, 0] }),\n [dominioDireita, plot.height],\n );\n\n // Os dois dominios caminham numa animacao so, e por isso chegam juntos.\n const [minEsquerda, maxEsquerda, minDireita, maxDireita] = useTweenedNumbers([\n ...alvoEsquerda.domain(),\n ...alvoDireita.domain(),\n ]);\n\n const escalaEsquerda = useMemo(\n () =>\n linearScale({ domain: { min: minEsquerda, max: maxEsquerda }, nice: false, range: [plot.height, 0] }),\n [maxEsquerda, minEsquerda, plot.height],\n );\n\n const escalaDireita = useMemo(\n () => linearScale({ domain: { min: minDireita, max: maxDireita }, nice: false, range: [plot.height, 0] }),\n [maxDireita, minDireita, plot.height],\n );\n\n const escalaDa = (serie: ChartComboSeries) =>\n eixoDa(serie) === 'right' ? escalaDireita : escalaEsquerda;\n const formatoDa = (serie: ChartComboSeries) =>\n eixoDa(serie) === 'right' ? formatarDireita : formatValue;\n\n const marcasEsquerda = ticksFor(alvoEsquerda, plot.height);\n const marcasDireita = ticksFor(alvoDireita, plot.height);\n\n const vao = escalaCategorias.bandwidth();\n\n // So as barras repartem a faixa: a linha passa pelo centro dela, e por isso\n // entra na conta com presenca zero.\n const faixas = barSlots(\n vao,\n series.map((serie, indice) => (serie.kind === 'bar' ? presencas[indice] ?? 0 : 0)),\n );\n const faixaDa = (indice: number) => faixas[indice] ?? NO_BAR_SLOT;\n\n const marcasCategoria: AxisTick[] = categories.map((categoria) => ({\n label: categoria,\n position: (escalaCategorias(categoria) ?? 0) + vao / 2,\n }));\n\n const marcasDeValor = (\n valores: readonly number[],\n escala: (valor: number) => number,\n formatar: (valor: number) => string,\n ): AxisTick[] => valores.map((valor) => ({ label: formatar(valor), position: escala(valor) }));\n\n return (\n <CartesianFrame\n axisReveal={axisReveal}\n containerRef={ref}\n empty={series.length === 0 || categories.length === 0}\n emptyMessage={emptyMessage}\n fillHeight={fillHeight}\n grid={[\n {\n baseline: escalaEsquerda(0),\n lines: marcasEsquerda.map((valor) => escalaEsquerda(valor)),\n orientation: 'horizontal',\n },\n ]}\n height={alturaDoDesenho}\n legend={series.map((serie, indice) => ({\n color: cores[indice],\n hidden: isHidden(serie.label),\n label: serie.label,\n }))}\n legendAlign={legendAlign}\n legendPosition={legend}\n margins={margins}\n onToggleSeries={toggle}\n plot={plot}\n title={title}\n tooltip={\n showTooltip\n ? categoryTooltip({\n categories,\n colors: cores,\n format: formatTooltipValue ?? formatValue,\n index: faixaEmFoco,\n isHidden,\n series: series.map((serie) => ({ ...serie, format: eixoDa(serie) === 'right' ? formatarDireita : undefined })),\n })\n : undefined\n }\n width={width}\n xAxis={{ labelRotation: rotation, ticks: marcasCategoria, visibility: xAxis }}\n yAxis={{\n hideLine: true,\n ticks: marcasDeValor(marcasEsquerda, escalaEsquerda, formatValue),\n visibility: yAxis,\n }}\n yAxisRight={{\n hideLine: true,\n ticks: marcasDeValor(marcasDireita, escalaDireita, formatarDireita),\n visibility: visibilidadeDireita,\n }}\n >\n {faixaEmFoco !== null && (\n <BandCursor offset={escalaCategorias(categories[faixaEmFoco]) ?? 0} plot={plot} size={vao} />\n )}\n\n {series.map((serie, indiceSerie) => {\n if (serie.kind !== 'bar') {\n return null;\n }\n\n const oculta = isHidden(serie.label);\n const escala = escalaDa(serie);\n const formatar = formatoDa(serie);\n const base = escala(0);\n\n return (\n <g\n aria-hidden={oculta || undefined}\n className={`${styles.series} ${oculta ? styles.seriesOff : ''}`}\n key={indiceSerie}\n >\n {categories.map((categoria, indiceCategoria) => {\n const valor = serie.values[indiceCategoria];\n\n if (valor === null || valor === undefined || !Number.isFinite(valor)) {\n return null;\n }\n\n const ponta = escala(valor);\n\n return (\n <path\n aria-label={`${serie.label}, ${categoria}: ${formatar(valor)}`}\n className={styles.bar}\n d={roundedBarPath(\n (escalaCategorias(categoria) ?? 0) + faixaDa(indiceSerie).offset,\n Math.min(base, ponta),\n faixaDa(indiceSerie).thickness,\n Math.abs(ponta - base),\n [raioDoCanto, raioDoCanto, raioDoCanto, raioDoCanto],\n )}\n fill={cores[indiceSerie]}\n key={indiceCategoria}\n onMouseEnter={() => {\n focarFaixa(indiceCategoria);\n setSerieEmFoco(indiceSerie);\n }}\n onMouseLeave={() => {\n focarFaixa(null);\n setSerieEmFoco(null);\n }}\n />\n );\n })}\n\n {showDataLabels !== 'hidden' &&\n categories.map((categoria, indiceCategoria) => {\n const valor = serie.values[indiceCategoria];\n\n if (valor === null || valor === undefined || !Number.isFinite(valor)) {\n return null;\n }\n\n return (\n <text\n className={`${styles.valueLabel} ${markShown(showDataLabels, indiceSerie === serieEmFoco) ? '' : styles.valueLabelHidden}`}\n key={indiceCategoria}\n textAnchor=\"middle\"\n x={\n (escalaCategorias(categoria) ?? 0) +\n faixaDa(indiceSerie).offset +\n faixaDa(indiceSerie).thickness / 2\n }\n y={escala(valor) - 6}\n >\n {formatar(valor)}\n </text>\n );\n })}\n </g>\n );\n })}\n\n {series.map((serie, indiceSerie) => {\n if (serie.kind !== 'line') {\n return null;\n }\n\n const oculta = isHidden(serie.label);\n const escala = escalaDa(serie);\n const formatar = formatoDa(serie);\n const pontos = categories.map<ChartPoint | null>((categoria, indice) => {\n const valor = serie.values[indice];\n\n if (valor === null || valor === undefined || !Number.isFinite(valor)) {\n return null;\n }\n\n return { x: (escalaCategorias(categoria) ?? 0) + vao / 2, y: escala(valor) };\n });\n\n return (\n <g\n aria-hidden={oculta || undefined}\n className={`${styles.series} ${oculta ? styles.seriesOff : ''}`}\n key={indiceSerie}\n >\n <path\n className={styles.line}\n d={linePath(pontos, curve)}\n fill=\"none\"\n stroke={cores[indiceSerie]}\n />\n\n {pontos.map((ponto, indice) =>\n ponto === null ? null : (\n <circle\n aria-label={`${serie.label}, ${categories[indice]}: ${formatar(serie.values[indice] ?? 0)}`}\n className={markShown(showDots, indice === faixaEmFoco) || isolado(pontos, indice) ? styles.dotVisible : styles.dot}\n cx={ponto.x}\n cy={ponto.y}\n stroke={cores[indiceSerie]}\n key={indice}\n r={4}\n />\n ),\n )}\n\n {showDataLabels !== 'hidden' &&\n pontos.map((ponto, indice) =>\n ponto === null ? null : (\n <text\n className={`${styles.valueLabel} ${markShown(showDataLabels, indice === faixaEmFoco) ? '' : styles.valueLabelHidden}`}\n key={indice}\n textAnchor=\"middle\"\n x={ponto.x}\n y={ponto.y - 10}\n >\n {formatar(serie.values[indice] ?? 0)}\n </text>\n ),\n )}\n </g>\n );\n })}\n </CartesianFrame>\n );\n}\n"],"names":["isolado","pontos","indice","eixoDa","serie","dominioDoEixo","series","axis","oculta","mergeDomains","seriesInScale","domainOf","valor","arredondado","dominio","min","max","linearScale","ChartCombo","accent","categories","curve","defaultHiddenSeries","emptyMessage","formatRightValue","formatTooltipValue","formatValue","formatarNumero","height","hiddenSeries","labelAngle","legend","legendAlign","onHiddenSeriesChange","onHoverCategory","showDataLabels","showTooltip","showDots","title","xAxis","yAxis","yAxisRight","font","alturaMedida","raioDoCanto","ref","width","useChartMetrics","fillHeight","alturaDoDesenho","chartHeight","isHidden","isOutOfScale","toggle","useSeriesToggle","focarFaixa","faixaEmFoco","useHoveredBand","serieEmFoco","setSerieEmFoco","useState","formatarDireita","temEixoDireito","cores","useMemo","resolveSeriesColors","presencas","useTweenedNumbers","dominioEsquerda","dominioDireita","esquerda","alignZeros","visibilidadeDireita","axisReveal","margins","plot","rotation","useCartesianLayout","valueLabelsFor","valueLabelRoom","escalaCategorias","bandScale","alvoEsquerda","alvoDireita","minEsquerda","maxEsquerda","minDireita","maxDireita","escalaEsquerda","escalaDireita","escalaDa","formatoDa","marcasEsquerda","ticksFor","marcasDireita","vao","faixas","barSlots","faixaDa","NO_BAR_SLOT","marcasCategoria","categoria","marcasDeValor","valores","escala","formatar","jsxs","CartesianFrame","categoryTooltip","jsx","BandCursor","indiceSerie","base","styles","indiceCategoria","ponta","roundedBarPath","markShown","linePath","ponto"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="_bar_ycvom_1",_="_line_ycvom_5 _line_141iy_132",s="_dot_ycvom_9 _dot_141iy_140",i="_dotVisible_ycvom_13 _dotVisible_141iy_145",o="_valueLabel_ycvom_17 _valueLabel_141iy_124",l="_series_ycvom_21 _series_141iy_209",t="_seriesOff_ycvom_25 _seriesOff_141iy_213",r={bar:e,line:_,dot:s,dotVisible:i,valueLabel:o,series:l,seriesOff:t};exports.bar=e;exports.default=r;exports.dot=s;exports.dotVisible=i;exports.line=_;exports.series=l;exports.seriesOff=t;exports.valueLabel=o;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="_bar_ef56n_1",_="_line_ef56n_5 _line_yf6oe_121",s="_dot_ef56n_9 _dot_yf6oe_130",l="_dotVisible_ef56n_13 _dotVisible_yf6oe_137",i="_valueLabel_ef56n_17 _valueLabel_yf6oe_103",o="_series_ef56n_21 _series_yf6oe_211",n="_seriesOff_ef56n_25 _seriesOff_yf6oe_215",a="_valueLabelHidden_ef56n_29 _valueLabelHidden_yf6oe_116",t={bar:e,line:_,dot:s,dotVisible:l,valueLabel:i,series:o,seriesOff:n,valueLabelHidden:a};exports.bar=e;exports.default=t;exports.dot=s;exports.dotVisible=l;exports.line=_;exports.series=o;exports.seriesOff=n;exports.valueLabel=i;exports.valueLabelHidden=a;
2
2
  //# sourceMappingURL=ChartCombo.module.css.cjs.map
@@ -1,20 +1,22 @@
1
- const _ = "_bar_ycvom_1", e = "_line_ycvom_5 _line_141iy_132", s = "_dot_ycvom_9 _dot_141iy_140", i = "_dotVisible_ycvom_13 _dotVisible_141iy_145", o = "_valueLabel_ycvom_17 _valueLabel_141iy_124", t = "_series_ycvom_21 _series_141iy_209", l = "_seriesOff_ycvom_25 _seriesOff_141iy_213", c = {
2
- bar: _,
3
- line: e,
1
+ const e = "_bar_ef56n_1", _ = "_line_ef56n_5 _line_yf6oe_121", s = "_dot_ef56n_9 _dot_yf6oe_130", l = "_dotVisible_ef56n_13 _dotVisible_yf6oe_137", n = "_valueLabel_ef56n_17 _valueLabel_yf6oe_103", o = "_series_ef56n_21 _series_yf6oe_211", f = "_seriesOff_ef56n_25 _seriesOff_yf6oe_215", i = "_valueLabelHidden_ef56n_29 _valueLabelHidden_yf6oe_116", a = {
2
+ bar: e,
3
+ line: _,
4
4
  dot: s,
5
- dotVisible: i,
6
- valueLabel: o,
7
- series: t,
8
- seriesOff: l
5
+ dotVisible: l,
6
+ valueLabel: n,
7
+ series: o,
8
+ seriesOff: f,
9
+ valueLabelHidden: i
9
10
  };
10
11
  export {
11
- _ as bar,
12
- c as default,
12
+ e as bar,
13
+ a as default,
13
14
  s as dot,
14
- i as dotVisible,
15
- e as line,
16
- t as series,
17
- l as seriesOff,
18
- o as valueLabel
15
+ l as dotVisible,
16
+ _ as line,
17
+ o as series,
18
+ f as seriesOff,
19
+ n as valueLabel,
20
+ i as valueLabelHidden
19
21
  };
20
22
  //# sourceMappingURL=ChartCombo.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartCombo.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
1
+ {"version":3,"file":"ChartCombo.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),n=require("./ChartDonut.module.css.cjs"),A=require("../core/useChartMetrics.cjs"),P=require("../core/useSliceRing.cjs"),E=require("../core/centerText.cjs"),I=require("../../../utils/formatters/formatarNumero.cjs"),_=require("../core/ChartFrame.cjs"),k=require("../core/arcs.cjs"),B=require("../core/cartesianLayout.cjs"),G=require("../core/spacing.cjs");function J({accent:f,centerLabel:x="Total",defaultHiddenSlices:v,emptyMessage:M="Sem dados no período",formatPercent:i=l=>`${Math.round(l*100)}%`,formatValue:c=I.formatarNumero,height:b=260,hiddenSlices:q,legend:y="right",legendAlign:C,onHiddenSlicesChange:j,onHoverSlice:p,otherLabel:D="Outros",showCenter:R=!0,showLegendValues:S=!0,sliceRadius:N,slices:u,smallSliceThreshold:O=.02,thickness:T=.38,title:H}){const{font:l,height:$,radius:z,ref:F,width:d}=A.useChartMetrics(),{fillHeight:L,value:h}=B.chartHeight(b,$),e=P.useSliceRing({accent:f,defaultHiddenSlices:v,hiddenSlices:q,onHiddenSlicesChange:j,onHoverSlice:p,otherLabel:D,slices:u,smallSliceThreshold:O}),m=G.ringDiameter(d,h)/2,g=m*(1-Math.min(Math.max(T,0),1)),w=N??z,s=e.focused===null?void 0:e.slices[e.focused],a=E.fitCenterText(c(s?Math.max(s.value,0):e.total),s?s.label:x,l,g*2);return o.jsxs(_.ChartFrame,{centerOrigin:!0,containerRef:F,empty:e.slices.length===0||u.every(r=>!(r.value>0)),emptyMessage:M,fillHeight:L,height:h,legend:e.slices.map((r,t)=>({color:e.colors[t],hidden:e.isHidden(r.label),label:r.label,value:S?i(e.ratioOf(t)):void 0})),legendAlign:C,legendPosition:y,onToggleSeries:e.toggle,swatch:"dot",title:H,width:d,children:[e.slices.map((r,t)=>o.jsx("path",{"aria-label":`${r.label}: ${c(Math.max(r.value,0))} (${i(e.ratioOf(t))})`,className:n.default.slice,d:k.arcPath({...e.angles[t],cornerRadius:w,innerRadius:g,outerRadius:m}),fill:e.colors[t],onMouseEnter:()=>e.focus(t),onMouseLeave:()=>e.focus(null)},t)),R&&o.jsxs("g",{className:n.default.center,children:[o.jsx("text",{className:n.default.centerValue,dy:a.size*.1,style:{fontFamily:a.family,fontSize:a.size},textAnchor:"middle",children:a.value}),o.jsx("text",{className:n.default.centerLabel,dy:a.lineHeight*.62,textAnchor:"middle",children:a.label})]})]})}exports.ChartDonut=J;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),l=require("./ChartDonut.module.css.cjs"),I=require("../core/useChartMetrics.cjs"),P=require("../core/useSliceRing.cjs"),_=require("../core/centerText.cjs"),k=require("../../../utils/formatters/formatarNumero.cjs"),B=require("../core/ChartFrame.cjs"),G=require("../core/arcs.cjs"),J=require("../core/tooltips.cjs"),K=require("../core/cartesianLayout.cjs"),Q=require("../core/spacing.cjs");function U({accent:f,centerLabel:x="Total",defaultHiddenSlices:v,emptyMessage:q="Sem dados no período",formatPercent:i=c=>`${Math.round(c*100)}%`,formatTooltipValue:M,formatValue:n=k.formatarNumero,height:b=260,hiddenSlices:p,legend:y="right",legendAlign:C,onHiddenSlicesChange:j,onHoverSlice:D,otherLabel:R="Outros",showCenter:S=!0,showLegendValues:N=!0,showTooltip:T=!0,sliceRadius:O,slices:u,smallSliceThreshold:H=.02,thickness:$=.38,title:z}){const{font:c,height:F,radius:L,ref:w,width:d}=I.useChartMetrics(),{fillHeight:A,value:h}=K.chartHeight(b,F),e=P.useSliceRing({accent:f,defaultHiddenSlices:v,hiddenSlices:p,onHiddenSlicesChange:j,onHoverSlice:D,otherLabel:R,slices:u,smallSliceThreshold:H}),m=Q.ringDiameter(d,h)/2,g=m*(1-Math.min(Math.max($,0),1)),E=O??L,s=e.focused===null?void 0:e.slices[e.focused],r=_.fitCenterText(n(s?Math.max(s.value,0):e.total),s?s.label:x,c,g*2);return a.jsxs(B.ChartFrame,{centerOrigin:!0,containerRef:w,empty:e.slices.length===0||u.every(o=>!(o.value>0)),emptyMessage:q,fillHeight:A,height:h,legend:e.slices.map((o,t)=>({color:e.colors[t],hidden:e.isHidden(o.label),label:o.label,value:N?i(e.ratioOf(t)):void 0})),legendAlign:C,legendPosition:y,onToggleSeries:e.toggle,swatch:"dot",title:z,tooltip:T?J.sliceTooltip({colors:e.colors,formatPercent:i,formatValue:M??n,index:e.focused,slices:e.slices,total:e.total}):void 0,width:d,children:[e.slices.map((o,t)=>a.jsx("path",{"aria-label":`${o.label}: ${n(Math.max(o.value,0))} (${i(e.ratioOf(t))})`,className:l.default.slice,d:G.arcPath({...e.angles[t],cornerRadius:E,innerRadius:g,outerRadius:m}),fill:e.colors[t],onMouseEnter:()=>e.focus(t),onMouseLeave:()=>e.focus(null)},t)),S&&a.jsxs("g",{className:l.default.center,children:[a.jsx("text",{className:l.default.centerValue,dy:r.size*.1,style:{fontFamily:r.family,fontSize:r.size},textAnchor:"middle",children:r.value}),a.jsx("text",{className:l.default.centerLabel,dy:r.lineHeight*.62,textAnchor:"middle",children:r.label})]})]})}exports.ChartDonut=U;
2
2
  //# sourceMappingURL=ChartDonut.cjs.map