@plenustech/design-system 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (599) hide show
  1. package/dist/components/actions/Button/Button.cjs +2 -0
  2. package/dist/components/actions/Button/Button.cjs.map +1 -0
  3. package/dist/components/actions/Button/Button.js +47 -0
  4. package/dist/components/actions/Button/Button.js.map +1 -0
  5. package/dist/components/actions/Button/Button.module.css.cjs +2 -0
  6. package/dist/components/actions/Button/Button.module.css.cjs.map +1 -0
  7. package/dist/components/actions/Button/Button.module.css.js +24 -0
  8. package/dist/components/actions/Button/Button.module.css.js.map +1 -0
  9. package/dist/components/actions/ButtonIcon/ButtonIcon.cjs +2 -0
  10. package/dist/components/actions/ButtonIcon/ButtonIcon.cjs.map +1 -0
  11. package/dist/components/actions/ButtonIcon/ButtonIcon.js +21 -0
  12. package/dist/components/actions/ButtonIcon/ButtonIcon.js.map +1 -0
  13. package/dist/components/actions/ButtonIcon/ButtonIcon.module.css.cjs +2 -0
  14. package/dist/components/actions/ButtonIcon/ButtonIcon.module.css.cjs.map +1 -0
  15. package/dist/components/actions/ButtonIcon/ButtonIcon.module.css.js +14 -0
  16. package/dist/components/actions/ButtonIcon/ButtonIcon.module.css.js.map +1 -0
  17. package/dist/components/charts/ChartArea/ChartArea.cjs +2 -0
  18. package/dist/components/charts/ChartArea/ChartArea.cjs.map +1 -0
  19. package/dist/components/charts/ChartArea/ChartArea.js +205 -0
  20. package/dist/components/charts/ChartArea/ChartArea.js.map +1 -0
  21. package/dist/components/charts/ChartArea/ChartArea.module.css.cjs +2 -0
  22. package/dist/components/charts/ChartArea/ChartArea.module.css.cjs.map +1 -0
  23. package/dist/components/charts/ChartArea/ChartArea.module.css.js +18 -0
  24. package/dist/components/charts/ChartArea/ChartArea.module.css.js.map +1 -0
  25. package/dist/components/charts/ChartBar/ChartBar.cjs +2 -0
  26. package/dist/components/charts/ChartBar/ChartBar.cjs.map +1 -0
  27. package/dist/components/charts/ChartBar/ChartBar.js +216 -0
  28. package/dist/components/charts/ChartBar/ChartBar.js.map +1 -0
  29. package/dist/components/charts/ChartBar/ChartBar.module.css.cjs +2 -0
  30. package/dist/components/charts/ChartBar/ChartBar.module.css.cjs.map +1 -0
  31. package/dist/components/charts/ChartBar/ChartBar.module.css.js +14 -0
  32. package/dist/components/charts/ChartBar/ChartBar.module.css.js.map +1 -0
  33. package/dist/components/charts/ChartCombo/ChartCombo.cjs +2 -0
  34. package/dist/components/charts/ChartCombo/ChartCombo.cjs.map +1 -0
  35. package/dist/components/charts/ChartCombo/ChartCombo.js +248 -0
  36. package/dist/components/charts/ChartCombo/ChartCombo.js.map +1 -0
  37. package/dist/components/charts/ChartCombo/ChartCombo.module.css.cjs +2 -0
  38. package/dist/components/charts/ChartCombo/ChartCombo.module.css.cjs.map +1 -0
  39. package/dist/components/charts/ChartCombo/ChartCombo.module.css.js +20 -0
  40. package/dist/components/charts/ChartCombo/ChartCombo.module.css.js.map +1 -0
  41. package/dist/components/charts/ChartDonut/ChartDonut.cjs +2 -0
  42. package/dist/components/charts/ChartDonut/ChartDonut.cjs.map +1 -0
  43. package/dist/components/charts/ChartDonut/ChartDonut.js +107 -0
  44. package/dist/components/charts/ChartDonut/ChartDonut.js.map +1 -0
  45. package/dist/components/charts/ChartDonut/ChartDonut.module.css.cjs +2 -0
  46. package/dist/components/charts/ChartDonut/ChartDonut.module.css.cjs.map +1 -0
  47. package/dist/components/charts/ChartDonut/ChartDonut.module.css.js +14 -0
  48. package/dist/components/charts/ChartDonut/ChartDonut.module.css.js.map +1 -0
  49. package/dist/components/charts/ChartLine/ChartLine.cjs +2 -0
  50. package/dist/components/charts/ChartLine/ChartLine.cjs.map +1 -0
  51. package/dist/components/charts/ChartLine/ChartLine.js +166 -0
  52. package/dist/components/charts/ChartLine/ChartLine.js.map +1 -0
  53. package/dist/components/charts/ChartLine/ChartLine.module.css.cjs +2 -0
  54. package/dist/components/charts/ChartLine/ChartLine.module.css.cjs.map +1 -0
  55. package/dist/components/charts/ChartLine/ChartLine.module.css.js +18 -0
  56. package/dist/components/charts/ChartLine/ChartLine.module.css.js.map +1 -0
  57. package/dist/components/charts/ChartPie/ChartPie.cjs +2 -0
  58. package/dist/components/charts/ChartPie/ChartPie.cjs.map +1 -0
  59. package/dist/components/charts/ChartPie/ChartPie.js +99 -0
  60. package/dist/components/charts/ChartPie/ChartPie.js.map +1 -0
  61. package/dist/components/charts/ChartPie/ChartPie.module.css.cjs +2 -0
  62. package/dist/components/charts/ChartPie/ChartPie.module.css.cjs.map +1 -0
  63. package/dist/components/charts/ChartPie/ChartPie.module.css.js +10 -0
  64. package/dist/components/charts/ChartPie/ChartPie.module.css.js.map +1 -0
  65. package/dist/components/charts/ChartRadial/ChartRadial.cjs +2 -0
  66. package/dist/components/charts/ChartRadial/ChartRadial.cjs.map +1 -0
  67. package/dist/components/charts/ChartRadial/ChartRadial.js +121 -0
  68. package/dist/components/charts/ChartRadial/ChartRadial.js.map +1 -0
  69. package/dist/components/charts/ChartRadial/ChartRadial.module.css.cjs +2 -0
  70. package/dist/components/charts/ChartRadial/ChartRadial.module.css.cjs.map +1 -0
  71. package/dist/components/charts/ChartRadial/ChartRadial.module.css.js +16 -0
  72. package/dist/components/charts/ChartRadial/ChartRadial.module.css.js.map +1 -0
  73. package/dist/components/charts/ChartSankey/ChartSankey.cjs +2 -0
  74. package/dist/components/charts/ChartSankey/ChartSankey.cjs.map +1 -0
  75. package/dist/components/charts/ChartSankey/ChartSankey.js +209 -0
  76. package/dist/components/charts/ChartSankey/ChartSankey.js.map +1 -0
  77. package/dist/components/charts/ChartSankey/ChartSankey.module.css.cjs +2 -0
  78. package/dist/components/charts/ChartSankey/ChartSankey.module.css.cjs.map +1 -0
  79. package/dist/components/charts/ChartSankey/ChartSankey.module.css.js +22 -0
  80. package/dist/components/charts/ChartSankey/ChartSankey.module.css.js.map +1 -0
  81. package/dist/components/charts/ChartScatter/ChartScatter.cjs +2 -0
  82. package/dist/components/charts/ChartScatter/ChartScatter.cjs.map +1 -0
  83. package/dist/components/charts/ChartScatter/ChartScatter.js +137 -0
  84. package/dist/components/charts/ChartScatter/ChartScatter.js.map +1 -0
  85. package/dist/components/charts/ChartScatter/ChartScatter.module.css.cjs +2 -0
  86. package/dist/components/charts/ChartScatter/ChartScatter.module.css.cjs.map +1 -0
  87. package/dist/components/charts/ChartScatter/ChartScatter.module.css.js +14 -0
  88. package/dist/components/charts/ChartScatter/ChartScatter.module.css.js.map +1 -0
  89. package/dist/components/charts/ChartSunburst/ChartSunburst.cjs +2 -0
  90. package/dist/components/charts/ChartSunburst/ChartSunburst.cjs.map +1 -0
  91. package/dist/components/charts/ChartSunburst/ChartSunburst.js +144 -0
  92. package/dist/components/charts/ChartSunburst/ChartSunburst.js.map +1 -0
  93. package/dist/components/charts/ChartSunburst/ChartSunburst.module.css.cjs +2 -0
  94. package/dist/components/charts/ChartSunburst/ChartSunburst.module.css.cjs.map +1 -0
  95. package/dist/components/charts/ChartSunburst/ChartSunburst.module.css.js +16 -0
  96. package/dist/components/charts/ChartSunburst/ChartSunburst.module.css.js.map +1 -0
  97. package/dist/components/charts/ChartTooltip/ChartTooltip.cjs +2 -0
  98. package/dist/components/charts/ChartTooltip/ChartTooltip.cjs.map +1 -0
  99. package/dist/components/charts/ChartTooltip/ChartTooltip.js +113 -0
  100. package/dist/components/charts/ChartTooltip/ChartTooltip.js.map +1 -0
  101. package/dist/components/charts/ChartTooltip/ChartTooltip.module.css.cjs +2 -0
  102. package/dist/components/charts/ChartTooltip/ChartTooltip.module.css.cjs.map +1 -0
  103. package/dist/components/charts/ChartTooltip/ChartTooltip.module.css.js +32 -0
  104. package/dist/components/charts/ChartTooltip/ChartTooltip.module.css.js.map +1 -0
  105. package/dist/components/charts/ChartTreemap/ChartTreemap.cjs +2 -0
  106. package/dist/components/charts/ChartTreemap/ChartTreemap.cjs.map +1 -0
  107. package/dist/components/charts/ChartTreemap/ChartTreemap.js +122 -0
  108. package/dist/components/charts/ChartTreemap/ChartTreemap.js.map +1 -0
  109. package/dist/components/charts/ChartTreemap/ChartTreemap.module.css.cjs +2 -0
  110. package/dist/components/charts/ChartTreemap/ChartTreemap.module.css.cjs.map +1 -0
  111. package/dist/components/charts/ChartTreemap/ChartTreemap.module.css.js +14 -0
  112. package/dist/components/charts/ChartTreemap/ChartTreemap.module.css.js.map +1 -0
  113. package/dist/components/charts/ChartWaterfall/ChartWaterfall.cjs +2 -0
  114. package/dist/components/charts/ChartWaterfall/ChartWaterfall.cjs.map +1 -0
  115. package/dist/components/charts/ChartWaterfall/ChartWaterfall.js +168 -0
  116. package/dist/components/charts/ChartWaterfall/ChartWaterfall.js.map +1 -0
  117. package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.cjs +2 -0
  118. package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.cjs.map +1 -0
  119. package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.js +12 -0
  120. package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.js.map +1 -0
  121. package/dist/components/charts/core/Axis.cjs +2 -0
  122. package/dist/components/charts/core/Axis.cjs.map +1 -0
  123. package/dist/components/charts/core/Axis.js +40 -0
  124. package/dist/components/charts/core/Axis.js.map +1 -0
  125. package/dist/components/charts/core/BandCursor.cjs +2 -0
  126. package/dist/components/charts/core/BandCursor.cjs.map +1 -0
  127. package/dist/components/charts/core/BandCursor.js +19 -0
  128. package/dist/components/charts/core/BandCursor.js.map +1 -0
  129. package/dist/components/charts/core/CartesianFrame.cjs +2 -0
  130. package/dist/components/charts/core/CartesianFrame.cjs.map +1 -0
  131. package/dist/components/charts/core/CartesianFrame.js +120 -0
  132. package/dist/components/charts/core/CartesianFrame.js.map +1 -0
  133. package/dist/components/charts/core/Chart.module.css.cjs +2 -0
  134. package/dist/components/charts/core/Chart.module.css.cjs.map +1 -0
  135. package/dist/components/charts/core/Chart.module.css.js +68 -0
  136. package/dist/components/charts/core/Chart.module.css.js.map +1 -0
  137. package/dist/components/charts/core/ChartFrame.cjs +2 -0
  138. package/dist/components/charts/core/ChartFrame.cjs.map +1 -0
  139. package/dist/components/charts/core/ChartFrame.js +65 -0
  140. package/dist/components/charts/core/ChartFrame.js.map +1 -0
  141. package/dist/components/charts/core/ChartLegend.cjs +2 -0
  142. package/dist/components/charts/core/ChartLegend.cjs.map +1 -0
  143. package/dist/components/charts/core/ChartLegend.js +44 -0
  144. package/dist/components/charts/core/ChartLegend.js.map +1 -0
  145. package/dist/components/charts/core/Grid.cjs +2 -0
  146. package/dist/components/charts/core/Grid.cjs.map +1 -0
  147. package/dist/components/charts/core/Grid.js +20 -0
  148. package/dist/components/charts/core/Grid.js.map +1 -0
  149. package/dist/components/charts/core/arcs.cjs +2 -0
  150. package/dist/components/charts/core/arcs.cjs.map +1 -0
  151. package/dist/components/charts/core/arcs.js +26 -0
  152. package/dist/components/charts/core/arcs.js.map +1 -0
  153. package/dist/components/charts/core/cartesianLayout.cjs +2 -0
  154. package/dist/components/charts/core/cartesianLayout.cjs.map +1 -0
  155. package/dist/components/charts/core/cartesianLayout.js +59 -0
  156. package/dist/components/charts/core/cartesianLayout.js.map +1 -0
  157. package/dist/components/charts/core/centerText.cjs +2 -0
  158. package/dist/components/charts/core/centerText.cjs.map +1 -0
  159. package/dist/components/charts/core/centerText.js +31 -0
  160. package/dist/components/charts/core/centerText.js.map +1 -0
  161. package/dist/components/charts/core/measureText.cjs +2 -0
  162. package/dist/components/charts/core/measureText.cjs.map +1 -0
  163. package/dist/components/charts/core/measureText.js +55 -0
  164. package/dist/components/charts/core/measureText.js.map +1 -0
  165. package/dist/components/charts/core/shapes.cjs +2 -0
  166. package/dist/components/charts/core/shapes.cjs.map +1 -0
  167. package/dist/components/charts/core/shapes.js +31 -0
  168. package/dist/components/charts/core/shapes.js.map +1 -0
  169. package/dist/components/charts/core/slices.cjs +2 -0
  170. package/dist/components/charts/core/slices.cjs.map +1 -0
  171. package/dist/components/charts/core/slices.js +22 -0
  172. package/dist/components/charts/core/slices.js.map +1 -0
  173. package/dist/components/charts/core/spacing.cjs +2 -0
  174. package/dist/components/charts/core/spacing.cjs.map +1 -0
  175. package/dist/components/charts/core/spacing.js +26 -0
  176. package/dist/components/charts/core/spacing.js.map +1 -0
  177. package/dist/components/charts/core/useChartMetrics.cjs +2 -0
  178. package/dist/components/charts/core/useChartMetrics.cjs.map +1 -0
  179. package/dist/components/charts/core/useChartMetrics.js +39 -0
  180. package/dist/components/charts/core/useChartMetrics.js.map +1 -0
  181. package/dist/components/charts/core/useHoveredBand.cjs +2 -0
  182. package/dist/components/charts/core/useHoveredBand.cjs.map +1 -0
  183. package/dist/components/charts/core/useHoveredBand.js +14 -0
  184. package/dist/components/charts/core/useHoveredBand.js.map +1 -0
  185. package/dist/components/charts/core/useSeriesToggle.cjs +2 -0
  186. package/dist/components/charts/core/useSeriesToggle.cjs.map +1 -0
  187. package/dist/components/charts/core/useSeriesToggle.js +22 -0
  188. package/dist/components/charts/core/useSeriesToggle.js.map +1 -0
  189. package/dist/components/charts/core/useSliceRing.cjs +2 -0
  190. package/dist/components/charts/core/useSliceRing.cjs.map +1 -0
  191. package/dist/components/charts/core/useSliceRing.js +55 -0
  192. package/dist/components/charts/core/useSliceRing.js.map +1 -0
  193. package/dist/components/charts/core/useTweenedNumbers.cjs +2 -0
  194. package/dist/components/charts/core/useTweenedNumbers.cjs.map +1 -0
  195. package/dist/components/charts/core/useTweenedNumbers.js +31 -0
  196. package/dist/components/charts/core/useTweenedNumbers.js.map +1 -0
  197. package/dist/components/charts/palette/palette.cjs +2 -0
  198. package/dist/components/charts/palette/palette.cjs.map +1 -0
  199. package/dist/components/charts/palette/palette.js +26 -0
  200. package/dist/components/charts/palette/palette.js.map +1 -0
  201. package/dist/components/charts/palette/seriesColor.cjs +2 -0
  202. package/dist/components/charts/palette/seriesColor.cjs.map +1 -0
  203. package/dist/components/charts/palette/seriesColor.js +43 -0
  204. package/dist/components/charts/palette/seriesColor.js.map +1 -0
  205. package/dist/components/charts/scales/scales.cjs +2 -0
  206. package/dist/components/charts/scales/scales.cjs.map +1 -0
  207. package/dist/components/charts/scales/scales.js +74 -0
  208. package/dist/components/charts/scales/scales.js.map +1 -0
  209. package/dist/components/data-display/Accordion/Accordion.cjs +2 -0
  210. package/dist/components/data-display/Accordion/Accordion.cjs.map +1 -0
  211. package/dist/components/data-display/Accordion/Accordion.js +91 -0
  212. package/dist/components/data-display/Accordion/Accordion.js.map +1 -0
  213. package/dist/components/data-display/Accordion/Accordion.module.css.cjs +2 -0
  214. package/dist/components/data-display/Accordion/Accordion.module.css.cjs.map +1 -0
  215. package/dist/components/data-display/Accordion/Accordion.module.css.js +26 -0
  216. package/dist/components/data-display/Accordion/Accordion.module.css.js.map +1 -0
  217. package/dist/components/data-display/Avatar/Avatar.cjs +2 -0
  218. package/dist/components/data-display/Avatar/Avatar.cjs.map +1 -0
  219. package/dist/components/data-display/Avatar/Avatar.js +20 -0
  220. package/dist/components/data-display/Avatar/Avatar.js.map +1 -0
  221. package/dist/components/data-display/Avatar/Avatar.module.css.cjs +2 -0
  222. package/dist/components/data-display/Avatar/Avatar.module.css.cjs.map +1 -0
  223. package/dist/components/data-display/Avatar/Avatar.module.css.js +14 -0
  224. package/dist/components/data-display/Avatar/Avatar.module.css.js.map +1 -0
  225. package/dist/components/data-display/Badge/Badge.cjs +2 -0
  226. package/dist/components/data-display/Badge/Badge.cjs.map +1 -0
  227. package/dist/components/data-display/Badge/Badge.js +13 -0
  228. package/dist/components/data-display/Badge/Badge.js.map +1 -0
  229. package/dist/components/data-display/Badge/Badge.module.css.cjs +2 -0
  230. package/dist/components/data-display/Badge/Badge.module.css.cjs.map +1 -0
  231. package/dist/components/data-display/Badge/Badge.module.css.js +22 -0
  232. package/dist/components/data-display/Badge/Badge.module.css.js.map +1 -0
  233. package/dist/components/data-display/Card/Card.cjs +2 -0
  234. package/dist/components/data-display/Card/Card.cjs.map +1 -0
  235. package/dist/components/data-display/Card/Card.js +51 -0
  236. package/dist/components/data-display/Card/Card.js.map +1 -0
  237. package/dist/components/data-display/Card/Card.module.css.cjs +2 -0
  238. package/dist/components/data-display/Card/Card.module.css.cjs.map +1 -0
  239. package/dist/components/data-display/Card/Card.module.css.js +26 -0
  240. package/dist/components/data-display/Card/Card.module.css.js.map +1 -0
  241. package/dist/components/data-display/CodeBlock/CodeBlock.cjs +2 -0
  242. package/dist/components/data-display/CodeBlock/CodeBlock.cjs.map +1 -0
  243. package/dist/components/data-display/CodeBlock/CodeBlock.js +65 -0
  244. package/dist/components/data-display/CodeBlock/CodeBlock.js.map +1 -0
  245. package/dist/components/data-display/CodeBlock/CodeBlock.module.css.cjs +2 -0
  246. package/dist/components/data-display/CodeBlock/CodeBlock.module.css.cjs.map +1 -0
  247. package/dist/components/data-display/CodeBlock/CodeBlock.module.css.js +47 -0
  248. package/dist/components/data-display/CodeBlock/CodeBlock.module.css.js.map +1 -0
  249. package/dist/components/data-display/CodeBlock/syntax.cjs +24 -0
  250. package/dist/components/data-display/CodeBlock/syntax.cjs.map +1 -0
  251. package/dist/components/data-display/CodeBlock/syntax.js +124 -0
  252. package/dist/components/data-display/CodeBlock/syntax.js.map +1 -0
  253. package/dist/components/data-display/List/List.cjs +2 -0
  254. package/dist/components/data-display/List/List.cjs.map +1 -0
  255. package/dist/components/data-display/List/List.js +99 -0
  256. package/dist/components/data-display/List/List.js.map +1 -0
  257. package/dist/components/data-display/List/List.module.css.cjs +2 -0
  258. package/dist/components/data-display/List/List.module.css.cjs.map +1 -0
  259. package/dist/components/data-display/List/List.module.css.js +32 -0
  260. package/dist/components/data-display/List/List.module.css.js.map +1 -0
  261. package/dist/components/data-display/List/ListingOptions.cjs +2 -0
  262. package/dist/components/data-display/List/ListingOptions.cjs.map +1 -0
  263. package/dist/components/data-display/List/ListingOptions.js +115 -0
  264. package/dist/components/data-display/List/ListingOptions.js.map +1 -0
  265. package/dist/components/data-display/List/useListing.cjs +2 -0
  266. package/dist/components/data-display/List/useListing.cjs.map +1 -0
  267. package/dist/components/data-display/List/useListing.js +85 -0
  268. package/dist/components/data-display/List/useListing.js.map +1 -0
  269. package/dist/components/data-display/List/useVirtualWindow.cjs +2 -0
  270. package/dist/components/data-display/List/useVirtualWindow.cjs.map +1 -0
  271. package/dist/components/data-display/List/useVirtualWindow.js +58 -0
  272. package/dist/components/data-display/List/useVirtualWindow.js.map +1 -0
  273. package/dist/components/data-display/Table/Table.cjs +2 -0
  274. package/dist/components/data-display/Table/Table.cjs.map +1 -0
  275. package/dist/components/data-display/Table/Table.js +238 -0
  276. package/dist/components/data-display/Table/Table.js.map +1 -0
  277. package/dist/components/data-display/Table/Table.module.css.cjs +2 -0
  278. package/dist/components/data-display/Table/Table.module.css.cjs.map +1 -0
  279. package/dist/components/data-display/Table/Table.module.css.js +69 -0
  280. package/dist/components/data-display/Table/Table.module.css.js.map +1 -0
  281. package/dist/components/feedback/Alert/Alert.cjs +2 -0
  282. package/dist/components/feedback/Alert/Alert.cjs.map +1 -0
  283. package/dist/components/feedback/Alert/Alert.js +13 -0
  284. package/dist/components/feedback/Alert/Alert.js.map +1 -0
  285. package/dist/components/feedback/Alert/Alert.module.css.cjs +2 -0
  286. package/dist/components/feedback/Alert/Alert.module.css.cjs.map +1 -0
  287. package/dist/components/feedback/Alert/Alert.module.css.js +20 -0
  288. package/dist/components/feedback/Alert/Alert.module.css.js.map +1 -0
  289. package/dist/components/feedback/EmptyState/EmptyState.cjs +2 -0
  290. package/dist/components/feedback/EmptyState/EmptyState.cjs.map +1 -0
  291. package/dist/components/feedback/EmptyState/EmptyState.js +49 -0
  292. package/dist/components/feedback/EmptyState/EmptyState.js.map +1 -0
  293. package/dist/components/feedback/EmptyState/EmptyState.module.css.cjs +2 -0
  294. package/dist/components/feedback/EmptyState/EmptyState.module.css.cjs.map +1 -0
  295. package/dist/components/feedback/EmptyState/EmptyState.module.css.js +36 -0
  296. package/dist/components/feedback/EmptyState/EmptyState.module.css.js.map +1 -0
  297. package/dist/components/feedback/Progress/Progress.cjs +2 -0
  298. package/dist/components/feedback/Progress/Progress.cjs.map +1 -0
  299. package/dist/components/feedback/Progress/Progress.js +34 -0
  300. package/dist/components/feedback/Progress/Progress.js.map +1 -0
  301. package/dist/components/feedback/Progress/Progress.module.css.cjs +2 -0
  302. package/dist/components/feedback/Progress/Progress.module.css.cjs.map +1 -0
  303. package/dist/components/feedback/Progress/Progress.module.css.js +21 -0
  304. package/dist/components/feedback/Progress/Progress.module.css.js.map +1 -0
  305. package/dist/components/feedback/Spinner/Spinner.cjs +2 -0
  306. package/dist/components/feedback/Spinner/Spinner.cjs.map +1 -0
  307. package/dist/components/feedback/Spinner/Spinner.js +10 -0
  308. package/dist/components/feedback/Spinner/Spinner.js.map +1 -0
  309. package/dist/components/feedback/Spinner/Spinner.module.css.cjs +2 -0
  310. package/dist/components/feedback/Spinner/Spinner.module.css.cjs.map +1 -0
  311. package/dist/components/feedback/Spinner/Spinner.module.css.js +15 -0
  312. package/dist/components/feedback/Spinner/Spinner.module.css.js.map +1 -0
  313. package/dist/components/forms/Checkbox/Checkbox.cjs +2 -0
  314. package/dist/components/forms/Checkbox/Checkbox.cjs.map +1 -0
  315. package/dist/components/forms/Checkbox/Checkbox.js +45 -0
  316. package/dist/components/forms/Checkbox/Checkbox.js.map +1 -0
  317. package/dist/components/forms/Checkbox/Checkbox.module.css.cjs +2 -0
  318. package/dist/components/forms/Checkbox/Checkbox.module.css.cjs.map +1 -0
  319. package/dist/components/forms/Checkbox/Checkbox.module.css.js +20 -0
  320. package/dist/components/forms/Checkbox/Checkbox.module.css.js.map +1 -0
  321. package/dist/components/forms/ComboBox/ComboBox.cjs +3 -0
  322. package/dist/components/forms/ComboBox/ComboBox.cjs.map +1 -0
  323. package/dist/components/forms/ComboBox/ComboBox.js +223 -0
  324. package/dist/components/forms/ComboBox/ComboBox.js.map +1 -0
  325. package/dist/components/forms/ComboBox/ComboBox.module.css.cjs +2 -0
  326. package/dist/components/forms/ComboBox/ComboBox.module.css.cjs.map +1 -0
  327. package/dist/components/forms/ComboBox/ComboBox.module.css.js +28 -0
  328. package/dist/components/forms/ComboBox/ComboBox.module.css.js.map +1 -0
  329. package/dist/components/forms/DatePicker/Calendar.cjs +2 -0
  330. package/dist/components/forms/DatePicker/Calendar.cjs.map +1 -0
  331. package/dist/components/forms/DatePicker/Calendar.js +86 -0
  332. package/dist/components/forms/DatePicker/Calendar.js.map +1 -0
  333. package/dist/components/forms/DatePicker/DatePicker.cjs +2 -0
  334. package/dist/components/forms/DatePicker/DatePicker.cjs.map +1 -0
  335. package/dist/components/forms/DatePicker/DatePicker.js +217 -0
  336. package/dist/components/forms/DatePicker/DatePicker.js.map +1 -0
  337. package/dist/components/forms/DatePicker/DatePicker.module.css.cjs +2 -0
  338. package/dist/components/forms/DatePicker/DatePicker.module.css.cjs.map +1 -0
  339. package/dist/components/forms/DatePicker/DatePicker.module.css.js +44 -0
  340. package/dist/components/forms/DatePicker/DatePicker.module.css.js.map +1 -0
  341. package/dist/components/forms/DatePicker/iso.cjs +2 -0
  342. package/dist/components/forms/DatePicker/iso.cjs.map +1 -0
  343. package/dist/components/forms/DatePicker/iso.js +18 -0
  344. package/dist/components/forms/DatePicker/iso.js.map +1 -0
  345. package/dist/components/forms/DateTimePicker/DateTimePicker.cjs +2 -0
  346. package/dist/components/forms/DateTimePicker/DateTimePicker.cjs.map +1 -0
  347. package/dist/components/forms/DateTimePicker/DateTimePicker.js +241 -0
  348. package/dist/components/forms/DateTimePicker/DateTimePicker.js.map +1 -0
  349. package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.cjs +2 -0
  350. package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.cjs.map +1 -0
  351. package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.js +26 -0
  352. package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.js.map +1 -0
  353. package/dist/components/forms/Field/Field.cjs +2 -0
  354. package/dist/components/forms/Field/Field.cjs.map +1 -0
  355. package/dist/components/forms/Field/Field.js +34 -0
  356. package/dist/components/forms/Field/Field.js.map +1 -0
  357. package/dist/components/forms/Field/Field.module.css.cjs +2 -0
  358. package/dist/components/forms/Field/Field.module.css.cjs.map +1 -0
  359. package/dist/components/forms/Field/Field.module.css.js +16 -0
  360. package/dist/components/forms/Field/Field.module.css.js.map +1 -0
  361. package/dist/components/forms/Field/FormValue.cjs +2 -0
  362. package/dist/components/forms/Field/FormValue.cjs.map +1 -0
  363. package/dist/components/forms/Field/FormValue.js +24 -0
  364. package/dist/components/forms/Field/FormValue.js.map +1 -0
  365. package/dist/components/forms/InputCurrency/InputCurrency.cjs +2 -0
  366. package/dist/components/forms/InputCurrency/InputCurrency.cjs.map +1 -0
  367. package/dist/components/forms/InputCurrency/InputCurrency.js +41 -0
  368. package/dist/components/forms/InputCurrency/InputCurrency.js.map +1 -0
  369. package/dist/components/forms/InputNumber/InputNumber.cjs +2 -0
  370. package/dist/components/forms/InputNumber/InputNumber.cjs.map +1 -0
  371. package/dist/components/forms/InputNumber/InputNumber.js +39 -0
  372. package/dist/components/forms/InputNumber/InputNumber.js.map +1 -0
  373. package/dist/components/forms/InputPassword/InputPassword.cjs +2 -0
  374. package/dist/components/forms/InputPassword/InputPassword.cjs.map +1 -0
  375. package/dist/components/forms/InputPassword/InputPassword.js +110 -0
  376. package/dist/components/forms/InputPassword/InputPassword.js.map +1 -0
  377. package/dist/components/forms/InputPassword/InputPassword.module.css.cjs +2 -0
  378. package/dist/components/forms/InputPassword/InputPassword.module.css.cjs.map +1 -0
  379. package/dist/components/forms/InputPassword/InputPassword.module.css.js +18 -0
  380. package/dist/components/forms/InputPassword/InputPassword.module.css.js.map +1 -0
  381. package/dist/components/forms/InputText/InputText.cjs +2 -0
  382. package/dist/components/forms/InputText/InputText.cjs.map +1 -0
  383. package/dist/components/forms/InputText/InputText.js +62 -0
  384. package/dist/components/forms/InputText/InputText.js.map +1 -0
  385. package/dist/components/forms/InputText/InputText.module.css.cjs +2 -0
  386. package/dist/components/forms/InputText/InputText.module.css.cjs.map +1 -0
  387. package/dist/components/forms/InputText/InputText.module.css.js +14 -0
  388. package/dist/components/forms/InputText/InputText.module.css.js.map +1 -0
  389. package/dist/components/forms/Label/Label.cjs +2 -0
  390. package/dist/components/forms/Label/Label.cjs.map +1 -0
  391. package/dist/components/forms/Label/Label.js +13 -0
  392. package/dist/components/forms/Label/Label.js.map +1 -0
  393. package/dist/components/forms/Label/Label.module.css.cjs +2 -0
  394. package/dist/components/forms/Label/Label.module.css.cjs.map +1 -0
  395. package/dist/components/forms/Label/Label.module.css.js +10 -0
  396. package/dist/components/forms/Label/Label.module.css.js.map +1 -0
  397. package/dist/components/forms/RadioGroup/Radio.cjs +2 -0
  398. package/dist/components/forms/RadioGroup/Radio.cjs.map +1 -0
  399. package/dist/components/forms/RadioGroup/Radio.js +43 -0
  400. package/dist/components/forms/RadioGroup/Radio.js.map +1 -0
  401. package/dist/components/forms/RadioGroup/RadioGroup.cjs +2 -0
  402. package/dist/components/forms/RadioGroup/RadioGroup.cjs.map +1 -0
  403. package/dist/components/forms/RadioGroup/RadioGroup.js +58 -0
  404. package/dist/components/forms/RadioGroup/RadioGroup.js.map +1 -0
  405. package/dist/components/forms/RadioGroup/RadioGroup.module.css.cjs +2 -0
  406. package/dist/components/forms/RadioGroup/RadioGroup.module.css.cjs.map +1 -0
  407. package/dist/components/forms/RadioGroup/RadioGroup.module.css.js +26 -0
  408. package/dist/components/forms/RadioGroup/RadioGroup.module.css.js.map +1 -0
  409. package/dist/components/forms/Select/Select.cjs +2 -0
  410. package/dist/components/forms/Select/Select.cjs.map +1 -0
  411. package/dist/components/forms/Select/Select.js +191 -0
  412. package/dist/components/forms/Select/Select.js.map +1 -0
  413. package/dist/components/forms/Select/Select.module.css.cjs +2 -0
  414. package/dist/components/forms/Select/Select.module.css.cjs.map +1 -0
  415. package/dist/components/forms/Select/Select.module.css.js +22 -0
  416. package/dist/components/forms/Select/Select.module.css.js.map +1 -0
  417. package/dist/components/forms/Switch/Switch.cjs +2 -0
  418. package/dist/components/forms/Switch/Switch.cjs.map +1 -0
  419. package/dist/components/forms/Switch/Switch.js +39 -0
  420. package/dist/components/forms/Switch/Switch.js.map +1 -0
  421. package/dist/components/forms/Switch/Switch.module.css.cjs +2 -0
  422. package/dist/components/forms/Switch/Switch.module.css.cjs.map +1 -0
  423. package/dist/components/forms/Switch/Switch.module.css.js +20 -0
  424. package/dist/components/forms/Switch/Switch.module.css.js.map +1 -0
  425. package/dist/components/forms/Textarea/Textarea.cjs +2 -0
  426. package/dist/components/forms/Textarea/Textarea.cjs.map +1 -0
  427. package/dist/components/forms/Textarea/Textarea.js +64 -0
  428. package/dist/components/forms/Textarea/Textarea.js.map +1 -0
  429. package/dist/components/forms/Textarea/Textarea.module.css.cjs +2 -0
  430. package/dist/components/forms/Textarea/Textarea.module.css.cjs.map +1 -0
  431. package/dist/components/forms/Textarea/Textarea.module.css.js +14 -0
  432. package/dist/components/forms/Textarea/Textarea.module.css.js.map +1 -0
  433. package/dist/components/forms/TimePicker/TimePicker.cjs +2 -0
  434. package/dist/components/forms/TimePicker/TimePicker.cjs.map +1 -0
  435. package/dist/components/forms/TimePicker/TimePicker.js +176 -0
  436. package/dist/components/forms/TimePicker/TimePicker.js.map +1 -0
  437. package/dist/components/forms/TimePicker/TimePicker.module.css.cjs +2 -0
  438. package/dist/components/forms/TimePicker/TimePicker.module.css.cjs.map +1 -0
  439. package/dist/components/forms/TimePicker/TimePicker.module.css.js +26 -0
  440. package/dist/components/forms/TimePicker/TimePicker.module.css.js.map +1 -0
  441. package/dist/components/forms/TimePicker/TimeSlots.cjs +2 -0
  442. package/dist/components/forms/TimePicker/TimeSlots.cjs.map +1 -0
  443. package/dist/components/forms/TimePicker/TimeSlots.js +81 -0
  444. package/dist/components/forms/TimePicker/TimeSlots.js.map +1 -0
  445. package/dist/components/icons/Icon.cjs +2 -0
  446. package/dist/components/icons/Icon.cjs.map +1 -0
  447. package/dist/components/icons/Icon.js +24 -0
  448. package/dist/components/icons/Icon.js.map +1 -0
  449. package/dist/components/icons/icons.cjs +2 -0
  450. package/dist/components/icons/icons.cjs.map +1 -0
  451. package/dist/components/icons/icons.js +116 -0
  452. package/dist/components/icons/icons.js.map +1 -0
  453. package/dist/components/navigation/Breadcrumb/Breadcrumb.cjs +2 -0
  454. package/dist/components/navigation/Breadcrumb/Breadcrumb.cjs.map +1 -0
  455. package/dist/components/navigation/Breadcrumb/Breadcrumb.js +22 -0
  456. package/dist/components/navigation/Breadcrumb/Breadcrumb.js.map +1 -0
  457. package/dist/components/navigation/Breadcrumb/Breadcrumb.module.css.cjs +2 -0
  458. package/dist/components/navigation/Breadcrumb/Breadcrumb.module.css.cjs.map +1 -0
  459. package/dist/components/navigation/Breadcrumb/Breadcrumb.module.css.js +16 -0
  460. package/dist/components/navigation/Breadcrumb/Breadcrumb.module.css.js.map +1 -0
  461. package/dist/components/navigation/Pagination/Pagination.cjs +2 -0
  462. package/dist/components/navigation/Pagination/Pagination.cjs.map +1 -0
  463. package/dist/components/navigation/Pagination/Pagination.js +70 -0
  464. package/dist/components/navigation/Pagination/Pagination.js.map +1 -0
  465. package/dist/components/navigation/Pagination/Pagination.module.css.cjs +2 -0
  466. package/dist/components/navigation/Pagination/Pagination.module.css.cjs.map +1 -0
  467. package/dist/components/navigation/Pagination/Pagination.module.css.js +18 -0
  468. package/dist/components/navigation/Pagination/Pagination.module.css.js.map +1 -0
  469. package/dist/components/navigation/Tabs/Tabs.cjs +2 -0
  470. package/dist/components/navigation/Tabs/Tabs.cjs.map +1 -0
  471. package/dist/components/navigation/Tabs/Tabs.js +96 -0
  472. package/dist/components/navigation/Tabs/Tabs.js.map +1 -0
  473. package/dist/components/navigation/Tabs/Tabs.module.css.cjs +2 -0
  474. package/dist/components/navigation/Tabs/Tabs.module.css.cjs.map +1 -0
  475. package/dist/components/navigation/Tabs/Tabs.module.css.js +20 -0
  476. package/dist/components/navigation/Tabs/Tabs.module.css.js.map +1 -0
  477. package/dist/components/overlays/Dialog/Dialog.cjs +2 -0
  478. package/dist/components/overlays/Dialog/Dialog.cjs.map +1 -0
  479. package/dist/components/overlays/Dialog/Dialog.js +64 -0
  480. package/dist/components/overlays/Dialog/Dialog.js.map +1 -0
  481. package/dist/components/overlays/Dialog/Dialog.module.css.cjs +2 -0
  482. package/dist/components/overlays/Dialog/Dialog.module.css.cjs.map +1 -0
  483. package/dist/components/overlays/Dialog/Dialog.module.css.js +36 -0
  484. package/dist/components/overlays/Dialog/Dialog.module.css.js.map +1 -0
  485. package/dist/components/overlays/Menu/Menu.cjs +2 -0
  486. package/dist/components/overlays/Menu/Menu.cjs.map +1 -0
  487. package/dist/components/overlays/Menu/Menu.js +137 -0
  488. package/dist/components/overlays/Menu/Menu.js.map +1 -0
  489. package/dist/components/overlays/Menu/Menu.module.css.cjs +2 -0
  490. package/dist/components/overlays/Menu/Menu.module.css.cjs.map +1 -0
  491. package/dist/components/overlays/Menu/Menu.module.css.js +10 -0
  492. package/dist/components/overlays/Menu/Menu.module.css.js.map +1 -0
  493. package/dist/components/overlays/Popover/Popover.cjs +2 -0
  494. package/dist/components/overlays/Popover/Popover.cjs.map +1 -0
  495. package/dist/components/overlays/Popover/Popover.js +59 -0
  496. package/dist/components/overlays/Popover/Popover.js.map +1 -0
  497. package/dist/components/overlays/Popover/Popover.module.css.cjs +2 -0
  498. package/dist/components/overlays/Popover/Popover.module.css.cjs.map +1 -0
  499. package/dist/components/overlays/Popover/Popover.module.css.js +8 -0
  500. package/dist/components/overlays/Popover/Popover.module.css.js.map +1 -0
  501. package/dist/components/overlays/Tooltip/Tooltip.cjs +2 -0
  502. package/dist/components/overlays/Tooltip/Tooltip.cjs.map +1 -0
  503. package/dist/components/overlays/Tooltip/Tooltip.js +84 -0
  504. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -0
  505. package/dist/components/overlays/Tooltip/Tooltip.module.css.cjs +2 -0
  506. package/dist/components/overlays/Tooltip/Tooltip.module.css.cjs.map +1 -0
  507. package/dist/components/overlays/Tooltip/Tooltip.module.css.js +8 -0
  508. package/dist/components/overlays/Tooltip/Tooltip.module.css.js.map +1 -0
  509. package/dist/design-system.css +1 -1
  510. package/dist/hooks/useCalendar/calendar.cjs +2 -0
  511. package/dist/hooks/useCalendar/calendar.cjs.map +1 -0
  512. package/dist/hooks/useCalendar/calendar.js +56 -0
  513. package/dist/hooks/useCalendar/calendar.js.map +1 -0
  514. package/dist/hooks/useCalendar/useCalendar.cjs +2 -0
  515. package/dist/hooks/useCalendar/useCalendar.cjs.map +1 -0
  516. package/dist/hooks/useCalendar/useCalendar.js +48 -0
  517. package/dist/hooks/useCalendar/useCalendar.js.map +1 -0
  518. package/dist/hooks/useCharacterCount/useCharacterCount.cjs +2 -0
  519. package/dist/hooks/useCharacterCount/useCharacterCount.cjs.map +1 -0
  520. package/dist/hooks/useCharacterCount/useCharacterCount.js +27 -0
  521. package/dist/hooks/useCharacterCount/useCharacterCount.js.map +1 -0
  522. package/dist/hooks/useDecimalInput.cjs +2 -0
  523. package/dist/hooks/useDecimalInput.cjs.map +1 -0
  524. package/dist/hooks/useDecimalInput.js +17 -0
  525. package/dist/hooks/useDecimalInput.js.map +1 -0
  526. package/dist/hooks/useFormReset.cjs +2 -0
  527. package/dist/hooks/useFormReset.cjs.map +1 -0
  528. package/dist/hooks/useFormReset.js +16 -0
  529. package/dist/hooks/useFormReset.js.map +1 -0
  530. package/dist/hooks/useMergedRefs.cjs +2 -0
  531. package/dist/hooks/useMergedRefs.cjs.map +1 -0
  532. package/dist/hooks/useMergedRefs.js +24 -0
  533. package/dist/hooks/useMergedRefs.js.map +1 -0
  534. package/dist/hooks/useSelection/selection.cjs +2 -0
  535. package/dist/hooks/useSelection/selection.cjs.map +1 -0
  536. package/dist/hooks/useSelection/selection.js +78 -0
  537. package/dist/hooks/useSelection/selection.js.map +1 -0
  538. package/dist/hooks/useSelection/useSelection.cjs +2 -0
  539. package/dist/hooks/useSelection/useSelection.cjs.map +1 -0
  540. package/dist/hooks/useSelection/useSelection.js +68 -0
  541. package/dist/hooks/useSelection/useSelection.js.map +1 -0
  542. package/dist/index.cjs +2 -0
  543. package/dist/index.cjs.map +1 -0
  544. package/dist/index.js +131 -0
  545. package/dist/index.js.map +1 -0
  546. package/dist/types/components/actions/ButtonIcon/ButtonIcon.d.ts +12 -0
  547. package/dist/types/components/actions/ButtonIcon/index.d.ts +2 -0
  548. package/dist/types/components/data-display/CodeBlock/CodeBlock.d.ts +16 -0
  549. package/dist/types/components/data-display/CodeBlock/index.d.ts +3 -0
  550. package/dist/types/components/data-display/CodeBlock/syntax.d.ts +15 -0
  551. package/dist/types/components/data-display/Table/Table.d.ts +5 -3
  552. package/dist/types/components/feedback/EmptyState/EmptyState.d.ts +14 -0
  553. package/dist/types/components/feedback/EmptyState/index.d.ts +2 -0
  554. package/dist/types/components/forms/Checkbox/Checkbox.d.ts +3 -2
  555. package/dist/types/components/forms/ComboBox/ComboBox.d.ts +15 -4
  556. package/dist/types/components/forms/ComboBox/index.d.ts +1 -1
  557. package/dist/types/components/icons/icons.d.ts +4 -0
  558. package/dist/types/components/icons/index.d.ts +1 -1
  559. package/dist/types/components/navigation/Pagination/Pagination.d.ts +3 -1
  560. package/dist/types/components/overlays/Dialog/Dialog.d.ts +6 -1
  561. package/dist/types/components/overlays/Dialog/index.d.ts +1 -1
  562. package/dist/types/index.d.ts +9 -3
  563. package/dist/utils/formatters/formatarData.cjs +2 -0
  564. package/dist/utils/formatters/formatarData.cjs.map +1 -0
  565. package/dist/utils/formatters/formatarData.js +32 -0
  566. package/dist/utils/formatters/formatarData.js.map +1 -0
  567. package/dist/utils/formatters/formatarEntradaData.cjs +2 -0
  568. package/dist/utils/formatters/formatarEntradaData.cjs.map +1 -0
  569. package/dist/utils/formatters/formatarEntradaData.js +22 -0
  570. package/dist/utils/formatters/formatarEntradaData.js.map +1 -0
  571. package/dist/utils/formatters/formatarEntradaDecimal.cjs +2 -0
  572. package/dist/utils/formatters/formatarEntradaDecimal.cjs.map +1 -0
  573. package/dist/utils/formatters/formatarEntradaDecimal.js +35 -0
  574. package/dist/utils/formatters/formatarEntradaDecimal.js.map +1 -0
  575. package/dist/utils/formatters/formatarEntradaHora.cjs +2 -0
  576. package/dist/utils/formatters/formatarEntradaHora.cjs.map +1 -0
  577. package/dist/utils/formatters/formatarEntradaHora.js +32 -0
  578. package/dist/utils/formatters/formatarEntradaHora.js.map +1 -0
  579. package/dist/utils/formatters/formatarEntradaMonetaria.cjs +2 -0
  580. package/dist/utils/formatters/formatarEntradaMonetaria.cjs.map +1 -0
  581. package/dist/utils/formatters/formatarEntradaMonetaria.js +17 -0
  582. package/dist/utils/formatters/formatarEntradaMonetaria.js.map +1 -0
  583. package/dist/utils/formatters/formatarNumero.cjs +2 -0
  584. package/dist/utils/formatters/formatarNumero.cjs.map +1 -0
  585. package/dist/utils/formatters/formatarNumero.js +28 -0
  586. package/dist/utils/formatters/formatarNumero.js.map +1 -0
  587. package/dist/utils/formatters/mascararPartes.cjs +2 -0
  588. package/dist/utils/formatters/mascararPartes.cjs.map +1 -0
  589. package/dist/utils/formatters/mascararPartes.js +17 -0
  590. package/dist/utils/formatters/mascararPartes.js.map +1 -0
  591. package/dist/utils/textSearch/textSearch.cjs +2 -0
  592. package/dist/utils/textSearch/textSearch.cjs.map +1 -0
  593. package/dist/utils/textSearch/textSearch.js +22 -0
  594. package/dist/utils/textSearch/textSearch.js.map +1 -0
  595. package/package.json +5 -5
  596. package/dist/plenus-design-system.cjs +0 -2
  597. package/dist/plenus-design-system.cjs.map +0 -1
  598. package/dist/plenus-design-system.es.js +0 -6297
  599. package/dist/plenus-design-system.es.js.map +0 -1
@@ -0,0 +1,74 @@
1
+ import { scalePoint as u, scaleLinear as s, scaleBand as f, scaleSqrt as g } from "d3-scale";
2
+ import { extent as l, max as d, min as p } from "d3-array";
3
+ function M(n, { includeZero: t = !0 } = {}) {
4
+ const i = n.filter(Number.isFinite);
5
+ if (i.length === 0)
6
+ return { min: 0, max: 0 };
7
+ const [r = 0, e = 0] = l(i);
8
+ return {
9
+ min: t ? Math.min(r, 0) : r,
10
+ max: t ? Math.max(e, 0) : e
11
+ };
12
+ }
13
+ function S(n) {
14
+ let t = 0, i = 0;
15
+ return n.map((r) => {
16
+ const e = Number.isFinite(r) ? r : 0;
17
+ if (e < 0) {
18
+ const m = i;
19
+ return i += e, [m, i];
20
+ }
21
+ const c = t;
22
+ return t += e, [c, t];
23
+ });
24
+ }
25
+ function F(n) {
26
+ return n.length === 0 ? { min: 0, max: 0 } : {
27
+ min: p(n, (t) => t.min) ?? 0,
28
+ max: d(n, (t) => t.max) ?? 0
29
+ };
30
+ }
31
+ function a({ min: n, max: t }) {
32
+ return t > n ? -n / (t - n) : void 0;
33
+ }
34
+ function o(n, t, i) {
35
+ return t > i ? { min: n.min, max: -n.min * (1 - i) / i } : t < i ? { min: -n.max * i / (1 - i), max: n.max } : n;
36
+ }
37
+ function k(n, t) {
38
+ const i = a(n), r = a(t);
39
+ if (i === void 0 || r === void 0)
40
+ return [n, t];
41
+ const e = Math.max(i, r) / (1 + Math.abs(i - r));
42
+ return [o(n, i, e), o(t, r, e)];
43
+ }
44
+ function x({ min: n, max: t }) {
45
+ return n === t ? [n, n + 1] : [n, t];
46
+ }
47
+ function N({ clamp: n = !1, domain: t, nice: i = !0, range: r }) {
48
+ const e = s().domain(x(t)).range(r).clamp(n);
49
+ return i ? e.nice() : e;
50
+ }
51
+ function b({ domain: n, padding: t = 0.2, range: i }) {
52
+ return f().domain([...n]).range(i).paddingInner(t).paddingOuter(t / 2);
53
+ }
54
+ function A({ domain: n, padding: t = 0.5, range: i }) {
55
+ return u().domain([...n]).range(i).padding(t);
56
+ }
57
+ function B(n, t) {
58
+ return g().domain([0, n > 0 ? n : 1]).range(t);
59
+ }
60
+ function D(n, t, i) {
61
+ return n.ticks(Math.max(2, Math.min(10, Math.floor(t / 64))));
62
+ }
63
+ export {
64
+ k as alignZeros,
65
+ b as bandScale,
66
+ M as domainOf,
67
+ N as linearScale,
68
+ F as mergeDomains,
69
+ A as pointScale,
70
+ B as radiusScale,
71
+ S as stackDiverging,
72
+ D as ticksFor
73
+ };
74
+ //# sourceMappingURL=scales.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scales.js","sources":["../../../../src/components/charts/scales/scales.ts"],"sourcesContent":["import { scaleBand, scaleLinear, scalePoint, scaleSqrt } from 'd3-scale';\nimport { extent, max, min } from 'd3-array';\n\nexport interface NumericRange {\n max: number;\n min: number;\n}\n\nexport interface ContinuousScaleOptions {\n clamp?: boolean;\n domain: NumericRange;\n nice?: boolean;\n range: [number, number];\n}\n\nexport interface CategoricalScaleOptions {\n domain: readonly string[];\n padding?: number;\n range: [number, number];\n}\n\n/**\n * Faixa que cobre os valores, com o zero incluido por padrao. Uma barra que\n * nao parte do zero exagera a diferenca entre os valores.\n */\nexport function domainOf(values: readonly number[], { includeZero = true } = {}): NumericRange {\n const finitos = values.filter(Number.isFinite);\n\n if (finitos.length === 0) {\n return { min: 0, max: 0 };\n }\n\n const [menor = 0, maior = 0] = extent(finitos);\n\n return {\n min: includeZero ? Math.min(menor, 0) : menor,\n max: includeZero ? Math.max(maior, 0) : maior,\n };\n}\n\n/**\n * Pilha divergente: positivos sobem do zero e negativos descem dele, cada sinal com o proprio acumulado.\n * Na soma corrida, `+10` e `-5` desenhavam o negativo por cima do positivo.\n */\nexport function stackDiverging(contributions: readonly number[]): [number, number][] {\n let positivos = 0;\n let negativos = 0;\n\n return contributions.map((valor) => {\n const parcela = Number.isFinite(valor) ? valor : 0;\n\n if (parcela < 0) {\n const inicio = negativos;\n negativos += parcela;\n return [inicio, negativos];\n }\n\n const inicio = positivos;\n positivos += parcela;\n return [inicio, positivos];\n });\n}\n\n/** Une varias series na mesma faixa, para que compartilhem um unico eixo. */\nexport function mergeDomains(domains: readonly NumericRange[]): NumericRange {\n if (domains.length === 0) {\n return { min: 0, max: 0 };\n }\n\n return {\n min: min(domains, (faixa) => faixa.min) ?? 0,\n max: max(domains, (faixa) => faixa.max) ?? 0,\n };\n}\n\n/** Parte da faixa abaixo do zero; sem amplitude, nao ha o que alinhar. */\nfunction parteNegativa({ min: menor, max: maior }: NumericRange) {\n return maior > menor ? -menor / (maior - menor) : undefined;\n}\n\n/** Estende a faixa do lado que falta para o zero ficar na altura pedida, em fracao do eixo. */\nfunction levarZeroA(faixa: NumericRange, parte: number, altura: number): NumericRange {\n if (parte > altura) {\n return { min: faixa.min, max: (-faixa.min * (1 - altura)) / altura };\n }\n\n if (parte < altura) {\n return { min: (-faixa.max * altura) / (1 - altura), max: faixa.max };\n }\n\n return faixa;\n}\n\n/**\n * Estende dois dominios que contem o zero para que ele caia na mesma altura nos\n * dois eixos. Cada um cresce so do lado que precisa, e a folga sai igual nos dois.\n */\nexport function alignZeros(a: NumericRange, b: NumericRange): [NumericRange, NumericRange] {\n const parteA = parteNegativa(a);\n const parteB = parteNegativa(b);\n\n if (parteA === undefined || parteB === undefined) {\n return [a, b];\n }\n\n const altura = Math.max(parteA, parteB) / (1 + Math.abs(parteA - parteB));\n\n return [levarZeroA(a, parteA, altura), levarZeroA(b, parteB, altura)];\n}\n\nfunction guardFlat({ min: menor, max: maior }: NumericRange): [number, number] {\n return menor === maior ? [menor, menor + 1] : [menor, maior];\n}\n\nexport function linearScale({ clamp = false, domain, nice = true, range }: ContinuousScaleOptions) {\n const escala = scaleLinear().domain(guardFlat(domain)).range(range).clamp(clamp);\n\n return nice ? escala.nice() : escala;\n}\n\n/** Faixas de largura igual, uma por categoria. Serve barras. */\nexport function bandScale({ domain, padding = 0.2, range }: CategoricalScaleOptions) {\n return scaleBand().domain([...domain]).range(range).paddingInner(padding).paddingOuter(padding / 2);\n}\n\n/** Pontos sem largura, um por categoria. Serve linhas e dispersao. */\nexport function pointScale({ domain, padding = 0.5, range }: CategoricalScaleOptions) {\n return scalePoint().domain([...domain]).range(range).padding(padding);\n}\n\n/**\n * Raio pela raiz do valor, para que a area da bolha acompanhe o dado em vez do\n * raio. Mapeando o valor direto ao raio, a area cresceria com o quadrado dele e\n * exageraria a diferenca.\n */\nexport function radiusScale(maxValue: number, range: [number, number]) {\n return scaleSqrt().domain([0, maxValue > 0 ? maxValue : 1]).range(range);\n}\n\n/**\n * Marcas de um eixo continuo. Sem contagem informada, o eixo decide pelo\n * espaco que tem, para nao amontoar rotulos em area estreita. Em escala\n * categorica as marcas sao o proprio dominio.\n */\nexport function ticksFor(scale: { ticks: (count?: number) => number[] }, length: number, count?: number) {\n return scale.ticks(count ?? Math.max(2, Math.min(10, Math.floor(length / 64))));\n}\n"],"names":["domainOf","values","includeZero","finitos","menor","maior","extent","stackDiverging","contributions","positivos","negativos","valor","parcela","inicio","mergeDomains","domains","min","faixa","max","parteNegativa","levarZeroA","parte","altura","alignZeros","a","b","parteA","parteB","guardFlat","linearScale","clamp","domain","nice","range","escala","scaleLinear","bandScale","padding","scaleBand","pointScale","scalePoint","radiusScale","maxValue","scaleSqrt","ticksFor","scale","length","count"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),j=require("react"),o=require("./Accordion.module.css.cjs"),S=require("../../../hooks/useSelection/useSelection.cjs"),q=require("../../icons/icons.cjs");function A({className:r,defaultExpandedKeys:a,expandedKeys:d,items:s,multiple:y=!1,onExpandedChange:n,iconPosition:u="right",divider:x=!0,...N}){const f=`accordion-${j.useId()}`,k=j.useRef(new Map),t=j.useMemo(()=>s.map(e=>({key:e.key,disabled:e.disabled,textValue:e.label})),[s]),h=S.useSelection({allowEmpty:!0,items:t,mode:y?"multiple":"single",defaultSelectedKeys:d===void 0?a:void 0,selectedKeys:d,onSelectionChange:e=>n==null?void 0:n([...e])});function v(e,c){var p,$,w;let l;e.key==="ArrowDown"?l=g(t,c,1):e.key==="ArrowUp"?l=g(t,c,-1):e.key==="Home"?l=(p=t.find(b=>!b.disabled))==null?void 0:p.key:e.key==="End"&&(l=($=[...t].reverse().find(b=>!b.disabled))==null?void 0:$.key),l&&(e.preventDefault(),(w=k.current.get(l))==null||w.focus())}return i.jsx("div",{...N,className:[o.default.accordion,x&&o.default.divided,r].filter(Boolean).join(" "),children:s.map(e=>{const c=h.selectedKeys.has(e.key);return i.jsxs("div",{className:o.default.item,children:[i.jsx("h3",{className:o.default.heading,children:i.jsxs("button",{ref:l=>{l?k.current.set(e.key,l):k.current.delete(e.key)},className:[o.default.trigger,u==="left"&&o.default.iconLeft].filter(Boolean).join(" "),type:"button",id:`${f}-${e.key}`,"aria-controls":`${f}-${e.key}-panel`,"aria-expanded":c,disabled:e.disabled,onClick:()=>h.select(e.key),onKeyDown:l=>v(l,e.key),children:[i.jsx("span",{className:o.default.label,children:e.label}),i.jsx(q.IconChevronDown,{className:[o.default.icon,c&&o.default.iconOpen].filter(Boolean).join(" "),size:16})]})}),i.jsx("div",{className:o.default.panel,id:`${f}-${e.key}-panel`,role:"region","aria-labelledby":`${f}-${e.key}`,hidden:!c,children:e.content})]},e.key)})})}function g(r,a,d){const s=r.length,y=r.findIndex(n=>n.key===a);for(let n=1;n<=s;n+=1){const u=r[(y+d*n+s*s)%s];if(!u.disabled)return u.key}return a}exports.Accordion=A;
2
+ //# sourceMappingURL=Accordion.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Accordion.cjs","sources":["../../../../src/components/data-display/Accordion/Accordion.tsx"],"sourcesContent":["import {\n useId,\n useMemo,\n useRef,\n type ComponentPropsWithRef,\n type KeyboardEvent,\n type ReactNode,\n} from 'react';\nimport { useSelection, type SelectionItem } from '../../../hooks/useSelection';\nimport styles from './Accordion.module.css';\nimport { IconChevronDown } from '../../icons';\n\nexport interface AccordionItem {\n content: ReactNode;\n disabled?: boolean;\n key: string;\n label: string;\n}\n\nexport type AccordionIconPosition = 'left' | 'right';\n\nexport interface AccordionProps extends ComponentPropsWithRef<'div'> {\n defaultExpandedKeys?: readonly string[];\n expandedKeys?: readonly string[];\n items: readonly AccordionItem[];\n multiple?: boolean;\n onExpandedChange?: (keys: readonly string[]) => void;\n /** Direita e a convencao da web; esquerda serve a rotulos curtos em coluna estreita. */\n iconPosition?: AccordionIconPosition;\n /** Divisor entre as secoes, com a folga que ele exige. */\n divider?: boolean;\n}\n\nexport function Accordion({\n className,\n defaultExpandedKeys,\n expandedKeys,\n items,\n multiple = false,\n onExpandedChange,\n iconPosition = 'right',\n divider = true,\n ...props\n}: AccordionProps) {\n const baseId = `accordion-${useId()}`;\n const nodes = useRef(new Map<string, HTMLElement>());\n const collection = useMemo<SelectionItem[]>(\n () => items.map((item) => ({ key: item.key, disabled: item.disabled, textValue: item.label })),\n [items],\n );\n const selection = useSelection({\n // Uma secao aberta fecha ao ser clicada de novo, e nenhuma aberta e um\n // estado valido do acordeao — ao contrario de uma aba, que sempre tem uma.\n allowEmpty: true,\n items: collection,\n mode: multiple ? 'multiple' : 'single',\n defaultSelectedKeys: expandedKeys === undefined ? defaultExpandedKeys : undefined,\n selectedKeys: expandedKeys,\n onSelectionChange: (keys) => onExpandedChange?.([...keys]),\n });\n\n function handleKeyDown(event: KeyboardEvent<HTMLButtonElement>, key: string) {\n let destino: string | undefined;\n\n if (event.key === 'ArrowDown') {\n destino = proxima(collection, key, 1);\n } else if (event.key === 'ArrowUp') {\n destino = proxima(collection, key, -1);\n } else if (event.key === 'Home') {\n destino = collection.find((item) => !item.disabled)?.key;\n } else if (event.key === 'End') {\n destino = [...collection].reverse().find((item) => !item.disabled)?.key;\n }\n\n if (destino) {\n event.preventDefault();\n nodes.current.get(destino)?.focus();\n }\n }\n\n return (\n <div\n {...props}\n className={[styles.accordion, divider && styles.divided, className].filter(Boolean).join(' ')}\n >\n {items.map((item) => {\n const aberto = selection.selectedKeys.has(item.key);\n\n return (\n <div className={styles.item} key={item.key}>\n <h3 className={styles.heading}>\n <button\n ref={(node) => {\n if (node) {\n nodes.current.set(item.key, node);\n } else {\n nodes.current.delete(item.key);\n }\n }}\n className={[styles.trigger, iconPosition === 'left' && styles.iconLeft].filter(Boolean).join(' ')}\n type=\"button\"\n id={`${baseId}-${item.key}`}\n aria-controls={`${baseId}-${item.key}-panel`}\n aria-expanded={aberto}\n disabled={item.disabled}\n onClick={() => selection.select(item.key)}\n onKeyDown={(event) => handleKeyDown(event, item.key)}\n >\n <span className={styles.label}>{item.label}</span>\n <IconChevronDown className={[styles.icon, aberto && styles.iconOpen].filter(Boolean).join(' ')} size={16} />\n </button>\n </h3>\n <div\n className={styles.panel}\n id={`${baseId}-${item.key}-panel`}\n role=\"region\"\n aria-labelledby={`${baseId}-${item.key}`}\n hidden={!aberto}\n >\n {item.content}\n </div>\n </div>\n );\n })}\n </div>\n );\n}\n\nfunction proxima(items: readonly SelectionItem[], from: string, passo: 1 | -1) {\n const total = items.length;\n const inicio = items.findIndex((item) => item.key === from);\n\n for (let i = 1; i <= total; i += 1) {\n const item = items[(inicio + passo * i + total * total) % total];\n if (!item.disabled) {\n return item.key;\n }\n }\n\n return from;\n}\n"],"names":["Accordion","className","defaultExpandedKeys","expandedKeys","items","multiple","onExpandedChange","iconPosition","divider","props","baseId","useId","nodes","useRef","collection","useMemo","item","selection","useSelection","keys","handleKeyDown","event","key","destino","proxima","_a","_b","_c","jsx","styles","aberto","jsxs","node","IconChevronDown","from","passo","total","inicio","i"],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import { jsx as a, jsxs as w } from "react/jsx-runtime";
2
+ import { useId as D, useRef as I, useMemo as K } from "react";
3
+ import o from "./Accordion.module.css.js";
4
+ import { useSelection as A } from "../../../hooks/useSelection/useSelection.js";
5
+ import { IconChevronDown as B } from "../../icons/icons.js";
6
+ function L({
7
+ className: s,
8
+ defaultExpandedKeys: t,
9
+ expandedKeys: d,
10
+ items: i,
11
+ multiple: u = !1,
12
+ onExpandedChange: n,
13
+ iconPosition: f = "right",
14
+ divider: g = !0,
15
+ ...j
16
+ }) {
17
+ const y = `accordion-${D()}`, k = I(/* @__PURE__ */ new Map()), c = K(
18
+ () => i.map((e) => ({ key: e.key, disabled: e.disabled, textValue: e.label })),
19
+ [i]
20
+ ), p = A({
21
+ // Uma secao aberta fecha ao ser clicada de novo, e nenhuma aberta e um
22
+ // estado valido do acordeao — ao contrario de uma aba, que sempre tem uma.
23
+ allowEmpty: !0,
24
+ items: c,
25
+ mode: u ? "multiple" : "single",
26
+ defaultSelectedKeys: d === void 0 ? t : void 0,
27
+ selectedKeys: d,
28
+ onSelectionChange: (e) => n == null ? void 0 : n([...e])
29
+ });
30
+ function v(e, r) {
31
+ var h, m, $;
32
+ let l;
33
+ e.key === "ArrowDown" ? l = N(c, r, 1) : e.key === "ArrowUp" ? l = N(c, r, -1) : e.key === "Home" ? l = (h = c.find((b) => !b.disabled)) == null ? void 0 : h.key : e.key === "End" && (l = (m = [...c].reverse().find((b) => !b.disabled)) == null ? void 0 : m.key), l && (e.preventDefault(), ($ = k.current.get(l)) == null || $.focus());
34
+ }
35
+ return /* @__PURE__ */ a(
36
+ "div",
37
+ {
38
+ ...j,
39
+ className: [o.accordion, g && o.divided, s].filter(Boolean).join(" "),
40
+ children: i.map((e) => {
41
+ const r = p.selectedKeys.has(e.key);
42
+ return /* @__PURE__ */ w("div", { className: o.item, children: [
43
+ /* @__PURE__ */ a("h3", { className: o.heading, children: /* @__PURE__ */ w(
44
+ "button",
45
+ {
46
+ ref: (l) => {
47
+ l ? k.current.set(e.key, l) : k.current.delete(e.key);
48
+ },
49
+ className: [o.trigger, f === "left" && o.iconLeft].filter(Boolean).join(" "),
50
+ type: "button",
51
+ id: `${y}-${e.key}`,
52
+ "aria-controls": `${y}-${e.key}-panel`,
53
+ "aria-expanded": r,
54
+ disabled: e.disabled,
55
+ onClick: () => p.select(e.key),
56
+ onKeyDown: (l) => v(l, e.key),
57
+ children: [
58
+ /* @__PURE__ */ a("span", { className: o.label, children: e.label }),
59
+ /* @__PURE__ */ a(B, { className: [o.icon, r && o.iconOpen].filter(Boolean).join(" "), size: 16 })
60
+ ]
61
+ }
62
+ ) }),
63
+ /* @__PURE__ */ a(
64
+ "div",
65
+ {
66
+ className: o.panel,
67
+ id: `${y}-${e.key}-panel`,
68
+ role: "region",
69
+ "aria-labelledby": `${y}-${e.key}`,
70
+ hidden: !r,
71
+ children: e.content
72
+ }
73
+ )
74
+ ] }, e.key);
75
+ })
76
+ }
77
+ );
78
+ }
79
+ function N(s, t, d) {
80
+ const i = s.length, u = s.findIndex((n) => n.key === t);
81
+ for (let n = 1; n <= i; n += 1) {
82
+ const f = s[(u + d * n + i * i) % i];
83
+ if (!f.disabled)
84
+ return f.key;
85
+ }
86
+ return t;
87
+ }
88
+ export {
89
+ L as Accordion
90
+ };
91
+ //# sourceMappingURL=Accordion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Accordion.js","sources":["../../../../src/components/data-display/Accordion/Accordion.tsx"],"sourcesContent":["import {\n useId,\n useMemo,\n useRef,\n type ComponentPropsWithRef,\n type KeyboardEvent,\n type ReactNode,\n} from 'react';\nimport { useSelection, type SelectionItem } from '../../../hooks/useSelection';\nimport styles from './Accordion.module.css';\nimport { IconChevronDown } from '../../icons';\n\nexport interface AccordionItem {\n content: ReactNode;\n disabled?: boolean;\n key: string;\n label: string;\n}\n\nexport type AccordionIconPosition = 'left' | 'right';\n\nexport interface AccordionProps extends ComponentPropsWithRef<'div'> {\n defaultExpandedKeys?: readonly string[];\n expandedKeys?: readonly string[];\n items: readonly AccordionItem[];\n multiple?: boolean;\n onExpandedChange?: (keys: readonly string[]) => void;\n /** Direita e a convencao da web; esquerda serve a rotulos curtos em coluna estreita. */\n iconPosition?: AccordionIconPosition;\n /** Divisor entre as secoes, com a folga que ele exige. */\n divider?: boolean;\n}\n\nexport function Accordion({\n className,\n defaultExpandedKeys,\n expandedKeys,\n items,\n multiple = false,\n onExpandedChange,\n iconPosition = 'right',\n divider = true,\n ...props\n}: AccordionProps) {\n const baseId = `accordion-${useId()}`;\n const nodes = useRef(new Map<string, HTMLElement>());\n const collection = useMemo<SelectionItem[]>(\n () => items.map((item) => ({ key: item.key, disabled: item.disabled, textValue: item.label })),\n [items],\n );\n const selection = useSelection({\n // Uma secao aberta fecha ao ser clicada de novo, e nenhuma aberta e um\n // estado valido do acordeao — ao contrario de uma aba, que sempre tem uma.\n allowEmpty: true,\n items: collection,\n mode: multiple ? 'multiple' : 'single',\n defaultSelectedKeys: expandedKeys === undefined ? defaultExpandedKeys : undefined,\n selectedKeys: expandedKeys,\n onSelectionChange: (keys) => onExpandedChange?.([...keys]),\n });\n\n function handleKeyDown(event: KeyboardEvent<HTMLButtonElement>, key: string) {\n let destino: string | undefined;\n\n if (event.key === 'ArrowDown') {\n destino = proxima(collection, key, 1);\n } else if (event.key === 'ArrowUp') {\n destino = proxima(collection, key, -1);\n } else if (event.key === 'Home') {\n destino = collection.find((item) => !item.disabled)?.key;\n } else if (event.key === 'End') {\n destino = [...collection].reverse().find((item) => !item.disabled)?.key;\n }\n\n if (destino) {\n event.preventDefault();\n nodes.current.get(destino)?.focus();\n }\n }\n\n return (\n <div\n {...props}\n className={[styles.accordion, divider && styles.divided, className].filter(Boolean).join(' ')}\n >\n {items.map((item) => {\n const aberto = selection.selectedKeys.has(item.key);\n\n return (\n <div className={styles.item} key={item.key}>\n <h3 className={styles.heading}>\n <button\n ref={(node) => {\n if (node) {\n nodes.current.set(item.key, node);\n } else {\n nodes.current.delete(item.key);\n }\n }}\n className={[styles.trigger, iconPosition === 'left' && styles.iconLeft].filter(Boolean).join(' ')}\n type=\"button\"\n id={`${baseId}-${item.key}`}\n aria-controls={`${baseId}-${item.key}-panel`}\n aria-expanded={aberto}\n disabled={item.disabled}\n onClick={() => selection.select(item.key)}\n onKeyDown={(event) => handleKeyDown(event, item.key)}\n >\n <span className={styles.label}>{item.label}</span>\n <IconChevronDown className={[styles.icon, aberto && styles.iconOpen].filter(Boolean).join(' ')} size={16} />\n </button>\n </h3>\n <div\n className={styles.panel}\n id={`${baseId}-${item.key}-panel`}\n role=\"region\"\n aria-labelledby={`${baseId}-${item.key}`}\n hidden={!aberto}\n >\n {item.content}\n </div>\n </div>\n );\n })}\n </div>\n );\n}\n\nfunction proxima(items: readonly SelectionItem[], from: string, passo: 1 | -1) {\n const total = items.length;\n const inicio = items.findIndex((item) => item.key === from);\n\n for (let i = 1; i <= total; i += 1) {\n const item = items[(inicio + passo * i + total * total) % total];\n if (!item.disabled) {\n return item.key;\n }\n }\n\n return from;\n}\n"],"names":["Accordion","className","defaultExpandedKeys","expandedKeys","items","multiple","onExpandedChange","iconPosition","divider","props","baseId","useId","nodes","useRef","collection","useMemo","item","selection","useSelection","keys","handleKeyDown","event","key","destino","proxima","_a","_b","_c","jsx","styles","aberto","jsxs","node","IconChevronDown","from","passo","total","inicio","i"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="_accordion_1eiem_1",i="_divided_1eiem_7",n="_item_1eiem_13",o="_trigger_1eiem_17",c="_panel_1eiem_21",t="_heading_1eiem_25",_="_icon_1eiem_50",d="_label_1eiem_59",a="_iconLeft_1eiem_63",l="_iconOpen_1eiem_74",r={accordion:e,divided:i,item:n,trigger:o,panel:c,heading:t,icon:_,label:d,iconLeft:a,iconOpen:l};exports.accordion=e;exports.default=r;exports.divided=i;exports.heading=t;exports.icon=_;exports.iconLeft=a;exports.iconOpen=l;exports.item=n;exports.label=d;exports.panel=c;exports.trigger=o;
2
+ //# sourceMappingURL=Accordion.module.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Accordion.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ const e = "_accordion_1eiem_1", i = "_divided_1eiem_7", n = "_item_1eiem_13", _ = "_trigger_1eiem_17", o = "_panel_1eiem_21", c = "_heading_1eiem_25", t = "_icon_1eiem_50", d = "_label_1eiem_59", a = "_iconLeft_1eiem_63", s = "_iconOpen_1eiem_74", m = {
2
+ accordion: e,
3
+ divided: i,
4
+ item: n,
5
+ trigger: _,
6
+ panel: o,
7
+ heading: c,
8
+ icon: t,
9
+ label: d,
10
+ iconLeft: a,
11
+ iconOpen: s
12
+ };
13
+ export {
14
+ e as accordion,
15
+ m as default,
16
+ i as divided,
17
+ c as heading,
18
+ t as icon,
19
+ a as iconLeft,
20
+ s as iconOpen,
21
+ n as item,
22
+ d as label,
23
+ o as panel,
24
+ _ as trigger
25
+ };
26
+ //# sourceMappingURL=Accordion.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Accordion.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),r=require("react"),u=require("./Avatar.module.css.cjs");function j(a){return a.trim().split(/\s+/).filter(Boolean).slice(0,2).map(e=>e[0]).join("").toUpperCase()||"?"}function v({className:a,name:t,onError:e,size:c="md",src:s,...i}){const[f,l]=r.useState(!1),n=[u.default.avatar,u.default[c],a].filter(Boolean).join(" "),m=!!s&&!f;r.useEffect(()=>{l(!1)},[s]);function d(g){l(!0),e==null||e(g)}return m?o.jsx("img",{...i,className:n,src:s,alt:t,onError:d}):o.jsx("span",{...i,className:n,role:"img","aria-label":t,children:j(t)})}exports.Avatar=v;
2
+ //# sourceMappingURL=Avatar.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar.cjs","sources":["../../../../src/components/data-display/Avatar/Avatar.tsx"],"sourcesContent":["import { useEffect, useState, type HTMLAttributes, type SyntheticEvent } from 'react';\nimport styles from './Avatar.module.css';\n\nexport type AvatarSize = 'sm' | 'md' | 'lg';\n\nexport interface AvatarProps extends HTMLAttributes<HTMLElement> {\n name: string;\n size?: AvatarSize;\n src?: string;\n}\n\nfunction getInitials(name: string) {\n const names = name.trim().split(/\\s+/).filter(Boolean);\n return names.slice(0, 2).map((part) => part[0]).join('').toUpperCase() || '?';\n}\n\nexport function Avatar({ className, name, onError, size = 'md', src, ...props }: AvatarProps) {\n const [imageFailed, setImageFailed] = useState(false);\n const classes = [styles.avatar, styles[size], className].filter(Boolean).join(' ');\n const showImage = Boolean(src) && !imageFailed;\n\n useEffect(() => {\n setImageFailed(false);\n }, [src]);\n\n function handleError(event: SyntheticEvent<HTMLElement, Event>) {\n setImageFailed(true);\n onError?.(event);\n }\n\n if (!showImage) {\n return (\n <span {...props} className={classes} role=\"img\" aria-label={name}>\n {getInitials(name)}\n </span>\n );\n }\n\n return <img {...props} className={classes} src={src} alt={name} onError={handleError} />;\n}\n"],"names":["getInitials","name","part","Avatar","className","onError","size","src","props","imageFailed","setImageFailed","useState","classes","styles","showImage","useEffect","handleError","event","jsx"],"mappings":"6KAWA,SAASA,EAAYC,EAAc,CAEjC,OADcA,EAAK,KAAA,EAAO,MAAM,KAAK,EAAE,OAAO,OAAO,EACxC,MAAM,EAAG,CAAC,EAAE,IAAKC,GAASA,EAAK,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,eAAiB,GAC5E,CAEO,SAASC,EAAO,CAAE,UAAAC,EAAW,KAAAH,EAAM,QAAAI,EAAS,KAAAC,EAAO,KAAM,IAAAC,EAAK,GAAGC,GAAsB,CAC5F,KAAM,CAACC,EAAaC,CAAc,EAAIC,EAAAA,SAAS,EAAK,EAC9CC,EAAU,CAACC,EAAAA,QAAO,OAAQA,EAAAA,QAAOP,CAAI,EAAGF,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EAC3EU,EAAY,EAAQP,GAAQ,CAACE,EAEnCM,EAAAA,UAAU,IAAM,CACdL,EAAe,EAAK,CACtB,EAAG,CAACH,CAAG,CAAC,EAER,SAASS,EAAYC,EAA2C,CAC9DP,EAAe,EAAI,EACnBL,GAAA,MAAAA,EAAUY,EACZ,CAEA,OAAKH,EAQEI,MAAC,MAAA,CAAK,GAAGV,EAAO,UAAWI,EAAS,IAAAL,EAAU,IAAKN,EAAM,QAASe,CAAA,CAAa,EANlFE,EAAAA,IAAC,OAAA,CAAM,GAAGV,EAAO,UAAWI,EAAS,KAAK,MAAM,aAAYX,EACzD,SAAAD,EAAYC,CAAI,CAAA,CACnB,CAKN"}
@@ -0,0 +1,20 @@
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import { useState as g, useEffect as d } from "react";
3
+ import m from "./Avatar.module.css.js";
4
+ function h(t) {
5
+ return t.trim().split(/\s+/).filter(Boolean).slice(0, 2).map((e) => e[0]).join("").toUpperCase() || "?";
6
+ }
7
+ function v({ className: t, name: a, onError: e, size: r = "md", src: s, ...i }) {
8
+ const [f, l] = g(!1), n = [m.avatar, m[r], t].filter(Boolean).join(" "), c = !!s && !f;
9
+ d(() => {
10
+ l(!1);
11
+ }, [s]);
12
+ function u(p) {
13
+ l(!0), e == null || e(p);
14
+ }
15
+ return c ? /* @__PURE__ */ o("img", { ...i, className: n, src: s, alt: a, onError: u }) : /* @__PURE__ */ o("span", { ...i, className: n, role: "img", "aria-label": a, children: h(a) });
16
+ }
17
+ export {
18
+ v as Avatar
19
+ };
20
+ //# sourceMappingURL=Avatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar.js","sources":["../../../../src/components/data-display/Avatar/Avatar.tsx"],"sourcesContent":["import { useEffect, useState, type HTMLAttributes, type SyntheticEvent } from 'react';\nimport styles from './Avatar.module.css';\n\nexport type AvatarSize = 'sm' | 'md' | 'lg';\n\nexport interface AvatarProps extends HTMLAttributes<HTMLElement> {\n name: string;\n size?: AvatarSize;\n src?: string;\n}\n\nfunction getInitials(name: string) {\n const names = name.trim().split(/\\s+/).filter(Boolean);\n return names.slice(0, 2).map((part) => part[0]).join('').toUpperCase() || '?';\n}\n\nexport function Avatar({ className, name, onError, size = 'md', src, ...props }: AvatarProps) {\n const [imageFailed, setImageFailed] = useState(false);\n const classes = [styles.avatar, styles[size], className].filter(Boolean).join(' ');\n const showImage = Boolean(src) && !imageFailed;\n\n useEffect(() => {\n setImageFailed(false);\n }, [src]);\n\n function handleError(event: SyntheticEvent<HTMLElement, Event>) {\n setImageFailed(true);\n onError?.(event);\n }\n\n if (!showImage) {\n return (\n <span {...props} className={classes} role=\"img\" aria-label={name}>\n {getInitials(name)}\n </span>\n );\n }\n\n return <img {...props} className={classes} src={src} alt={name} onError={handleError} />;\n}\n"],"names":["getInitials","name","part","Avatar","className","onError","size","src","props","imageFailed","setImageFailed","useState","classes","styles","showImage","useEffect","handleError","event","jsx"],"mappings":";;;AAWA,SAASA,EAAYC,GAAc;AAEjC,SADcA,EAAK,KAAA,EAAO,MAAM,KAAK,EAAE,OAAO,OAAO,EACxC,MAAM,GAAG,CAAC,EAAE,IAAI,CAACC,MAASA,EAAK,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,iBAAiB;AAC5E;AAEO,SAASC,EAAO,EAAE,WAAAC,GAAW,MAAAH,GAAM,SAAAI,GAAS,MAAAC,IAAO,MAAM,KAAAC,GAAK,GAAGC,KAAsB;AAC5F,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAS,EAAK,GAC9CC,IAAU,CAACC,EAAO,QAAQA,EAAOP,CAAI,GAAGF,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,GAC3EU,IAAY,EAAQP,KAAQ,CAACE;AAEnC,EAAAM,EAAU,MAAM;AACd,IAAAL,EAAe,EAAK;AAAA,EACtB,GAAG,CAACH,CAAG,CAAC;AAER,WAASS,EAAYC,GAA2C;AAC9D,IAAAP,EAAe,EAAI,GACnBL,KAAA,QAAAA,EAAUY;AAAA,EACZ;AAEA,SAAKH,IAQE,gBAAAI,EAAC,OAAA,EAAK,GAAGV,GAAO,WAAWI,GAAS,KAAAL,GAAU,KAAKN,GAAM,SAASe,EAAA,CAAa,IANlF,gBAAAE,EAAC,QAAA,EAAM,GAAGV,GAAO,WAAWI,GAAS,MAAK,OAAM,cAAYX,GACzD,UAAAD,EAAYC,CAAI,EAAA,CACnB;AAKN;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="_avatar_16peg_1",t="_sm_16peg_14",a="_md_16peg_20",s="_lg_16peg_26",_={avatar:e,sm:t,md:a,lg:s};exports.avatar=e;exports.default=_;exports.lg=s;exports.md=a;exports.sm=t;
2
+ //# sourceMappingURL=Avatar.module.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ const _ = "_avatar_16peg_1", a = "_sm_16peg_14", s = "_md_16peg_20", t = "_lg_16peg_26", e = {
2
+ avatar: _,
3
+ sm: a,
4
+ md: s,
5
+ lg: t
6
+ };
7
+ export {
8
+ _ as avatar,
9
+ e as default,
10
+ t as lg,
11
+ s as md,
12
+ a as sm
13
+ };
14
+ //# sourceMappingURL=Avatar.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),e=require("./Badge.module.css.cjs");function o({children:t,className:s,dot:l=!1,outline:n=!1,tone:u="neutral",...d}){const r=[e.default.badge,e.default[u],n&&e.default.outline,s].filter(Boolean).join(" ");return a.jsxs("span",{...d,className:r,children:[l&&a.jsx("span",{className:e.default.dot,"aria-hidden":"true"}),t]})}exports.Badge=o;
2
+ //# sourceMappingURL=Badge.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Badge.cjs","sources":["../../../../src/components/data-display/Badge/Badge.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport styles from './Badge.module.css';\n\nexport type BadgeTone = 'ok' | 'warn' | 'info' | 'danger' | 'primary' | 'neutral';\n\nexport interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {\n dot?: boolean;\n outline?: boolean;\n tone?: BadgeTone;\n}\n\nexport function Badge({ children, className, dot = false, outline = false, tone = 'neutral', ...props }: BadgeProps) {\n const classes = [styles.badge, styles[tone], outline && styles.outline, className]\n .filter(Boolean)\n .join(' ');\n\n return (\n <span {...props} className={classes}>\n {dot && <span className={styles.dot} aria-hidden=\"true\" />}\n {children}\n </span>\n );\n}\n"],"names":["Badge","children","className","dot","outline","tone","props","classes","styles","jsxs"],"mappings":"yJAWO,SAASA,EAAM,CAAE,SAAAC,EAAU,UAAAC,EAAW,IAAAC,EAAM,GAAO,QAAAC,EAAU,GAAO,KAAAC,EAAO,UAAW,GAAGC,CAAA,EAAqB,CACnH,MAAMC,EAAU,CAACC,EAAAA,QAAO,MAAOA,EAAAA,QAAOH,CAAI,EAAGD,GAAWI,EAAAA,QAAO,QAASN,CAAS,EAC9E,OAAO,OAAO,EACd,KAAK,GAAG,EAEX,OACEO,EAAAA,KAAC,OAAA,CAAM,GAAGH,EAAO,UAAWC,EACzB,SAAA,CAAAJ,SAAQ,OAAA,CAAK,UAAWK,EAAAA,QAAO,IAAK,cAAY,OAAO,EACvDP,CAAA,EACH,CAEJ"}
@@ -0,0 +1,13 @@
1
+ import { jsxs as i, jsx as c } from "react/jsx-runtime";
2
+ import e from "./Badge.module.css.js";
3
+ function m({ children: s, className: a, dot: n = !1, outline: o = !1, tone: r = "neutral", ...t }) {
4
+ const l = [e.badge, e[r], o && e.outline, a].filter(Boolean).join(" ");
5
+ return /* @__PURE__ */ i("span", { ...t, className: l, children: [
6
+ n && /* @__PURE__ */ c("span", { className: e.dot, "aria-hidden": "true" }),
7
+ s
8
+ ] });
9
+ }
10
+ export {
11
+ m as Badge
12
+ };
13
+ //# sourceMappingURL=Badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Badge.js","sources":["../../../../src/components/data-display/Badge/Badge.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport styles from './Badge.module.css';\n\nexport type BadgeTone = 'ok' | 'warn' | 'info' | 'danger' | 'primary' | 'neutral';\n\nexport interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {\n dot?: boolean;\n outline?: boolean;\n tone?: BadgeTone;\n}\n\nexport function Badge({ children, className, dot = false, outline = false, tone = 'neutral', ...props }: BadgeProps) {\n const classes = [styles.badge, styles[tone], outline && styles.outline, className]\n .filter(Boolean)\n .join(' ');\n\n return (\n <span {...props} className={classes}>\n {dot && <span className={styles.dot} aria-hidden=\"true\" />}\n {children}\n </span>\n );\n}\n"],"names":["Badge","children","className","dot","outline","tone","props","classes","styles","jsxs"],"mappings":";;AAWO,SAASA,EAAM,EAAE,UAAAC,GAAU,WAAAC,GAAW,KAAAC,IAAM,IAAO,SAAAC,IAAU,IAAO,MAAAC,IAAO,WAAW,GAAGC,EAAA,GAAqB;AACnH,QAAMC,IAAU,CAACC,EAAO,OAAOA,EAAOH,CAAI,GAAGD,KAAWI,EAAO,SAASN,CAAS,EAC9E,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SACE,gBAAAO,EAAC,QAAA,EAAM,GAAGH,GAAO,WAAWC,GACzB,UAAA;AAAA,IAAAJ,uBAAQ,QAAA,EAAK,WAAWK,EAAO,KAAK,eAAY,QAAO;AAAA,IACvDP;AAAA,EAAA,GACH;AAEJ;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o="_badge_baviu_1",a="_dot_baviu_19",n="_ok_baviu_27",e="_warn_baviu_32",t="_info_baviu_37",_="_danger_baviu_42",i="_primary_baviu_47",r="_outline_baviu_52",u={badge:o,dot:a,ok:n,warn:e,info:t,danger:_,primary:i,outline:r};exports.badge=o;exports.danger=_;exports.default=u;exports.dot=a;exports.info=t;exports.ok=n;exports.outline=r;exports.primary=i;exports.warn=e;
2
+ //# sourceMappingURL=Badge.module.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Badge.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ const _ = "_badge_baviu_1", a = "_dot_baviu_19", o = "_ok_baviu_27", n = "_warn_baviu_32", t = "_info_baviu_37", i = "_danger_baviu_42", r = "_primary_baviu_47", e = "_outline_baviu_52", s = {
2
+ badge: _,
3
+ dot: a,
4
+ ok: o,
5
+ warn: n,
6
+ info: t,
7
+ danger: i,
8
+ primary: r,
9
+ outline: e
10
+ };
11
+ export {
12
+ _ as badge,
13
+ i as danger,
14
+ s as default,
15
+ a as dot,
16
+ t as info,
17
+ o as ok,
18
+ e as outline,
19
+ r as primary,
20
+ n as warn
21
+ };
22
+ //# sourceMappingURL=Badge.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Badge.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),d=require("react"),t=require("./Card.module.css.cjs"),f=d.createContext(void 0);function C(r){const a=d.useContext(f);if(!a)throw new Error(r+" deve ser usado dentro de Card.");return a}function i({"aria-labelledby":r,children:a,className:c,...u}){const s=d.useId(),[l,o]=d.useState(!1),n=s+"-title",x={registerTitle:d.useCallback(()=>(o(!0),()=>o(!1)),[]),titleId:n};return e.jsx("section",{...u,"aria-labelledby":r??(l?n:void 0),className:[t.default.card,c].filter(Boolean).join(" "),children:e.jsx(f.Provider,{value:x,children:a})})}function h({badge:r,description:a,headingLevel:c=3,title:u,trailing:s}){const{registerTitle:l,titleId:o}=C("Card.Header"),n="h"+c;return d.useEffect(l,[l]),e.jsxs("header",{className:t.default.header,children:[e.jsxs("div",{className:t.default.headline,children:[e.jsxs("div",{className:t.default.titleRow,children:[e.jsx(n,{className:t.default.title,id:o,children:u}),r]}),a&&e.jsx("p",{className:t.default.description,children:a})]}),s&&e.jsx("div",{className:t.default.trailing,children:s})]})}function j({children:r,flush:a=!1}){return e.jsx("div",{className:a?t.default.bodyFlush:t.default.body,children:r})}function m({children:r}){return e.jsx("footer",{className:t.default.footer,children:r})}i.Header=h;i.Body=j;i.Footer=m;exports.Card=i;
2
+ //# sourceMappingURL=Card.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.cjs","sources":["../../../../src/components/data-display/Card/Card.tsx"],"sourcesContent":["import {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useId,\n useState,\n type ComponentPropsWithRef,\n type ReactNode,\n} from 'react';\nimport styles from './Card.module.css';\n\nexport type CardHeadingLevel = 2 | 3 | 4 | 5 | 6;\n\nexport interface CardProps extends ComponentPropsWithRef<'section'> {\n children: ReactNode;\n}\n\ninterface CardContextValue {\n registerTitle: () => () => void;\n titleId: string;\n}\n\nconst CardContext = createContext<CardContextValue | undefined>(undefined);\n\nfunction useCardContext(part: string) {\n const context = useContext(CardContext);\n\n if (!context) {\n throw new Error(part + ' deve ser usado dentro de Card.');\n }\n\n return context;\n}\n\nexport function Card({ 'aria-labelledby': ariaLabelledBy, children, className, ...props }: CardProps) {\n const baseId = useId();\n const [titled, setTitled] = useState(false);\n const titleId = baseId + '-title';\n\n // O titulo que sai da tela desfaz o registro; senao o cartao apontava para um id que nao existe mais.\n const context: CardContextValue = {\n registerTitle: useCallback(() => {\n setTitled(true);\n return () => setTitled(false);\n }, []),\n titleId,\n };\n\n return (\n <section\n {...props}\n aria-labelledby={ariaLabelledBy ?? (titled ? titleId : undefined)}\n className={[styles.card, className].filter(Boolean).join(' ')}\n >\n <CardContext.Provider value={context}>{children}</CardContext.Provider>\n </section>\n );\n}\n\nexport interface CardHeaderProps {\n badge?: ReactNode;\n description?: ReactNode;\n headingLevel?: CardHeadingLevel;\n title: string;\n trailing?: ReactNode;\n}\n\nfunction CardHeader({ badge, description, headingLevel = 3, title, trailing }: CardHeaderProps) {\n const { registerTitle, titleId } = useCardContext('Card.Header');\n const Heading = ('h' + headingLevel) as 'h2';\n\n useEffect(registerTitle, [registerTitle]);\n\n return (\n <header className={styles.header}>\n <div className={styles.headline}>\n <div className={styles.titleRow}>\n <Heading className={styles.title} id={titleId}>\n {title}\n </Heading>\n {badge}\n </div>\n {description && <p className={styles.description}>{description}</p>}\n </div>\n {trailing && <div className={styles.trailing}>{trailing}</div>}\n </header>\n );\n}\n\nexport interface CardBodyProps {\n children: ReactNode;\n flush?: boolean;\n}\n\nfunction CardBody({ children, flush = false }: CardBodyProps) {\n return <div className={flush ? styles.bodyFlush : styles.body}>{children}</div>;\n}\n\nexport interface CardFooterProps {\n children: ReactNode;\n}\n\nfunction CardFooter({ children }: CardFooterProps) {\n return <footer className={styles.footer}>{children}</footer>;\n}\n\nCard.Header = CardHeader;\nCard.Body = CardBody;\nCard.Footer = CardFooter;\n"],"names":["CardContext","createContext","useCardContext","part","context","useContext","Card","ariaLabelledBy","children","className","props","baseId","useId","titled","setTitled","useState","titleId","useCallback","jsx","styles","CardHeader","badge","description","headingLevel","title","trailing","registerTitle","Heading","useEffect","jsxs","CardBody","flush","CardFooter"],"mappings":"2KAuBMA,EAAcC,EAAAA,cAA4C,MAAS,EAEzE,SAASC,EAAeC,EAAc,CACpC,MAAMC,EAAUC,EAAAA,WAAWL,CAAW,EAEtC,GAAI,CAACI,EACH,MAAM,IAAI,MAAMD,EAAO,iCAAiC,EAG1D,OAAOC,CACT,CAEO,SAASE,EAAK,CAAE,kBAAmBC,EAAgB,SAAAC,EAAU,UAAAC,EAAW,GAAGC,GAAoB,CACpG,MAAMC,EAASC,EAAAA,MAAA,EACT,CAACC,EAAQC,CAAS,EAAIC,EAAAA,SAAS,EAAK,EACpCC,EAAUL,EAAS,SAGnBP,EAA4B,CAChC,cAAea,EAAAA,YAAY,KACzBH,EAAU,EAAI,EACP,IAAMA,EAAU,EAAK,GAC3B,CAAA,CAAE,EACL,QAAAE,CAAA,EAGF,OACEE,EAAAA,IAAC,UAAA,CACE,GAAGR,EACJ,kBAAiBH,IAAmBM,EAASG,EAAU,QACvD,UAAW,CAACG,UAAO,KAAMV,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EAE5D,eAACT,EAAY,SAAZ,CAAqB,MAAOI,EAAU,SAAAI,CAAA,CAAS,CAAA,CAAA,CAGtD,CAUA,SAASY,EAAW,CAAE,MAAAC,EAAO,YAAAC,EAAa,aAAAC,EAAe,EAAG,MAAAC,EAAO,SAAAC,GAA6B,CAC9F,KAAM,CAAE,cAAAC,EAAe,QAAAV,GAAYd,EAAe,aAAa,EACzDyB,EAAW,IAAMJ,EAEvBK,OAAAA,YAAUF,EAAe,CAACA,CAAa,CAAC,EAGtCG,EAAAA,KAAC,SAAA,CAAO,UAAWV,EAAAA,QAAO,OACxB,SAAA,CAAAU,EAAAA,KAAC,MAAA,CAAI,UAAWV,EAAAA,QAAO,SACrB,SAAA,CAAAU,EAAAA,KAAC,MAAA,CAAI,UAAWV,EAAAA,QAAO,SACrB,SAAA,CAAAD,MAACS,GAAQ,UAAWR,EAAAA,QAAO,MAAO,GAAIH,EACnC,SAAAQ,EACH,EACCH,CAAA,EACH,EACCC,GAAeJ,EAAAA,IAAC,IAAA,CAAE,UAAWC,EAAAA,QAAO,YAAc,SAAAG,CAAA,CAAY,CAAA,EACjE,EACCG,GAAYP,EAAAA,IAAC,MAAA,CAAI,UAAWC,EAAAA,QAAO,SAAW,SAAAM,CAAA,CAAS,CAAA,EAC1D,CAEJ,CAOA,SAASK,EAAS,CAAE,SAAAtB,EAAU,MAAAuB,EAAQ,IAAwB,CAC5D,OAAOb,MAAC,OAAI,UAAWa,EAAQZ,UAAO,UAAYA,EAAAA,QAAO,KAAO,SAAAX,EAAS,CAC3E,CAMA,SAASwB,EAAW,CAAE,SAAAxB,GAA6B,CACjD,OAAOU,EAAAA,IAAC,SAAA,CAAO,UAAWC,EAAAA,QAAO,OAAS,SAAAX,EAAS,CACrD,CAEAF,EAAK,OAASc,EACdd,EAAK,KAAOwB,EACZxB,EAAK,OAAS0B"}
@@ -0,0 +1,51 @@
1
+ import { jsx as a, jsxs as c } from "react/jsx-runtime";
2
+ import { useId as h, useState as C, useCallback as v, createContext as x, useEffect as N, useContext as b } from "react";
3
+ import e from "./Card.module.css.js";
4
+ const f = x(void 0);
5
+ function y(t) {
6
+ const r = b(f);
7
+ if (!r)
8
+ throw new Error(t + " deve ser usado dentro de Card.");
9
+ return r;
10
+ }
11
+ function u({ "aria-labelledby": t, children: r, className: i, ...l }) {
12
+ const o = h(), [s, d] = C(!1), n = o + "-title", m = {
13
+ registerTitle: v(() => (d(!0), () => d(!1)), []),
14
+ titleId: n
15
+ };
16
+ return /* @__PURE__ */ a(
17
+ "section",
18
+ {
19
+ ...l,
20
+ "aria-labelledby": t ?? (s ? n : void 0),
21
+ className: [e.card, i].filter(Boolean).join(" "),
22
+ children: /* @__PURE__ */ a(f.Provider, { value: m, children: r })
23
+ }
24
+ );
25
+ }
26
+ function p({ badge: t, description: r, headingLevel: i = 3, title: l, trailing: o }) {
27
+ const { registerTitle: s, titleId: d } = y("Card.Header"), n = "h" + i;
28
+ return N(s, [s]), /* @__PURE__ */ c("header", { className: e.header, children: [
29
+ /* @__PURE__ */ c("div", { className: e.headline, children: [
30
+ /* @__PURE__ */ c("div", { className: e.titleRow, children: [
31
+ /* @__PURE__ */ a(n, { className: e.title, id: d, children: l }),
32
+ t
33
+ ] }),
34
+ r && /* @__PURE__ */ a("p", { className: e.description, children: r })
35
+ ] }),
36
+ o && /* @__PURE__ */ a("div", { className: e.trailing, children: o })
37
+ ] });
38
+ }
39
+ function H({ children: t, flush: r = !1 }) {
40
+ return /* @__PURE__ */ a("div", { className: r ? e.bodyFlush : e.body, children: t });
41
+ }
42
+ function I({ children: t }) {
43
+ return /* @__PURE__ */ a("footer", { className: e.footer, children: t });
44
+ }
45
+ u.Header = p;
46
+ u.Body = H;
47
+ u.Footer = I;
48
+ export {
49
+ u as Card
50
+ };
51
+ //# sourceMappingURL=Card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.js","sources":["../../../../src/components/data-display/Card/Card.tsx"],"sourcesContent":["import {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useId,\n useState,\n type ComponentPropsWithRef,\n type ReactNode,\n} from 'react';\nimport styles from './Card.module.css';\n\nexport type CardHeadingLevel = 2 | 3 | 4 | 5 | 6;\n\nexport interface CardProps extends ComponentPropsWithRef<'section'> {\n children: ReactNode;\n}\n\ninterface CardContextValue {\n registerTitle: () => () => void;\n titleId: string;\n}\n\nconst CardContext = createContext<CardContextValue | undefined>(undefined);\n\nfunction useCardContext(part: string) {\n const context = useContext(CardContext);\n\n if (!context) {\n throw new Error(part + ' deve ser usado dentro de Card.');\n }\n\n return context;\n}\n\nexport function Card({ 'aria-labelledby': ariaLabelledBy, children, className, ...props }: CardProps) {\n const baseId = useId();\n const [titled, setTitled] = useState(false);\n const titleId = baseId + '-title';\n\n // O titulo que sai da tela desfaz o registro; senao o cartao apontava para um id que nao existe mais.\n const context: CardContextValue = {\n registerTitle: useCallback(() => {\n setTitled(true);\n return () => setTitled(false);\n }, []),\n titleId,\n };\n\n return (\n <section\n {...props}\n aria-labelledby={ariaLabelledBy ?? (titled ? titleId : undefined)}\n className={[styles.card, className].filter(Boolean).join(' ')}\n >\n <CardContext.Provider value={context}>{children}</CardContext.Provider>\n </section>\n );\n}\n\nexport interface CardHeaderProps {\n badge?: ReactNode;\n description?: ReactNode;\n headingLevel?: CardHeadingLevel;\n title: string;\n trailing?: ReactNode;\n}\n\nfunction CardHeader({ badge, description, headingLevel = 3, title, trailing }: CardHeaderProps) {\n const { registerTitle, titleId } = useCardContext('Card.Header');\n const Heading = ('h' + headingLevel) as 'h2';\n\n useEffect(registerTitle, [registerTitle]);\n\n return (\n <header className={styles.header}>\n <div className={styles.headline}>\n <div className={styles.titleRow}>\n <Heading className={styles.title} id={titleId}>\n {title}\n </Heading>\n {badge}\n </div>\n {description && <p className={styles.description}>{description}</p>}\n </div>\n {trailing && <div className={styles.trailing}>{trailing}</div>}\n </header>\n );\n}\n\nexport interface CardBodyProps {\n children: ReactNode;\n flush?: boolean;\n}\n\nfunction CardBody({ children, flush = false }: CardBodyProps) {\n return <div className={flush ? styles.bodyFlush : styles.body}>{children}</div>;\n}\n\nexport interface CardFooterProps {\n children: ReactNode;\n}\n\nfunction CardFooter({ children }: CardFooterProps) {\n return <footer className={styles.footer}>{children}</footer>;\n}\n\nCard.Header = CardHeader;\nCard.Body = CardBody;\nCard.Footer = CardFooter;\n"],"names":["CardContext","createContext","useCardContext","part","context","useContext","Card","ariaLabelledBy","children","className","props","baseId","useId","titled","setTitled","useState","titleId","useCallback","jsx","styles","CardHeader","badge","description","headingLevel","title","trailing","registerTitle","Heading","useEffect","jsxs","CardBody","flush","CardFooter"],"mappings":";;;AAuBA,MAAMA,IAAcC,EAA4C,MAAS;AAEzE,SAASC,EAAeC,GAAc;AACpC,QAAMC,IAAUC,EAAWL,CAAW;AAEtC,MAAI,CAACI;AACH,UAAM,IAAI,MAAMD,IAAO,iCAAiC;AAG1D,SAAOC;AACT;AAEO,SAASE,EAAK,EAAE,mBAAmBC,GAAgB,UAAAC,GAAU,WAAAC,GAAW,GAAGC,KAAoB;AACpG,QAAMC,IAASC,EAAA,GACT,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK,GACpCC,IAAUL,IAAS,UAGnBP,IAA4B;AAAA,IAChC,eAAea,EAAY,OACzBH,EAAU,EAAI,GACP,MAAMA,EAAU,EAAK,IAC3B,CAAA,CAAE;AAAA,IACL,SAAAE;AAAA,EAAA;AAGF,SACE,gBAAAE;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAGR;AAAA,MACJ,mBAAiBH,MAAmBM,IAASG,IAAU;AAAA,MACvD,WAAW,CAACG,EAAO,MAAMV,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,MAE5D,4BAACT,EAAY,UAAZ,EAAqB,OAAOI,GAAU,UAAAI,EAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAGtD;AAUA,SAASY,EAAW,EAAE,OAAAC,GAAO,aAAAC,GAAa,cAAAC,IAAe,GAAG,OAAAC,GAAO,UAAAC,KAA6B;AAC9F,QAAM,EAAE,eAAAC,GAAe,SAAAV,MAAYd,EAAe,aAAa,GACzDyB,IAAW,MAAMJ;AAEvB,SAAAK,EAAUF,GAAe,CAACA,CAAa,CAAC,GAGtC,gBAAAG,EAAC,UAAA,EAAO,WAAWV,EAAO,QACxB,UAAA;AAAA,IAAA,gBAAAU,EAAC,OAAA,EAAI,WAAWV,EAAO,UACrB,UAAA;AAAA,MAAA,gBAAAU,EAAC,OAAA,EAAI,WAAWV,EAAO,UACrB,UAAA;AAAA,QAAA,gBAAAD,EAACS,KAAQ,WAAWR,EAAO,OAAO,IAAIH,GACnC,UAAAQ,GACH;AAAA,QACCH;AAAA,MAAA,GACH;AAAA,MACCC,KAAe,gBAAAJ,EAAC,KAAA,EAAE,WAAWC,EAAO,aAAc,UAAAG,EAAA,CAAY;AAAA,IAAA,GACjE;AAAA,IACCG,KAAY,gBAAAP,EAAC,OAAA,EAAI,WAAWC,EAAO,UAAW,UAAAM,EAAA,CAAS;AAAA,EAAA,GAC1D;AAEJ;AAOA,SAASK,EAAS,EAAE,UAAAtB,GAAU,OAAAuB,IAAQ,MAAwB;AAC5D,SAAO,gBAAAb,EAAC,SAAI,WAAWa,IAAQZ,EAAO,YAAYA,EAAO,MAAO,UAAAX,GAAS;AAC3E;AAMA,SAASwB,EAAW,EAAE,UAAAxB,KAA6B;AACjD,SAAO,gBAAAU,EAAC,UAAA,EAAO,WAAWC,EAAO,QAAS,UAAAX,GAAS;AACrD;AAEAF,EAAK,SAASc;AACdd,EAAK,OAAOwB;AACZxB,EAAK,SAAS0B;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o="_card_1rokj_1",t="_header_1rokj_15",e="_headline_1rokj_23",r="_titleRow_1rokj_30",i="_title_1rokj_30",_="_description_1rokj_45",d="_trailing_1rokj_53",l="_body_1rokj_60",n="_bodyFlush_1rokj_64",s="_footer_1rokj_68",c={card:o,header:t,headline:e,titleRow:r,title:i,description:_,trailing:d,body:l,bodyFlush:n,footer:s};exports.body=l;exports.bodyFlush=n;exports.card=o;exports.default=c;exports.description=_;exports.footer=s;exports.header=t;exports.headline=e;exports.title=i;exports.titleRow=r;exports.trailing=d;
2
+ //# sourceMappingURL=Card.module.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ const o = "_card_1rokj_1", t = "_header_1rokj_15", _ = "_headline_1rokj_23", e = "_titleRow_1rokj_30", r = "_title_1rokj_30", i = "_description_1rokj_45", n = "_trailing_1rokj_53", s = "_body_1rokj_60", d = "_bodyFlush_1rokj_64", c = "_footer_1rokj_68", l = {
2
+ card: o,
3
+ header: t,
4
+ headline: _,
5
+ titleRow: e,
6
+ title: r,
7
+ description: i,
8
+ trailing: n,
9
+ body: s,
10
+ bodyFlush: d,
11
+ footer: c
12
+ };
13
+ export {
14
+ s as body,
15
+ d as bodyFlush,
16
+ o as card,
17
+ l as default,
18
+ i as description,
19
+ c as footer,
20
+ t as header,
21
+ _ as headline,
22
+ r as title,
23
+ e as titleRow,
24
+ n as trailing
25
+ };
26
+ //# sourceMappingURL=Card.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),m=require("react"),e=require("./CodeBlock.module.css.cjs"),h=require("./syntax.cjs"),b=require("../../actions/Button/Button.cjs"),k=2e3;function q({className:j,code:r,copyable:c=!0,fileName:n,highlightedLines:p=[],language:x,lineNumbers:B=!1,syntax:o,wrap:d=!1,...N}){const[t,u]=m.useState(!1);m.useEffect(()=>{if(!t)return;const a=setTimeout(()=>u(!1),k);return()=>clearTimeout(a)},[t]);const C=new Set(p),i=x??(o&&h.SYNTAX_LABELS[o]),g=!!(n||i)||c;return s.jsxs("div",{...N,className:[e.default.codeBlock,j].filter(Boolean).join(" "),children:[g&&s.jsxs("div",{className:e.default.header,children:[s.jsxs("span",{className:e.default.meta,children:[n&&s.jsx("span",{className:e.default.fileName,children:n}),i&&s.jsx("span",{className:e.default.language,children:i})]}),c&&s.jsx(b.Button,{onClick:()=>{var a;return void((a=navigator.clipboard)==null?void 0:a.writeText(r).then(()=>u(!0)))},size:"sm",variant:"ghost",children:t?"Copiado":"Copiar"}),s.jsx("span",{className:e.default.status,role:"status",children:t?"Código copiado":""})]}),s.jsx("pre",{className:[e.default.body,d&&e.default.wrap,B&&e.default.numbered].filter(Boolean).join(" "),tabIndex:d?void 0:0,children:s.jsx("code",{className:e.default.code,children:h.tokenizeLines(r,o).map((a,f)=>{const v=C.has(f+1)?"mark":"span";return s.jsx(v,{className:e.default.line,children:s.jsx("span",{className:e.default.content,children:a.map((l,S)=>l.kind?s.jsx("span",{className:e.default[l.kind],children:l.text},S):l.text)})},f)})})})]})}exports.CodeBlock=q;
2
+ //# sourceMappingURL=CodeBlock.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeBlock.cjs","sources":["../../../../src/components/data-display/CodeBlock/CodeBlock.tsx"],"sourcesContent":["import { useEffect, useState, type ComponentPropsWithRef } from 'react';\nimport { Button } from '../../actions/Button';\nimport styles from './CodeBlock.module.css';\nimport { SYNTAX_LABELS, tokenizeLines, type CodeSyntax } from './syntax';\n\nconst COPY_FEEDBACK_MS = 2000;\n\nexport interface CodeBlockProps extends Omit<ComponentPropsWithRef<'div'>, 'children'> {\n code: string;\n copyable?: boolean;\n fileName?: string;\n /** Linhas destacadas, contadas a partir de 1. */\n highlightedLines?: readonly number[];\n /** Rotulo do cabecalho. Sem ele, vale o nome da sintaxe. */\n language?: string;\n lineNumbers?: boolean;\n /** Linguagem do realce de cores. Sem ela, o codigo sai numa cor so. */\n syntax?: CodeSyntax;\n wrap?: boolean;\n}\n\nexport function CodeBlock({\n className,\n code,\n copyable = true,\n fileName,\n highlightedLines = [],\n language,\n lineNumbers = false,\n syntax,\n wrap = false,\n ...props\n}: CodeBlockProps) {\n const [copied, setCopied] = useState(false);\n\n useEffect(() => {\n if (!copied) {\n return;\n }\n\n const timer = setTimeout(() => setCopied(false), COPY_FEEDBACK_MS);\n\n return () => clearTimeout(timer);\n }, [copied]);\n\n const highlighted = new Set(highlightedLines);\n const label = language ?? (syntax && SYNTAX_LABELS[syntax]);\n const hasHeader = Boolean(fileName || label) || copyable;\n\n return (\n <div {...props} className={[styles.codeBlock, className].filter(Boolean).join(' ')}>\n {hasHeader && (\n <div className={styles.header}>\n <span className={styles.meta}>\n {fileName && <span className={styles.fileName}>{fileName}</span>}\n {label && <span className={styles.language}>{label}</span>}\n </span>\n {copyable && (\n <Button\n onClick={() => void navigator.clipboard?.writeText(code).then(() => setCopied(true))}\n size=\"sm\"\n variant=\"ghost\"\n >\n {copied ? 'Copiado' : 'Copiar'}\n </Button>\n )}\n <span className={styles.status} role=\"status\">\n {copied ? 'Código copiado' : ''}\n </span>\n </div>\n )}\n {/* Sem quebra, a linha longa rola de lado, e quem usa teclado so a alcanca se o bloco receber foco. */}\n <pre\n className={[styles.body, wrap && styles.wrap, lineNumbers && styles.numbered].filter(Boolean).join(' ')}\n tabIndex={wrap ? undefined : 0}\n >\n <code className={styles.code}>\n {tokenizeLines(code, syntax).map((tokens, index) => {\n const Line = highlighted.has(index + 1) ? 'mark' : 'span';\n\n return (\n <Line className={styles.line} key={index}>\n <span className={styles.content}>\n {tokens.map((token, position) =>\n token.kind ? (\n <span className={styles[token.kind]} key={position}>\n {token.text}\n </span>\n ) : (\n token.text\n ),\n )}\n </span>\n </Line>\n );\n })}\n </code>\n </pre>\n </div>\n );\n}\n"],"names":["COPY_FEEDBACK_MS","CodeBlock","className","code","copyable","fileName","highlightedLines","language","lineNumbers","syntax","wrap","props","copied","setCopied","useState","useEffect","timer","highlighted","label","SYNTAX_LABELS","hasHeader","jsxs","styles","jsx","Button","_a","tokenizeLines","tokens","index","Line","token","position"],"mappings":"uPAKMA,EAAmB,IAgBlB,SAASC,EAAU,CACxB,UAAAC,EACA,KAAAC,EACA,SAAAC,EAAW,GACX,SAAAC,EACA,iBAAAC,EAAmB,CAAA,EACnB,SAAAC,EACA,YAAAC,EAAc,GAAA,OACdC,EACA,KAAAC,EAAO,GACP,GAAGC,CACL,EAAmB,CACjB,KAAM,CAACC,EAAQC,CAAS,EAAIC,EAAAA,SAAS,EAAK,EAE1CC,EAAAA,UAAU,IAAM,CACd,GAAI,CAACH,EACH,OAGF,MAAMI,EAAQ,WAAW,IAAMH,EAAU,EAAK,EAAGb,CAAgB,EAEjE,MAAO,IAAM,aAAagB,CAAK,CACjC,EAAG,CAACJ,CAAM,CAAC,EAEX,MAAMK,EAAc,IAAI,IAAIX,CAAgB,EACtCY,EAAQX,IAAaE,GAAUU,EAAAA,cAAcV,CAAM,GACnDW,EAAY,GAAQf,GAAYa,IAAUd,EAEhD,OACEiB,EAAAA,KAAC,MAAA,CAAK,GAAGV,EAAO,UAAW,CAACW,UAAO,UAAWpB,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EAC9E,SAAA,CAAAkB,GACCC,EAAAA,KAAC,MAAA,CAAI,UAAWC,EAAAA,QAAO,OACrB,SAAA,CAAAD,EAAAA,KAAC,OAAA,CAAK,UAAWC,EAAAA,QAAO,KACrB,SAAA,CAAAjB,GAAYkB,EAAAA,IAAC,OAAA,CAAK,UAAWD,EAAAA,QAAO,SAAW,SAAAjB,EAAS,EACxDa,GAASK,EAAAA,IAAC,OAAA,CAAK,UAAWD,EAAAA,QAAO,SAAW,SAAAJ,CAAA,CAAM,CAAA,EACrD,EACCd,GACCmB,EAAAA,IAACC,EAAAA,OAAA,CACC,QAAS,IAAA,OAAM,aAAKC,EAAA,UAAU,YAAV,YAAAA,EAAqB,UAAUtB,GAAM,KAAK,IAAMU,EAAU,EAAI,KAClF,KAAK,KACL,QAAQ,QAEP,WAAS,UAAY,QAAA,CAAA,EAG1BU,EAAAA,IAAC,QAAK,UAAWD,EAAAA,QAAO,OAAQ,KAAK,SAClC,SAAAV,EAAS,iBAAmB,EAAA,CAC/B,CAAA,EACF,EAGFW,EAAAA,IAAC,MAAA,CACC,UAAW,CAACD,EAAAA,QAAO,KAAMZ,GAAQY,EAAAA,QAAO,KAAMd,GAAec,EAAAA,QAAO,QAAQ,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EACtG,SAAUZ,EAAO,OAAY,EAE7B,SAAAa,EAAAA,IAAC,OAAA,CAAK,UAAWD,EAAAA,QAAO,KACrB,SAAAI,EAAAA,cAAcvB,EAAMM,CAAM,EAAE,IAAI,CAACkB,EAAQC,IAAU,CAClD,MAAMC,EAAOZ,EAAY,IAAIW,EAAQ,CAAC,EAAI,OAAS,OAEnD,OACEL,EAAAA,IAACM,EAAA,CAAK,UAAWP,EAAAA,QAAO,KACtB,eAAC,OAAA,CAAK,UAAWA,EAAAA,QAAO,QACrB,SAAAK,EAAO,IAAI,CAACG,EAAOC,IAClBD,EAAM,WACH,OAAA,CAAK,UAAWR,EAAAA,QAAOQ,EAAM,IAAI,EAC/B,SAAAA,EAAM,MADiCC,CAE1C,EAEAD,EAAM,IAAA,CAEV,CACF,GAXiCF,CAYnC,CAEJ,CAAC,CAAA,CACH,CAAA,CAAA,CACF,EACF,CAEJ"}