@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,166 +1,219 @@
1
- import { jsx as s, jsxs as Z } from "react/jsx-runtime";
2
- import { useMemo as h } from "react";
3
- import m from "./ChartLine.module.css.js";
4
- import { useChartMetrics as ll } from "../core/useChartMetrics.js";
5
- import { useSeriesToggle as ol } from "../core/useSeriesToggle.js";
6
- import { resolveSeriesColors as tl } from "../palette/seriesColor.js";
7
- import { mergeDomains as al, domainOf as el, pointScale as il, linearScale as j, ticksFor as rl } from "../scales/scales.js";
8
- import { valueLabelsFor as nl, cartesianLayout as ml, chartHeight as sl } from "../core/cartesianLayout.js";
9
- import { valueLabelRoom as hl } from "../core/spacing.js";
10
- import { useTweenedNumbers as ul } from "../core/useTweenedNumbers.js";
11
- import { formatarNumero as cl } from "../../../utils/formatters/formatarNumero.js";
12
- import { CartesianFrame as dl } from "../core/CartesianFrame.js";
13
- import { linePath as fl } from "../core/shapes.js";
14
- function pl(n, a) {
15
- return n[a] !== null && !n[a - 1] && !n[a + 1];
1
+ import { jsxs as Y, jsx as u } from "react/jsx-runtime";
2
+ import { useMemo as d, useState as go } from "react";
3
+ import i from "./ChartLine.module.css.js";
4
+ import { useChartMetrics as vo } from "../core/useChartMetrics.js";
5
+ import { useSeriesToggle as xo, seriesInScale as yo } from "../core/useSeriesToggle.js";
6
+ import { resolveSeriesColors as Ho } from "../palette/seriesColor.js";
7
+ import { mergeDomains as Co, domainOf as Lo, pointScale as Po, linearScale as q, ticksFor as ko } from "../scales/scales.js";
8
+ import { valueLabelsFor as Fo, markShown as G, chartHeight as No } from "../core/cartesianLayout.js";
9
+ import { useCartesianLayout as $o } from "../core/useCartesianLayout.js";
10
+ import { valueLabelRoom as Ro } from "../core/spacing.js";
11
+ import { useHoveredBand as Ao } from "../core/useHoveredBand.js";
12
+ import { useTweenedNumbers as Oo } from "../core/useTweenedNumbers.js";
13
+ import { nearestSeriesAt as Do, PointCursor as Mo, PointBands as So } from "../core/PointBands.js";
14
+ import { formatarNumero as To } from "../../../utils/formatters/formatarNumero.js";
15
+ import { CartesianFrame as jo } from "../core/CartesianFrame.js";
16
+ import { linePath as Bo } from "../core/shapes.js";
17
+ import { pointLabelPlacement as Eo } from "../core/pointLabels.js";
18
+ import { categoryTooltip as wo } from "../core/tooltips.js";
19
+ function zo(m, a) {
20
+ return m[a] !== null && !m[a - 1] && !m[a + 1];
16
21
  }
17
- function wl({
18
- accent: n,
22
+ function rt({
23
+ accent: m,
19
24
  categories: a,
20
- curve: A = "smooth",
21
- defaultHiddenSeries: O,
22
- emptyMessage: V = "Sem dados no período",
23
- formatValue: u = cl,
24
- height: z = 260,
25
- includeZero: x = !0,
26
- hiddenSeries: S,
27
- labelAngle: q = "auto",
28
- legend: B = "bottom",
29
- legendAlign: E,
30
- onHiddenSeriesChange: G,
25
+ curve: J = "smooth",
26
+ defaultHiddenSeries: K,
27
+ emptyMessage: Q = "Sem dados no período",
28
+ formatTooltipValue: U,
29
+ formatValue: h = To,
30
+ height: W = 260,
31
+ includeZero: P = !0,
32
+ hiddenSeries: X,
33
+ labelAngle: _ = "auto",
34
+ legend: Z = "bottom",
35
+ legendAlign: oo,
36
+ onHiddenSeriesChange: to,
37
+ onHoverCategory: k,
31
38
  series: e,
32
- showDataLabels: y = !1,
33
- showDots: I = !1,
34
- title: J,
35
- xAxis: L = "visible",
36
- yAxis: N = "visible",
37
- yAxisRight: C = "hidden"
39
+ showDataLabels: p = "hidden",
40
+ showDots: F = "onHover",
41
+ showTooltip: N = !0,
42
+ title: lo,
43
+ xAxis: $ = "visible",
44
+ yAxis: R = "visible",
45
+ yAxisRight: A = "hidden"
38
46
  }) {
39
- const { font: k, height: K, ref: Q, width: $ } = ll(), { fillHeight: U, value: b } = sl(z, K), { isHidden: c, toggle: W } = ol({ defaultHiddenSeries: O, hiddenSeries: S, onHiddenSeriesChange: G }), g = h(() => tl(e, { accent: n }), [n, e]), v = h(
40
- () => al(
41
- e.filter((l) => !c(l.label)).map((l) => el(l.values.filter((o) => o !== null), { includeZero: x }))
47
+ const { font: f, height: ao, ref: eo, width: O } = vo(), { fillHeight: ro, value: H } = No(W, ao), { isHidden: c, isOutOfScale: D, toggle: no } = xo({
48
+ defaultHiddenSeries: K,
49
+ hiddenSeries: X,
50
+ labels: e.map((o) => o.label),
51
+ onHiddenSeriesChange: to
52
+ }), b = d(() => Ho(e, { accent: m }), [m, e]), C = d(
53
+ () => Co(
54
+ yo(e, D).map(
55
+ (o) => Lo(
56
+ o.values.filter((t) => t !== null),
57
+ { includeZero: P }
58
+ )
59
+ )
42
60
  ),
43
- [x, c, e]
44
- ), D = nl(v, b, u), { margins: X, plot: i, rotation: Y } = ml({
61
+ [P, D, e]
62
+ ), M = Fo(C, H, h), { axisReveal: io, margins: mo, plot: r, rotation: so } = $o({
45
63
  bottomLabels: a,
46
- font: k,
47
- height: b,
48
- labelAngle: q,
49
- leftLabels: D,
50
- rightLabels: D,
51
- topRoom: y ? hl(k) : 0,
52
- width: $,
53
- xAxis: L,
54
- yAxis: N,
55
- yAxisRight: C
56
- }), F = h(
57
- () => il({ domain: a, padding: 0, range: [0, i.width] }),
58
- [a, i.width]
59
- ), R = h(
60
- () => j({ domain: v, range: [i.height, 0] }),
61
- [v, i.height]
62
- ), [w, H] = ul(R.domain()), d = h(
63
- () => j({ domain: { min: w, max: H }, nice: !1, range: [i.height, 0] }),
64
- [H, w, i.height]
65
- ), M = rl(R, i.height), f = e.map(
66
- (l) => a.map((o, p) => {
67
- const t = l.values[p];
68
- return t == null || !Number.isFinite(t) ? null : { x: F(o) ?? 0, y: d(t) };
64
+ font: f,
65
+ height: H,
66
+ labelAngle: _,
67
+ leftLabels: M,
68
+ rightLabels: M,
69
+ topRoom: p === "hidden" ? 0 : Ro(f),
70
+ width: O,
71
+ xAxis: $,
72
+ yAxis: R,
73
+ yAxisRight: A
74
+ }), S = d(
75
+ () => Po({ domain: a, padding: 0, range: [0, r.width] }),
76
+ [a, r.width]
77
+ ), { hover: uo, hovered: g } = Ao(k), [ho, co] = go(null), L = N || k !== void 0 || F === "onHover" || p === "onHover", T = d(
78
+ () => q({ domain: C, range: [r.height, 0] }),
79
+ [C, r.height]
80
+ ), [j, B] = Oo(T.domain()), v = d(
81
+ () => q({ domain: { min: j, max: B }, nice: !1, range: [r.height, 0] }),
82
+ [B, j, r.height]
83
+ ), E = ko(T, r.height), s = e.map(
84
+ (o) => a.map((t, x) => {
85
+ const l = o.values[x];
86
+ return l == null || !Number.isFinite(l) ? null : { x: S(t) ?? 0, y: v(l) };
69
87
  })
70
- ), _ = a.map((l) => ({
71
- label: l,
72
- position: F(l) ?? 0
73
- })), P = M.map((l) => ({
74
- label: u(l),
75
- position: d(l)
88
+ ), w = Do(
89
+ s,
90
+ g,
91
+ ho,
92
+ (o) => c(e[o].label)
93
+ ), z = a.map((o) => ({
94
+ label: o,
95
+ position: S(o) ?? 0
96
+ })), I = z.map((o) => o.position), V = E.map((o) => ({
97
+ label: h(o),
98
+ position: v(o)
76
99
  }));
77
- return /* @__PURE__ */ s(
78
- dl,
100
+ return /* @__PURE__ */ Y(
101
+ jo,
79
102
  {
80
- containerRef: Q,
103
+ axisReveal: io,
104
+ containerRef: eo,
81
105
  empty: e.length === 0 || a.length === 0,
82
- emptyMessage: V,
83
- fillHeight: U,
106
+ emptyMessage: Q,
107
+ fillHeight: ro,
84
108
  grid: [
85
109
  {
86
- baseline: d(0),
87
- lines: M.map((l) => d(l)),
110
+ baseline: v(0),
111
+ lines: E.map((o) => v(o)),
88
112
  orientation: "horizontal"
89
113
  }
90
114
  ],
91
- height: b,
92
- legend: e.map((l, o) => ({
93
- color: g[o],
94
- hidden: c(l.label),
95
- label: l.label
115
+ height: H,
116
+ legend: e.map((o, t) => ({
117
+ color: b[t],
118
+ hidden: c(o.label),
119
+ label: o.label
96
120
  })),
97
- legendAlign: E,
98
- legendPosition: B,
99
- margins: X,
100
- onToggleSeries: W,
101
- plot: i,
102
- title: J,
103
- width: $,
104
- xAxis: { labelRotation: Y, ticks: _, visibility: L },
105
- yAxis: { hideLine: !0, ticks: P, visibility: N },
106
- yAxisRight: { hideLine: !0, ticks: P, visibility: C },
107
- children: e.map((l, o) => {
108
- const p = c(l.label);
109
- return /* @__PURE__ */ Z(
110
- "g",
111
- {
112
- "aria-hidden": p || void 0,
113
- className: `${m.series} ${p ? m.seriesOff : ""}`,
114
- children: [
115
- /* @__PURE__ */ s(
116
- "path",
117
- {
118
- className: m.line,
119
- d: fl(f[o], A),
120
- fill: "none",
121
- stroke: g[o]
122
- }
123
- ),
124
- f[o].map((t, r) => {
125
- if (t === null)
126
- return null;
127
- const T = `${l.label}, ${a[r]}: ${u(l.values[r] ?? 0)}`;
128
- return /* @__PURE__ */ s(
129
- "circle",
130
- {
131
- "aria-label": T,
132
- className: I || pl(f[o], r) ? m.dotVisible : m.dot,
133
- cx: t.x,
134
- cy: t.y,
135
- fill: g[o],
136
- r: 4,
137
- children: /* @__PURE__ */ s("title", { children: T })
138
- },
139
- r
140
- );
141
- }),
142
- y && f[o].map(
143
- (t, r) => t === null ? null : /* @__PURE__ */ s(
144
- "text",
121
+ legendAlign: oo,
122
+ legendPosition: Z,
123
+ margins: mo,
124
+ onToggleSeries: no,
125
+ plot: r,
126
+ title: lo,
127
+ tooltip: N ? wo({
128
+ categories: a,
129
+ colors: b,
130
+ format: U ?? h,
131
+ index: g,
132
+ isHidden: c,
133
+ series: e
134
+ }) : void 0,
135
+ width: O,
136
+ xAxis: { labelRotation: so, ticks: z, visibility: $ },
137
+ yAxis: { hideLine: !0, ticks: V, visibility: R },
138
+ yAxisRight: { hideLine: !0, ticks: V, visibility: A },
139
+ children: [
140
+ L && g !== null && /* @__PURE__ */ u(Mo, { plot: r, position: I[g] }),
141
+ e.map((o, t) => {
142
+ const x = c(o.label);
143
+ return /* @__PURE__ */ Y(
144
+ "g",
145
+ {
146
+ "aria-hidden": x || void 0,
147
+ className: `${i.series} ${x ? i.seriesOff : ""}`,
148
+ children: [
149
+ /* @__PURE__ */ u(
150
+ "path",
145
151
  {
146
- className: m.valueLabel,
147
- textAnchor: "middle",
148
- x: t.x,
149
- y: t.y - 10,
150
- children: u(l.values[r] ?? 0)
151
- },
152
- r
153
- )
154
- )
155
- ]
156
- },
157
- o
158
- );
159
- })
152
+ className: i.line,
153
+ d: Bo(s[t], J),
154
+ fill: "none",
155
+ stroke: b[t]
156
+ }
157
+ ),
158
+ s[t].map((l, n) => {
159
+ if (l === null)
160
+ return null;
161
+ const y = `${o.label}, ${a[n]}: ${h(o.values[n] ?? 0)}`;
162
+ return /* @__PURE__ */ u(
163
+ "circle",
164
+ {
165
+ "aria-label": y,
166
+ className: G(F, t === w) || zo(s[t], n) ? i.dotVisible : i.dot,
167
+ cx: l.x,
168
+ cy: l.y,
169
+ stroke: b[t],
170
+ r: 4,
171
+ children: !L && /* @__PURE__ */ u("title", { children: y })
172
+ },
173
+ n
174
+ );
175
+ }),
176
+ p !== "hidden" && s[t].map((l, n) => {
177
+ if (l === null)
178
+ return null;
179
+ const { below: y, dx: po, textAnchor: fo } = Eo(
180
+ s,
181
+ t,
182
+ n,
183
+ f.lineHeight,
184
+ (bo) => c(e[bo].label)
185
+ );
186
+ return /* @__PURE__ */ u(
187
+ "text",
188
+ {
189
+ className: `${i.valueLabel} ${G(p, t === w) ? "" : i.valueLabelHidden}`,
190
+ textAnchor: fo,
191
+ x: l.x + po,
192
+ y: y ? l.y + f.lineHeight + 2 : l.y - 10,
193
+ children: h(o.values[n] ?? 0)
194
+ },
195
+ n
196
+ );
197
+ })
198
+ ]
199
+ },
200
+ t
201
+ );
202
+ }),
203
+ L && /* @__PURE__ */ u(
204
+ So,
205
+ {
206
+ onHover: uo,
207
+ onPointerY: co,
208
+ plot: r,
209
+ positions: I
210
+ }
211
+ )
212
+ ]
160
213
  }
161
214
  );
162
215
  }
163
216
  export {
164
- wl as ChartLine
217
+ rt as ChartLine
165
218
  };
166
219
  //# sourceMappingURL=ChartLine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartLine.js","sources":["../../../../src/components/charts/ChartLine/ChartLine.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport {\n CartesianFrame,\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 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, ticksFor } from '../scales';\nimport { formatarNumero } from '../../../utils/formatters';\nimport styles from './ChartLine.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 interface ChartLineSeries extends SeriesAppearance {\n label: string;\n values: readonly (number | null)[];\n}\n\nexport interface ChartLineProps {\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 ChartLineSeries[];\n showDataLabels?: boolean;\n showDots?: boolean;\n title: string;\n xAxis?: AxisVisibility;\n yAxis?: AxisVisibility;\n yAxisRight?: AxisVisibility;\n}\n\nexport function ChartLine({\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 title,\n xAxis = 'visible',\n yAxis = 'visible',\n yAxisRight = 'hidden',\n}: ChartLineProps) {\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 const dominio = useMemo(\n () =>\n mergeDomains(\n series\n .filter((serie) => !isHidden(serie.label))\n .map((serie) => domainOf(serie.values.filter((valor) => valor !== null), { includeZero })),\n ),\n [includeZero, isHidden, series],\n );\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\n const pontosPorSerie = series.map((serie) =>\n 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, y: escalaValores(valor) };\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 fillHeight={fillHeight}\n grid={[\n {\n baseline: escalaValores(0),\n lines: marcasDeValor.map((valor) => escalaValores(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={{ hideLine: true, ticks: marcasValor, visibility: yAxis }}\n yAxisRight={{ hideLine: true, ticks: marcasValor, visibility: yAxisRight }}\n >\n {series.map((serie, indiceSerie) => {\n const oculta = isHidden(serie.label);\n\n return (\n <g\n aria-hidden={oculta || undefined}\n className={`${styles.series} ${oculta ? styles.seriesOff : ''}`}\n key={indiceSerie}\n >\n <path\n className={styles.line}\n d={linePath(pontosPorSerie[indiceSerie], curve)}\n fill=\"none\"\n stroke={cores[indiceSerie]}\n />\n\n {pontosPorSerie[indiceSerie].map((ponto, indice) => {\n if (ponto === null) {\n return null;\n }\n\n const descricao = `${serie.label}, ${categories[indice]}: ${formatValue(serie.values[indice] ?? 0)}`;\n\n return (\n <circle\n aria-label={descricao}\n className={\n showDots || isolado(pontosPorSerie[indiceSerie], indice)\n ? styles.dotVisible\n : styles.dot\n }\n cx={ponto.x}\n cy={ponto.y}\n fill={cores[indiceSerie]}\n key={indice}\n r={4}\n >\n <title>{descricao}</title>\n </circle>\n );\n })}\n\n {showDataLabels &&\n pontosPorSerie[indiceSerie].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 {formatValue(serie.values[indice] ?? 0)}\n </text>\n ),\n )}\n </g>\n );\n })}\n </CartesianFrame>\n );\n}\n"],"names":["isolado","pontos","indice","ChartLine","accent","categories","curve","defaultHiddenSeries","emptyMessage","formatValue","formatarNumero","height","includeZero","hiddenSeries","labelAngle","legend","legendAlign","onHiddenSeriesChange","series","showDataLabels","showDots","title","xAxis","yAxis","yAxisRight","font","alturaMedida","ref","width","useChartMetrics","fillHeight","alturaDoDesenho","chartHeight","isHidden","toggle","useSeriesToggle","cores","useMemo","resolveSeriesColors","dominio","mergeDomains","serie","domainOf","valor","rotulosDeValor","valueLabelsFor","margins","plot","rotation","cartesianLayout","valueLabelRoom","escalaCategorias","pointScale","escalaAlvo","linearScale","minimo","maximo","useTweenedNumbers","escalaValores","marcasDeValor","ticksFor","pontosPorSerie","categoria","marcasCategoria","marcasValor","jsx","CartesianFrame","indiceSerie","oculta","jsxs","styles","linePath","ponto","descricao"],"mappings":"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"}
1
+ {"version":3,"file":"ChartLine.js","sources":["../../../../src/components/charts/ChartLine/ChartLine.tsx"],"sourcesContent":["import { useMemo, useState } from 'react';\nimport {\n CartesianFrame,\n categoryTooltip,\n PointBands,\n PointCursor,\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 ChartCurve,\n type ChartHeight,\n type ChartLegendAlign,\n type ChartLegendPosition,\n type ChartPoint,\n type MarkVisibility,\n} from '../core';\nimport { resolveSeriesColors, type SeriesAppearance } from '../palette';\nimport { domainOf, linearScale, mergeDomains, pointScale, ticksFor } from '../scales';\nimport { formatarNumero } from '../../../utils/formatters';\nimport styles from './ChartLine.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 interface ChartLineSeries extends SeriesAppearance {\n label: string;\n values: readonly (number | null)[];\n}\n\nexport interface ChartLineProps {\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 ChartLineSeries[];\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 title: string;\n xAxis?: AxisVisibility;\n yAxis?: AxisVisibility;\n yAxisRight?: AxisVisibility;\n}\n\nexport function ChartLine({\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 title,\n xAxis = 'visible',\n yAxis = 'visible',\n yAxisRight = 'hidden',\n}: ChartLineProps) {\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 const dominio = useMemo(\n () =>\n mergeDomains(\n seriesInScale(series, isOutOfScale).map((serie) =>\n domainOf(\n serie.values.filter((valor) => valor !== null),\n { includeZero },\n ),\n ),\n ),\n [includeZero, isOutOfScale, series],\n );\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\n const pontosPorSerie = series.map((serie) =>\n 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, y: escalaValores(valor) };\n }),\n );\n\n const serieEmFoco = nearestSeriesAt(pontosPorSerie, categoriaEmFoco, alturaDoPonteiro, (indice) =>\n 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 fillHeight={fillHeight}\n grid={[\n {\n baseline: escalaValores(0),\n lines: marcasDeValor.map((valor) => escalaValores(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: categoriaEmFoco,\n isHidden,\n series,\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 {series.map((serie, indiceSerie) => {\n const oculta = isHidden(serie.label);\n\n return (\n <g\n aria-hidden={oculta || undefined}\n className={`${styles.series} ${oculta ? styles.seriesOff : ''}`}\n key={indiceSerie}\n >\n <path\n className={styles.line}\n d={linePath(pontosPorSerie[indiceSerie], curve)}\n fill=\"none\"\n stroke={cores[indiceSerie]}\n />\n\n {pontosPorSerie[indiceSerie].map((ponto, indice) => {\n if (ponto === null) {\n return null;\n }\n\n const descricao = `${serie.label}, ${categories[indice]}: ${formatValue(serie.values[indice] ?? 0)}`;\n\n return (\n <circle\n aria-label={descricao}\n className={\n markShown(showDots, indiceSerie === serieEmFoco) || isolado(pontosPorSerie[indiceSerie], indice)\n ? styles.dotVisible\n : styles.dot\n }\n cx={ponto.x}\n cy={ponto.y}\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 pontosPorSerie[indiceSerie].map((ponto, indice) => {\n if (ponto === null) {\n return null;\n }\n\n const { below, dx, textAnchor } = pointLabelPlacement(pontosPorSerie, 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={ponto.x + dx}\n y={below ? ponto.y + font.lineHeight + 2 : ponto.y - 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":["isolado","pontos","indice","ChartLine","accent","categories","curve","defaultHiddenSeries","emptyMessage","formatTooltipValue","formatValue","formatarNumero","height","includeZero","hiddenSeries","labelAngle","legend","legendAlign","onHiddenSeriesChange","onHoverCategory","series","showDataLabels","showDots","showTooltip","title","xAxis","yAxis","yAxisRight","font","alturaMedida","ref","width","useChartMetrics","fillHeight","alturaDoDesenho","chartHeight","isHidden","isOutOfScale","toggle","useSeriesToggle","serie","cores","useMemo","resolveSeriesColors","dominio","mergeDomains","seriesInScale","domainOf","valor","rotulosDeValor","valueLabelsFor","axisReveal","margins","plot","rotation","useCartesianLayout","valueLabelRoom","escalaCategorias","pointScale","focarCategoria","categoriaEmFoco","useHoveredBand","alturaDoPonteiro","setAlturaDoPonteiro","useState","comFaixas","escalaAlvo","linearScale","minimo","maximo","useTweenedNumbers","escalaValores","marcasDeValor","ticksFor","pontosPorSerie","categoria","serieEmFoco","nearestSeriesAt","marcasCategoria","posicoesCategoria","marca","marcasValor","jsxs","CartesianFrame","categoryTooltip","jsx","PointCursor","indiceSerie","oculta","styles","linePath","ponto","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="_line_1r7tk_1 _line_141iy_132",s="_dot_1r7tk_5 _dot_141iy_140",_="_dotVisible_1r7tk_9 _dotVisible_141iy_145",i="_valueLabel_1r7tk_13 _valueLabel_141iy_124",t="_series_1r7tk_17 _series_141iy_209",l="_seriesOff_1r7tk_21 _seriesOff_141iy_213",o={line:e,dot:s,dotVisible:_,valueLabel:i,series:t,seriesOff:l};exports.default=o;exports.dot=s;exports.dotVisible=_;exports.line=e;exports.series=t;exports.seriesOff=l;exports.valueLabel=i;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="_line_6wl2h_1 _line_yf6oe_121",l="_dot_6wl2h_5 _dot_yf6oe_130",_="_dotVisible_6wl2h_9 _dotVisible_yf6oe_137",s="_valueLabel_6wl2h_13 _valueLabel_yf6oe_103",i="_series_6wl2h_17 _series_yf6oe_211",o="_seriesOff_6wl2h_21 _seriesOff_yf6oe_215",t="_valueLabelHidden_6wl2h_25 _valueLabelHidden_yf6oe_116",a={line:e,dot:l,dotVisible:_,valueLabel:s,series:i,seriesOff:o,valueLabelHidden:t};exports.default=a;exports.dot=l;exports.dotVisible=_;exports.line=e;exports.series=i;exports.seriesOff=o;exports.valueLabel=s;exports.valueLabelHidden=t;
2
2
  //# sourceMappingURL=ChartLine.module.css.cjs.map
@@ -1,18 +1,20 @@
1
- const _ = "_line_1r7tk_1 _line_141iy_132", e = "_dot_1r7tk_5 _dot_141iy_140", s = "_dotVisible_1r7tk_9 _dotVisible_141iy_145", i = "_valueLabel_1r7tk_13 _valueLabel_141iy_124", t = "_series_1r7tk_17 _series_141iy_209", l = "_seriesOff_1r7tk_21 _seriesOff_141iy_213", o = {
2
- line: _,
3
- dot: e,
4
- dotVisible: s,
5
- valueLabel: i,
6
- series: t,
7
- seriesOff: l
1
+ const e = "_line_6wl2h_1 _line_yf6oe_121", _ = "_dot_6wl2h_5 _dot_yf6oe_130", l = "_dotVisible_6wl2h_9 _dotVisible_yf6oe_137", s = "_valueLabel_6wl2h_13 _valueLabel_yf6oe_103", i = "_series_6wl2h_17 _series_yf6oe_211", o = "_seriesOff_6wl2h_21 _seriesOff_yf6oe_215", t = "_valueLabelHidden_6wl2h_25 _valueLabelHidden_yf6oe_116", a = {
2
+ line: e,
3
+ dot: _,
4
+ dotVisible: l,
5
+ valueLabel: s,
6
+ series: i,
7
+ seriesOff: o,
8
+ valueLabelHidden: t
8
9
  };
9
10
  export {
10
- o as default,
11
- e as dot,
12
- s as dotVisible,
13
- _ as line,
14
- t as series,
15
- l as seriesOff,
16
- i as valueLabel
11
+ a as default,
12
+ _ as dot,
13
+ l as dotVisible,
14
+ e as line,
15
+ i as series,
16
+ o as seriesOff,
17
+ s as valueLabel,
18
+ t as valueLabelHidden
17
19
  };
18
20
  //# sourceMappingURL=ChartLine.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartLine.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"ChartLine.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),h=require("./ChartPie.module.css.cjs"),B=require("../core/useChartMetrics.cjs"),E=require("../core/useSliceRing.cjs"),I=require("../core/ChartFrame.cjs"),g=require("../core/arcs.cjs"),_=require("../../../utils/formatters/formatarNumero.cjs"),k=require("../core/measureText.cjs"),z=require("../palette/seriesColor.cjs"),G=require("../core/cartesianLayout.cjs"),J=require("../core/spacing.cjs");function K({accent:m,defaultHiddenSlices:f,emptyMessage:b="Sem dados no período",formatPercent:a=s=>`${Math.round(s*100)}%`,formatValue:q=_.formatarNumero,height:C=260,hiddenSlices:x,legend:M="bottom",legendAlign:p,onHiddenSlicesChange:v,onHoverSlice:R,otherLabel:O="Outros",showDataLabels:y=!1,showLegendValues:S=!1,sliceRadius:j,slices:n,smallSliceThreshold:P=.02,title:D}){const{font:s,height:H,radius:L,ref:N,width:i}=B.useChartMetrics(),{fillHeight:$,value:u}=G.chartHeight(C,H),e=E.useSliceRing({accent:m,defaultHiddenSlices:f,hiddenSlices:x,onHiddenSlicesChange:v,onHoverSlice:R,otherLabel:O,slices:n,smallSliceThreshold:P}),o=J.ringDiameter(i,u)/2,A=j??L;return l.jsxs(I.ChartFrame,{centerOrigin:!0,containerRef:N,empty:e.slices.length===0||n.every(t=>!(t.value>0)),emptyMessage:b,fillHeight:$,height:u,legend:e.slices.map((t,r)=>({color:e.colors[r],hidden:e.isHidden(t.label),label:t.label,value:S?a(e.ratioOf(r)):void 0})),legendAlign:p,legendPosition:M,onToggleSeries:e.toggle,swatch:"dot",title:D,width:i,children:[e.slices.map((t,r)=>l.jsx("path",{"aria-label":`${t.label}: ${q(Math.max(t.value,0))} (${a(e.ratioOf(r))})`,className:h.default.slice,d:g.arcPath({...e.angles[r],cornerRadius:A,innerRadius:0,outerRadius:o}),fill:e.colors[r],onMouseEnter:()=>e.focus(r),onMouseLeave:()=>e.focus(null)},r)),y&&e.slices.map((t,r)=>{const c=a(e.ratioOf(r)),[T,w]=g.arcCentroid({...e.angles[r],innerRadius:0,outerRadius:o}),d=e.angles[r].endAngle-e.angles[r].startAngle,F=d>=Math.PI?o:2*(o/2)*Math.sin(d/2);return e.isHidden(t.label)||k.measureLabel(c,s)>F?null:l.jsx("text",{className:h.default.sliceLabel,dominantBaseline:"middle",fill:z.textColorOn(e.colors[r]),textAnchor:"middle",x:T,y:w,children:c},r)})]})}exports.ChartPie=K;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),g=require("./ChartPie.module.css.cjs"),I=require("../core/useChartMetrics.cjs"),_=require("../core/useSliceRing.cjs"),k=require("../core/ChartFrame.cjs"),m=require("../core/arcs.cjs"),z=require("../../../utils/formatters/formatarNumero.cjs"),G=require("../core/measureText.cjs"),J=require("../palette/seriesColor.cjs"),K=require("../core/tooltips.cjs"),Q=require("../core/cartesianLayout.cjs"),U=require("../core/spacing.cjs");function V({accent:f,defaultHiddenSlices:p,emptyMessage:q="Sem dados no período",formatPercent:r=a=>`${Math.round(a*100)}%`,formatTooltipValue:b,formatValue:n=z.formatarNumero,height:x=260,hiddenSlices:C,legend:v="bottom",legendAlign:M,onHiddenSlicesChange:R,onHoverSlice:O,otherLabel:y="Outros",showDataLabels:S=!1,showLegendValues:j=!1,showTooltip:D=!0,sliceRadius:H,slices:i,smallSliceThreshold:L=.02,title:N}){const{font:a,height:P,radius:T,ref:$,width:u}=I.useChartMetrics(),{fillHeight:A,value:c}=Q.chartHeight(x,P),e=_.useSliceRing({accent:f,defaultHiddenSlices:p,hiddenSlices:C,onHiddenSlicesChange:R,onHoverSlice:O,otherLabel:y,slices:i,smallSliceThreshold:L}),s=U.ringDiameter(u,c)/2,w=H??T;return l.jsxs(k.ChartFrame,{centerOrigin:!0,containerRef:$,empty:e.slices.length===0||i.every(t=>!(t.value>0)),emptyMessage:q,fillHeight:A,height:c,legend:e.slices.map((t,o)=>({color:e.colors[o],hidden:e.isHidden(t.label),label:t.label,value:j?r(e.ratioOf(o)):void 0})),legendAlign:M,legendPosition:v,onToggleSeries:e.toggle,swatch:"dot",title:N,tooltip:D?K.sliceTooltip({colors:e.colors,formatPercent:r,formatValue:b??n,index:e.focused,slices:e.slices,total:e.total}):void 0,width:u,children:[e.slices.map((t,o)=>l.jsx("path",{"aria-label":`${t.label}: ${n(Math.max(t.value,0))} (${r(e.ratioOf(o))})`,className:g.default.slice,d:m.arcPath({...e.angles[o],cornerRadius:w,innerRadius:0,outerRadius:s}),fill:e.colors[o],onMouseEnter:()=>e.focus(o),onMouseLeave:()=>e.focus(null)},o)),S&&e.slices.map((t,o)=>{const d=r(e.ratioOf(o)),[F,B]=m.arcCentroid({...e.angles[o],innerRadius:0,outerRadius:s}),h=e.angles[o].endAngle-e.angles[o].startAngle,E=h>=Math.PI?s:2*(s/2)*Math.sin(h/2);return e.isHidden(t.label)||G.measureLabel(d,a)>E?null:l.jsx("text",{className:g.default.sliceLabel,dominantBaseline:"middle",fill:J.textColorOn(e.colors[o]),textAnchor:"middle",x:F,y:B,children:d},o)})]})}exports.ChartPie=V;
2
2
  //# sourceMappingURL=ChartPie.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartPie.cjs","sources":["../../../../src/components/charts/ChartPie/ChartPie.tsx"],"sourcesContent":["import {\n ChartFrame,\n arcCentroid,\n arcPath,\n chartHeight,\n measureLabel,\n ringDiameter,\n useChartMetrics,\n useSliceRing,\n type ChartHeight,\n type ChartLegendAlign,\n type ChartLegendPosition,\n type ChartSlice,\n} from '../core';\nimport { textColorOn } from '../palette';\nimport { formatarNumero } from '../../../utils/formatters';\nimport styles from './ChartPie.module.css';\n\nexport type { ChartSlice as ChartPieSlice };\n\nexport interface ChartPieProps {\n accent?: string;\n defaultHiddenSlices?: readonly string[];\n emptyMessage?: string;\n formatPercent?: (ratio: number) => string;\n formatValue?: (value: number) => string;\n height?: ChartHeight;\n hiddenSlices?: readonly string[];\n legend?: ChartLegendPosition;\n legendAlign?: ChartLegendAlign;\n onHiddenSlicesChange?: (hidden: readonly string[]) => void;\n /** Fatia sob o ponteiro, ja agrupada, ou `null` ao sair dela. */\n onHoverSlice?: (slice: ChartSlice | null) => void;\n /** Rotulo da fatia que reune as pequenas. */\n otherLabel?: string;\n showDataLabels?: boolean;\n showLegendValues?: boolean;\n /** Raio dos cantos de cada fatia. Sem valor, o token de raio pequeno. */\n sliceRadius?: number;\n slices: readonly ChartSlice[];\n /** Fracao do total abaixo da qual a fatia entra no agrupamento. */\n smallSliceThreshold?: number;\n title: string;\n}\n\nexport function ChartPie({\n accent,\n defaultHiddenSlices,\n emptyMessage = 'Sem dados no período',\n formatPercent = (fracao) => `${Math.round(fracao * 100)}%`,\n formatValue = formatarNumero,\n height = 260,\n hiddenSlices,\n legend = 'bottom',\n legendAlign,\n onHiddenSlicesChange,\n onHoverSlice,\n otherLabel = 'Outros',\n showDataLabels = false,\n showLegendValues = false,\n sliceRadius,\n slices,\n smallSliceThreshold = 0.02,\n title,\n}: ChartPieProps) {\n const { font, height: alturaMedida, radius: raioDoCanto, ref, width } = useChartMetrics();\n const { fillHeight, value: alturaDoDesenho } = chartHeight(height, alturaMedida);\n\n const anel = useSliceRing({\n accent,\n defaultHiddenSlices,\n hiddenSlices,\n onHiddenSlicesChange,\n onHoverSlice,\n otherLabel,\n slices,\n smallSliceThreshold,\n });\n\n const raio = ringDiameter(width, alturaDoDesenho) / 2;\n const canto = sliceRadius ?? raioDoCanto;\n\n return (\n <ChartFrame\n centerOrigin\n containerRef={ref}\n empty={anel.slices.length === 0 || slices.every((fatia) => !(fatia.value > 0))}\n emptyMessage={emptyMessage}\n fillHeight={fillHeight}\n height={alturaDoDesenho}\n legend={anel.slices.map((fatia, indice) => ({\n color: anel.colors[indice],\n hidden: anel.isHidden(fatia.label),\n label: fatia.label,\n value: showLegendValues ? formatPercent(anel.ratioOf(indice)) : undefined,\n }))}\n legendAlign={legendAlign}\n legendPosition={legend}\n onToggleSeries={anel.toggle}\n swatch=\"dot\"\n title={title}\n width={width}\n >\n {anel.slices.map((fatia, indice) => (\n <path\n aria-label={`${fatia.label}: ${formatValue(Math.max(fatia.value, 0))} (${formatPercent(anel.ratioOf(indice))})`}\n className={styles.slice}\n d={arcPath({ ...anel.angles[indice], cornerRadius: canto, innerRadius: 0, outerRadius: raio })}\n fill={anel.colors[indice]}\n key={indice}\n onMouseEnter={() => anel.focus(indice)}\n onMouseLeave={() => anel.focus(null)}\n />\n ))}\n\n {showDataLabels &&\n anel.slices.map((fatia, indice) => {\n const rotulo = formatPercent(anel.ratioOf(indice));\n const [x, y] = arcCentroid({ ...anel.angles[indice], innerRadius: 0, outerRadius: raio });\n const angulo = anel.angles[indice].endAngle - anel.angles[indice].startAngle;\n\n // O rotulo so entra quando a fatia o comporta. Ate meia volta a\n // largura disponivel e a corda no centro do arco; dali em diante a\n // corda volta a encolher, e quem manda e o raio.\n const disponivel =\n angulo >= Math.PI ? raio : 2 * (raio / 2) * Math.sin(angulo / 2);\n\n if (anel.isHidden(fatia.label) || measureLabel(rotulo, font) > disponivel) {\n return null;\n }\n\n return (\n <text\n className={styles.sliceLabel}\n dominantBaseline=\"middle\"\n fill={textColorOn(anel.colors[indice])}\n key={indice}\n textAnchor=\"middle\"\n x={x}\n y={y}\n >\n {rotulo}\n </text>\n );\n })}\n </ChartFrame>\n );\n}\n"],"names":["ChartPie","accent","defaultHiddenSlices","emptyMessage","formatPercent","fracao","formatValue","formatarNumero","height","hiddenSlices","legend","legendAlign","onHiddenSlicesChange","onHoverSlice","otherLabel","showDataLabels","showLegendValues","sliceRadius","slices","smallSliceThreshold","title","font","alturaMedida","raioDoCanto","ref","width","useChartMetrics","fillHeight","alturaDoDesenho","chartHeight","anel","useSliceRing","raio","ringDiameter","canto","jsxs","ChartFrame","fatia","indice","jsx","styles","arcPath","rotulo","x","y","arcCentroid","angulo","disponivel","measureLabel","textColorOn"],"mappings":"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"}
1
+ {"version":3,"file":"ChartPie.cjs","sources":["../../../../src/components/charts/ChartPie/ChartPie.tsx"],"sourcesContent":["import {\n ChartFrame,\n arcCentroid,\n arcPath,\n chartHeight,\n measureLabel,\n ringDiameter,\n sliceTooltip,\n useChartMetrics,\n useSliceRing,\n type ChartHeight,\n type ChartLegendAlign,\n type ChartLegendPosition,\n type ChartSlice,\n} from '../core';\nimport { textColorOn } from '../palette';\nimport { formatarNumero } from '../../../utils/formatters';\nimport styles from './ChartPie.module.css';\n\nexport type { ChartSlice as ChartPieSlice };\n\nexport interface ChartPieProps {\n accent?: string;\n defaultHiddenSlices?: readonly string[];\n emptyMessage?: string;\n formatPercent?: (ratio: number) => string;\n /** Formato dos valores no balao. Sem ele, vale o `formatValue`: o eixo pode sair compacto e o balao, exato. */\n formatTooltipValue?: (value: number) => string;\n formatValue?: (value: number) => string;\n height?: ChartHeight;\n hiddenSlices?: readonly string[];\n legend?: ChartLegendPosition;\n legendAlign?: ChartLegendAlign;\n onHiddenSlicesChange?: (hidden: readonly string[]) => void;\n /** Fatia sob o ponteiro, ja agrupada, ou `null` ao sair dela. */\n onHoverSlice?: (slice: ChartSlice | null) => void;\n /** Rotulo da fatia que reune as pequenas. */\n otherLabel?: string;\n showDataLabels?: boolean;\n showLegendValues?: boolean;\n /** Balao com a fatia sob o ponteiro, o valor e a parte do total. Desligue para montar o proprio `ChartTooltip`. */\n showTooltip?: boolean;\n /** Raio dos cantos de cada fatia. Sem valor, o token de raio pequeno. */\n sliceRadius?: number;\n slices: readonly ChartSlice[];\n /** Fracao do total abaixo da qual a fatia entra no agrupamento. */\n smallSliceThreshold?: number;\n title: string;\n}\n\nexport function ChartPie({\n accent,\n defaultHiddenSlices,\n emptyMessage = 'Sem dados no período',\n formatPercent = (fracao) => `${Math.round(fracao * 100)}%`,\n formatTooltipValue,\n formatValue = formatarNumero,\n height = 260,\n hiddenSlices,\n legend = 'bottom',\n legendAlign,\n onHiddenSlicesChange,\n onHoverSlice,\n otherLabel = 'Outros',\n showDataLabels = false,\n showLegendValues = false,\n showTooltip = true,\n sliceRadius,\n slices,\n smallSliceThreshold = 0.02,\n title,\n}: ChartPieProps) {\n const { font, height: alturaMedida, radius: raioDoCanto, ref, width } = useChartMetrics();\n const { fillHeight, value: alturaDoDesenho } = chartHeight(height, alturaMedida);\n\n const anel = useSliceRing({\n accent,\n defaultHiddenSlices,\n hiddenSlices,\n onHiddenSlicesChange,\n onHoverSlice,\n otherLabel,\n slices,\n smallSliceThreshold,\n });\n\n const raio = ringDiameter(width, alturaDoDesenho) / 2;\n const canto = sliceRadius ?? raioDoCanto;\n\n return (\n <ChartFrame\n centerOrigin\n containerRef={ref}\n empty={anel.slices.length === 0 || slices.every((fatia) => !(fatia.value > 0))}\n emptyMessage={emptyMessage}\n fillHeight={fillHeight}\n height={alturaDoDesenho}\n legend={anel.slices.map((fatia, indice) => ({\n color: anel.colors[indice],\n hidden: anel.isHidden(fatia.label),\n label: fatia.label,\n value: showLegendValues ? formatPercent(anel.ratioOf(indice)) : undefined,\n }))}\n legendAlign={legendAlign}\n legendPosition={legend}\n onToggleSeries={anel.toggle}\n swatch=\"dot\"\n title={title}\n tooltip={\n showTooltip\n ? sliceTooltip({\n colors: anel.colors,\n formatPercent,\n formatValue: formatTooltipValue ?? formatValue,\n index: anel.focused,\n slices: anel.slices,\n total: anel.total,\n })\n : undefined\n }\n width={width}\n >\n {anel.slices.map((fatia, indice) => (\n <path\n aria-label={`${fatia.label}: ${formatValue(Math.max(fatia.value, 0))} (${formatPercent(anel.ratioOf(indice))})`}\n className={styles.slice}\n d={arcPath({ ...anel.angles[indice], cornerRadius: canto, innerRadius: 0, outerRadius: raio })}\n fill={anel.colors[indice]}\n key={indice}\n onMouseEnter={() => anel.focus(indice)}\n onMouseLeave={() => anel.focus(null)}\n />\n ))}\n\n {showDataLabels &&\n anel.slices.map((fatia, indice) => {\n const rotulo = formatPercent(anel.ratioOf(indice));\n const [x, y] = arcCentroid({ ...anel.angles[indice], innerRadius: 0, outerRadius: raio });\n const angulo = anel.angles[indice].endAngle - anel.angles[indice].startAngle;\n\n // O rotulo so entra quando a fatia o comporta. Ate meia volta a\n // largura disponivel e a corda no centro do arco; dali em diante a\n // corda volta a encolher, e quem manda e o raio.\n const disponivel =\n angulo >= Math.PI ? raio : 2 * (raio / 2) * Math.sin(angulo / 2);\n\n if (anel.isHidden(fatia.label) || measureLabel(rotulo, font) > disponivel) {\n return null;\n }\n\n return (\n <text\n className={styles.sliceLabel}\n dominantBaseline=\"middle\"\n fill={textColorOn(anel.colors[indice])}\n key={indice}\n textAnchor=\"middle\"\n x={x}\n y={y}\n >\n {rotulo}\n </text>\n );\n })}\n </ChartFrame>\n );\n}\n"],"names":["ChartPie","accent","defaultHiddenSlices","emptyMessage","formatPercent","fracao","formatTooltipValue","formatValue","formatarNumero","height","hiddenSlices","legend","legendAlign","onHiddenSlicesChange","onHoverSlice","otherLabel","showDataLabels","showLegendValues","showTooltip","sliceRadius","slices","smallSliceThreshold","title","font","alturaMedida","raioDoCanto","ref","width","useChartMetrics","fillHeight","alturaDoDesenho","chartHeight","anel","useSliceRing","raio","ringDiameter","canto","jsxs","ChartFrame","fatia","indice","sliceTooltip","jsx","styles","arcPath","rotulo","x","y","arcCentroid","angulo","disponivel","measureLabel","textColorOn"],"mappings":"giBAkDO,SAASA,EAAS,CACvB,OAAAC,EACA,oBAAAC,EACA,aAAAC,EAAe,uBACf,cAAAC,EAAiBC,GAAW,GAAG,KAAK,MAAMA,EAAS,GAAG,CAAC,IACvD,mBAAAC,EACA,YAAAC,EAAcC,EAAAA,eACd,OAAAC,EAAS,IACT,aAAAC,EACA,OAAAC,EAAS,SACT,YAAAC,EACA,qBAAAC,EACA,aAAAC,EACA,WAAAC,EAAa,SACb,eAAAC,EAAiB,GACjB,iBAAAC,EAAmB,GACnB,YAAAC,EAAc,GACd,YAAAC,EACA,OAAAC,EACA,oBAAAC,EAAsB,IACtB,MAAAC,CACF,EAAkB,CAChB,KAAM,CAAE,KAAAC,EAAM,OAAQC,EAAc,OAAQC,EAAa,IAAAC,EAAK,MAAAC,CAAA,EAAUC,kBAAA,EAClE,CAAE,WAAAC,EAAY,MAAOC,GAAoBC,EAAAA,YAAYtB,EAAQe,CAAY,EAEzEQ,EAAOC,EAAAA,aAAa,CACxB,OAAAhC,EACA,oBAAAC,EACA,aAAAQ,EACA,qBAAAG,EACA,aAAAC,EACA,WAAAC,EACA,OAAAK,EACA,oBAAAC,CAAA,CACD,EAEKa,EAAOC,EAAAA,aAAaR,EAAOG,CAAe,EAAI,EAC9CM,EAAQjB,GAAeM,EAE7B,OACEY,EAAAA,KAACC,EAAAA,WAAA,CACC,aAAY,GACZ,aAAcZ,EACd,MAAOM,EAAK,OAAO,SAAW,GAAKZ,EAAO,MAAOmB,GAAU,EAAEA,EAAM,MAAQ,EAAE,EAC7E,aAAApC,EACA,WAAA0B,EACA,OAAQC,EACR,OAAQE,EAAK,OAAO,IAAI,CAACO,EAAOC,KAAY,CAC1C,MAAOR,EAAK,OAAOQ,CAAM,EACzB,OAAQR,EAAK,SAASO,EAAM,KAAK,EACjC,MAAOA,EAAM,MACb,MAAOtB,EAAmBb,EAAc4B,EAAK,QAAQQ,CAAM,CAAC,EAAI,MAAA,EAChE,EACF,YAAA5B,EACA,eAAgBD,EAChB,eAAgBqB,EAAK,OACrB,OAAO,MACP,MAAAV,EACA,QACEJ,EACIuB,eAAa,CACX,OAAQT,EAAK,OACb,cAAA5B,EACA,YAAaE,GAAsBC,EACnC,MAAOyB,EAAK,QACZ,OAAQA,EAAK,OACb,MAAOA,EAAK,KAAA,CACb,EACD,OAEN,MAAAL,EAEC,SAAA,CAAAK,EAAK,OAAO,IAAI,CAACO,EAAOC,IACvBE,EAAAA,IAAC,OAAA,CACC,aAAY,GAAGH,EAAM,KAAK,KAAKhC,EAAY,KAAK,IAAIgC,EAAM,MAAO,CAAC,CAAC,CAAC,KAAKnC,EAAc4B,EAAK,QAAQQ,CAAM,CAAC,CAAC,IAC5G,UAAWG,EAAAA,QAAO,MAClB,EAAGC,EAAAA,QAAQ,CAAE,GAAGZ,EAAK,OAAOQ,CAAM,EAAG,aAAcJ,EAAO,YAAa,EAAG,YAAaF,EAAM,EAC7F,KAAMF,EAAK,OAAOQ,CAAM,EAExB,aAAc,IAAMR,EAAK,MAAMQ,CAAM,EACrC,aAAc,IAAMR,EAAK,MAAM,IAAI,CAAA,EAF9BQ,CAAA,CAIR,EAEAxB,GACCgB,EAAK,OAAO,IAAI,CAACO,EAAOC,IAAW,CACjC,MAAMK,EAASzC,EAAc4B,EAAK,QAAQQ,CAAM,CAAC,EAC3C,CAACM,EAAGC,CAAC,EAAIC,EAAAA,YAAY,CAAE,GAAGhB,EAAK,OAAOQ,CAAM,EAAG,YAAa,EAAG,YAAaN,EAAM,EAClFe,EAASjB,EAAK,OAAOQ,CAAM,EAAE,SAAWR,EAAK,OAAOQ,CAAM,EAAE,WAK5DU,EACJD,GAAU,KAAK,GAAKf,EAAO,GAAKA,EAAO,GAAK,KAAK,IAAIe,EAAS,CAAC,EAEjE,OAAIjB,EAAK,SAASO,EAAM,KAAK,GAAKY,EAAAA,aAAaN,EAAQtB,CAAI,EAAI2B,EACtD,KAIPR,EAAAA,IAAC,OAAA,CACC,UAAWC,EAAAA,QAAO,WAClB,iBAAiB,SACjB,KAAMS,EAAAA,YAAYpB,EAAK,OAAOQ,CAAM,CAAC,EAErC,WAAW,SACX,EAAAM,EACA,EAAAC,EAEC,SAAAF,CAAA,EALIL,CAAA,CAQX,CAAC,CAAA,CAAA,CAAA,CAGT"}