@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 @@
1
+ {"version":3,"file":"Breadcrumb.js","sources":["../../../../src/components/navigation/Breadcrumb/Breadcrumb.tsx"],"sourcesContent":["import type { ComponentPropsWithRef, ElementType } from 'react';\nimport styles from './Breadcrumb.module.css';\nimport { IconChevronRight } from '../../icons';\n\nexport interface BreadcrumbItem {\n href?: string;\n label: string;\n /**\n * Propriedades entregues inteiras ao componente de link. Serve ao roteador\n * que nao usa `href` — o do React Router pede `to`.\n */\n linkProps?: Record<string, unknown>;\n}\n\nexport interface BreadcrumbProps extends ComponentPropsWithRef<'nav'> {\n /** Componente de link da aplicacao, para nao acoplar o sistema a um roteador. */\n as?: ElementType;\n items: readonly BreadcrumbItem[];\n label?: string;\n}\n\nexport function Breadcrumb({\n as: Link = 'a',\n className,\n items,\n label = 'Trilha de navegação',\n ...props\n}: BreadcrumbProps) {\n return (\n <nav {...props} aria-label={label} className={className}>\n <ol className={styles.list}>\n {items.map((item, index) => {\n const atual = index === items.length - 1;\n\n return (\n <li className={styles.item} key={`${item.label}-${index}`}>\n {atual || (item.href === undefined && item.linkProps === undefined) ? (\n <span className={styles.current} aria-current={atual ? 'page' : undefined}>\n {item.label}\n </span>\n ) : (\n <Link className={styles.link} href={item.href} {...item.linkProps}>\n {item.label}\n </Link>\n )}\n {!atual && (\n <IconChevronRight className={styles.separator} size={12} />\n )}\n </li>\n );\n })}\n </ol>\n </nav>\n );\n}\n"],"names":["Breadcrumb","Link","className","items","label","props","jsx","styles","item","index","atual","jsxs","IconChevronRight"],"mappings":";;;AAqBO,SAASA,EAAW;AAAA,EACzB,IAAIC,IAAO;AAAA,EACX,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,GAAGC;AACL,GAAoB;AAClB,2BACG,OAAA,EAAK,GAAGA,GAAO,cAAYD,GAAO,WAAAF,GACjC,UAAA,gBAAAI,EAAC,MAAA,EAAG,WAAWC,EAAO,MACnB,UAAAJ,EAAM,IAAI,CAACK,GAAMC,MAAU;AAC1B,UAAMC,IAAQD,MAAUN,EAAM,SAAS;AAEvC,WACE,gBAAAQ,EAAC,MAAA,EAAG,WAAWJ,EAAO,MACnB,UAAA;AAAA,MAAAG,KAAUF,EAAK,SAAS,UAAaA,EAAK,cAAc,SACvD,gBAAAF,EAAC,QAAA,EAAK,WAAWC,EAAO,SAAS,gBAAcG,IAAQ,SAAS,QAC7D,UAAAF,EAAK,MAAA,CACR,IAEA,gBAAAF,EAACL,GAAA,EAAK,WAAWM,EAAO,MAAM,MAAMC,EAAK,MAAO,GAAGA,EAAK,WACrD,YAAK,OACR;AAAA,MAED,CAACE,KACA,gBAAAJ,EAACM,GAAA,EAAiB,WAAWL,EAAO,WAAW,MAAM,GAAA,CAAI;AAAA,IAAA,EAAA,GAX5B,GAAGC,EAAK,KAAK,IAAIC,CAAK,EAavD;AAAA,EAEJ,CAAC,GACH,GACF;AAEJ;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t="_list_ukjuq_1",e="_item_ukjuq_11",r="_link_ukjuq_20",u="_current_ukjuq_38",s="_separator_ukjuq_44",_={list:t,item:e,link:r,current:u,separator:s};exports.current=u;exports.default=_;exports.item=e;exports.link=r;exports.list=t;exports.separator=s;
2
+ //# sourceMappingURL=Breadcrumb.module.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Breadcrumb.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ const t = "_list_ukjuq_1", s = "_item_ukjuq_11", _ = "_link_ukjuq_20", u = "_current_ukjuq_38", r = "_separator_ukjuq_44", e = {
2
+ list: t,
3
+ item: s,
4
+ link: _,
5
+ current: u,
6
+ separator: r
7
+ };
8
+ export {
9
+ u as current,
10
+ e as default,
11
+ s as item,
12
+ _ as link,
13
+ t as list,
14
+ r as separator
15
+ };
16
+ //# sourceMappingURL=Breadcrumb.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Breadcrumb.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"),l=require("./Pagination.module.css.cjs"),m=require("../../icons/icons.cjs");function j({className:c,disabled:i=!1,label:r="Paginação",onPageChange:o,page:s,pageCount:t,siblings:u=1,...d}){if(t<=1)return null;const a=Math.min(Math.max(s,1),t),g=x(a,t,u);function f(n){i||o(n)}return e.jsxs("nav",{...d,"aria-label":r,className:[l.default.pagination,c].filter(Boolean).join(" "),children:[e.jsx("button",{className:l.default.step,type:"button","aria-label":"Página anterior","aria-disabled":i||a===1||void 0,onClick:()=>a>1&&f(a-1),children:e.jsx(m.IconChevronLeft,{size:14})}),e.jsx("ol",{className:l.default.list,children:g.map((n,h)=>n===null?e.jsx("li",{className:l.default.gap,"aria-hidden":"true",children:"…"},`gap-${h}`):e.jsx("li",{children:e.jsx("button",{className:[l.default.page,n===a&&l.default.current].filter(Boolean).join(" "),type:"button","aria-label":`Página ${n}`,"aria-current":n===a?"page":void 0,"aria-disabled":i||void 0,onClick:()=>f(n),children:n})},n))}),e.jsx("button",{className:l.default.step,type:"button","aria-label":"Próxima página","aria-disabled":i||a===t||void 0,onClick:()=>a<t&&f(a+1),children:e.jsx(m.IconChevronRight,{size:14})})]})}function x(c,i,r){const o=r*2+5;if(i<=o)return Array.from({length:i},(d,a)=>a+1);const s=Math.max(Math.min(c-r,i-r*2-2),3),t=Math.min(Math.max(c+r,r*2+3),i-2),u=Array.from({length:t-s+1},(d,a)=>s+a);return[1,s>3?null:2,...u,t<i-2?null:i-1,i]}exports.Pagination=j;exports.montarFaixa=x;
2
+ //# sourceMappingURL=Pagination.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pagination.cjs","sources":["../../../../src/components/navigation/Pagination/Pagination.tsx"],"sourcesContent":["import { type ComponentPropsWithRef } from 'react';\nimport styles from './Pagination.module.css';\nimport { IconChevronLeft, IconChevronRight } from '../../icons';\n\nexport interface PaginationProps extends ComponentPropsWithRef<'nav'> {\n /** Suspende a troca de pagina, como enquanto a pagina pedida carrega. Os botoes continuam focaveis. */\n disabled?: boolean;\n label?: string;\n onPageChange: (page: number) => void;\n page: number;\n pageCount: number;\n /** Quantidade de paginas mostradas de cada lado da atual. */\n siblings?: number;\n}\n\nexport function Pagination({\n className,\n disabled = false,\n label = 'Paginação',\n onPageChange,\n page,\n pageCount,\n siblings = 1,\n ...props\n}: PaginationProps) {\n if (pageCount <= 1) {\n return null;\n }\n\n const atual = Math.min(Math.max(page, 1), pageCount);\n const paginas = montarFaixa(atual, pageCount, siblings);\n\n function irPara(pagina: number) {\n if (!disabled) {\n onPageChange(pagina);\n }\n }\n\n return (\n <nav {...props} aria-label={label} className={[styles.pagination, className].filter(Boolean).join(' ')}>\n {/* `aria-disabled`, e nao `disabled`: desabilitado na borda, o botao perdia o foco de quem acabou de usa-lo. */}\n <button\n className={styles.step}\n type=\"button\"\n aria-label=\"Página anterior\"\n aria-disabled={disabled || atual === 1 || undefined}\n onClick={() => atual > 1 && irPara(atual - 1)}\n >\n <IconChevronLeft size={14} />\n </button>\n <ol className={styles.list}>\n {paginas.map((numero, indice) =>\n numero === null ? (\n <li className={styles.gap} key={`gap-${indice}`} aria-hidden=\"true\">\n &hellip;\n </li>\n ) : (\n <li key={numero}>\n <button\n className={[styles.page, numero === atual && styles.current].filter(Boolean).join(' ')}\n type=\"button\"\n aria-label={`Página ${numero}`}\n aria-current={numero === atual ? 'page' : undefined}\n aria-disabled={disabled || undefined}\n onClick={() => irPara(numero)}\n >\n {numero}\n </button>\n </li>\n ),\n )}\n </ol>\n <button\n className={styles.step}\n type=\"button\"\n aria-label=\"Próxima página\"\n aria-disabled={disabled || atual === pageCount || undefined}\n onClick={() => atual < pageCount && irPara(atual + 1)}\n >\n <IconChevronRight size={14} />\n </button>\n </nav>\n );\n}\n\n/**\n * Primeira e ultima pagina sempre visiveis; null representa a reticencia. A faixa tem sempre as mesmas vagas: perto\n * da ponta a janela encosta nela em vez de encolher, e reticencia nunca esconde uma pagina so.\n */\nexport function montarFaixa(atual: number, total: number, vizinhos: number): (number | null)[] {\n const vagas = vizinhos * 2 + 5;\n\n if (total <= vagas) {\n return Array.from({ length: total }, (_, indice) => indice + 1);\n }\n\n const inicio = Math.max(Math.min(atual - vizinhos, total - vizinhos * 2 - 2), 3);\n const fim = Math.min(Math.max(atual + vizinhos, vizinhos * 2 + 3), total - 2);\n const janela = Array.from({ length: fim - inicio + 1 }, (_, indice) => inicio + indice);\n\n return [1, inicio > 3 ? null : 2, ...janela, fim < total - 2 ? null : total - 1, total];\n}\n"],"names":["Pagination","className","disabled","label","onPageChange","page","pageCount","siblings","props","atual","paginas","montarFaixa","irPara","pagina","styles","jsx","IconChevronLeft","numero","indice","IconChevronRight","total","vizinhos","vagas","_","inicio","fim","janela"],"mappings":"iMAeO,SAASA,EAAW,CACzB,UAAAC,EACA,SAAAC,EAAW,GACX,MAAAC,EAAQ,YACR,aAAAC,EACA,KAAAC,EACA,UAAAC,EACA,SAAAC,EAAW,EACX,GAAGC,CACL,EAAoB,CAClB,GAAIF,GAAa,EACf,OAAO,KAGT,MAAMG,EAAQ,KAAK,IAAI,KAAK,IAAIJ,EAAM,CAAC,EAAGC,CAAS,EAC7CI,EAAUC,EAAYF,EAAOH,EAAWC,CAAQ,EAEtD,SAASK,EAAOC,EAAgB,CACzBX,GACHE,EAAaS,CAAM,CAEvB,CAEA,cACG,MAAA,CAAK,GAAGL,EAAO,aAAYL,EAAO,UAAW,CAACW,EAAAA,QAAO,WAAYb,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EAEnG,SAAA,CAAAc,EAAAA,IAAC,SAAA,CACC,UAAWD,EAAAA,QAAO,KAClB,KAAK,SACL,aAAW,kBACX,gBAAeZ,GAAYO,IAAU,GAAK,OAC1C,QAAS,IAAMA,EAAQ,GAAKG,EAAOH,EAAQ,CAAC,EAE5C,SAAAM,EAAAA,IAACC,EAAAA,gBAAA,CAAgB,KAAM,EAAA,CAAI,CAAA,CAAA,EAE7BD,EAAAA,IAAC,KAAA,CAAG,UAAWD,EAAAA,QAAO,KACnB,SAAAJ,EAAQ,IAAI,CAACO,EAAQC,IACpBD,IAAW,KACTF,EAAAA,IAAC,MAAG,UAAWD,UAAO,IAA2B,cAAY,OAAO,SAAA,GAAA,EAApC,OAAOI,CAAM,EAE7C,QAEC,KAAA,CACC,SAAAH,EAAAA,IAAC,SAAA,CACC,UAAW,CAACD,EAAAA,QAAO,KAAMG,IAAWR,GAASK,EAAAA,QAAO,OAAO,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EACrF,KAAK,SACL,aAAY,UAAUG,CAAM,GAC5B,eAAcA,IAAWR,EAAQ,OAAS,OAC1C,gBAAeP,GAAY,OAC3B,QAAS,IAAMU,EAAOK,CAAM,EAE3B,SAAAA,CAAA,CAAA,GATIA,CAWT,CAAA,EAGN,EACAF,EAAAA,IAAC,SAAA,CACC,UAAWD,EAAAA,QAAO,KAClB,KAAK,SACL,aAAW,iBACX,gBAAeZ,GAAYO,IAAUH,GAAa,OAClD,QAAS,IAAMG,EAAQH,GAAaM,EAAOH,EAAQ,CAAC,EAEpD,SAAAM,EAAAA,IAACI,EAAAA,iBAAA,CAAiB,KAAM,EAAA,CAAI,CAAA,CAAA,CAC9B,EACF,CAEJ,CAMO,SAASR,EAAYF,EAAeW,EAAeC,EAAqC,CAC7F,MAAMC,EAAQD,EAAW,EAAI,EAE7B,GAAID,GAASE,EACX,OAAO,MAAM,KAAK,CAAE,OAAQF,GAAS,CAACG,EAAGL,IAAWA,EAAS,CAAC,EAGhE,MAAMM,EAAS,KAAK,IAAI,KAAK,IAAIf,EAAQY,EAAUD,EAAQC,EAAW,EAAI,CAAC,EAAG,CAAC,EACzEI,EAAM,KAAK,IAAI,KAAK,IAAIhB,EAAQY,EAAUA,EAAW,EAAI,CAAC,EAAGD,EAAQ,CAAC,EACtEM,EAAS,MAAM,KAAK,CAAE,OAAQD,EAAMD,EAAS,CAAA,EAAK,CAACD,EAAGL,IAAWM,EAASN,CAAM,EAEtF,MAAO,CAAC,EAAGM,EAAS,EAAI,KAAO,EAAG,GAAGE,EAAQD,EAAML,EAAQ,EAAI,KAAOA,EAAQ,EAAGA,CAAK,CACxF"}
@@ -0,0 +1,70 @@
1
+ import { jsxs as g, jsx as l } from "react/jsx-runtime";
2
+ import e from "./Pagination.module.css.js";
3
+ import { IconChevronLeft as b, IconChevronRight as u } from "../../icons/icons.js";
4
+ function P({
5
+ className: o,
6
+ disabled: i = !1,
7
+ label: t = "Paginação",
8
+ onPageChange: s,
9
+ page: c,
10
+ pageCount: r,
11
+ siblings: m = 1,
12
+ ...f
13
+ }) {
14
+ if (r <= 1)
15
+ return null;
16
+ const a = Math.min(Math.max(c, 1), r), d = x(a, r, m);
17
+ function h(n) {
18
+ i || s(n);
19
+ }
20
+ return /* @__PURE__ */ g("nav", { ...f, "aria-label": t, className: [e.pagination, o].filter(Boolean).join(" "), children: [
21
+ /* @__PURE__ */ l(
22
+ "button",
23
+ {
24
+ className: e.step,
25
+ type: "button",
26
+ "aria-label": "Página anterior",
27
+ "aria-disabled": i || a === 1 || void 0,
28
+ onClick: () => a > 1 && h(a - 1),
29
+ children: /* @__PURE__ */ l(b, { size: 14 })
30
+ }
31
+ ),
32
+ /* @__PURE__ */ l("ol", { className: e.list, children: d.map(
33
+ (n, p) => n === null ? /* @__PURE__ */ l("li", { className: e.gap, "aria-hidden": "true", children: "…" }, `gap-${p}`) : /* @__PURE__ */ l("li", { children: /* @__PURE__ */ l(
34
+ "button",
35
+ {
36
+ className: [e.page, n === a && e.current].filter(Boolean).join(" "),
37
+ type: "button",
38
+ "aria-label": `Página ${n}`,
39
+ "aria-current": n === a ? "page" : void 0,
40
+ "aria-disabled": i || void 0,
41
+ onClick: () => h(n),
42
+ children: n
43
+ }
44
+ ) }, n)
45
+ ) }),
46
+ /* @__PURE__ */ l(
47
+ "button",
48
+ {
49
+ className: e.step,
50
+ type: "button",
51
+ "aria-label": "Próxima página",
52
+ "aria-disabled": i || a === r || void 0,
53
+ onClick: () => a < r && h(a + 1),
54
+ children: /* @__PURE__ */ l(u, { size: 14 })
55
+ }
56
+ )
57
+ ] });
58
+ }
59
+ function x(o, i, t) {
60
+ const s = t * 2 + 5;
61
+ if (i <= s)
62
+ return Array.from({ length: i }, (f, a) => a + 1);
63
+ const c = Math.max(Math.min(o - t, i - t * 2 - 2), 3), r = Math.min(Math.max(o + t, t * 2 + 3), i - 2), m = Array.from({ length: r - c + 1 }, (f, a) => c + a);
64
+ return [1, c > 3 ? null : 2, ...m, r < i - 2 ? null : i - 1, i];
65
+ }
66
+ export {
67
+ P as Pagination,
68
+ x as montarFaixa
69
+ };
70
+ //# sourceMappingURL=Pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pagination.js","sources":["../../../../src/components/navigation/Pagination/Pagination.tsx"],"sourcesContent":["import { type ComponentPropsWithRef } from 'react';\nimport styles from './Pagination.module.css';\nimport { IconChevronLeft, IconChevronRight } from '../../icons';\n\nexport interface PaginationProps extends ComponentPropsWithRef<'nav'> {\n /** Suspende a troca de pagina, como enquanto a pagina pedida carrega. Os botoes continuam focaveis. */\n disabled?: boolean;\n label?: string;\n onPageChange: (page: number) => void;\n page: number;\n pageCount: number;\n /** Quantidade de paginas mostradas de cada lado da atual. */\n siblings?: number;\n}\n\nexport function Pagination({\n className,\n disabled = false,\n label = 'Paginação',\n onPageChange,\n page,\n pageCount,\n siblings = 1,\n ...props\n}: PaginationProps) {\n if (pageCount <= 1) {\n return null;\n }\n\n const atual = Math.min(Math.max(page, 1), pageCount);\n const paginas = montarFaixa(atual, pageCount, siblings);\n\n function irPara(pagina: number) {\n if (!disabled) {\n onPageChange(pagina);\n }\n }\n\n return (\n <nav {...props} aria-label={label} className={[styles.pagination, className].filter(Boolean).join(' ')}>\n {/* `aria-disabled`, e nao `disabled`: desabilitado na borda, o botao perdia o foco de quem acabou de usa-lo. */}\n <button\n className={styles.step}\n type=\"button\"\n aria-label=\"Página anterior\"\n aria-disabled={disabled || atual === 1 || undefined}\n onClick={() => atual > 1 && irPara(atual - 1)}\n >\n <IconChevronLeft size={14} />\n </button>\n <ol className={styles.list}>\n {paginas.map((numero, indice) =>\n numero === null ? (\n <li className={styles.gap} key={`gap-${indice}`} aria-hidden=\"true\">\n &hellip;\n </li>\n ) : (\n <li key={numero}>\n <button\n className={[styles.page, numero === atual && styles.current].filter(Boolean).join(' ')}\n type=\"button\"\n aria-label={`Página ${numero}`}\n aria-current={numero === atual ? 'page' : undefined}\n aria-disabled={disabled || undefined}\n onClick={() => irPara(numero)}\n >\n {numero}\n </button>\n </li>\n ),\n )}\n </ol>\n <button\n className={styles.step}\n type=\"button\"\n aria-label=\"Próxima página\"\n aria-disabled={disabled || atual === pageCount || undefined}\n onClick={() => atual < pageCount && irPara(atual + 1)}\n >\n <IconChevronRight size={14} />\n </button>\n </nav>\n );\n}\n\n/**\n * Primeira e ultima pagina sempre visiveis; null representa a reticencia. A faixa tem sempre as mesmas vagas: perto\n * da ponta a janela encosta nela em vez de encolher, e reticencia nunca esconde uma pagina so.\n */\nexport function montarFaixa(atual: number, total: number, vizinhos: number): (number | null)[] {\n const vagas = vizinhos * 2 + 5;\n\n if (total <= vagas) {\n return Array.from({ length: total }, (_, indice) => indice + 1);\n }\n\n const inicio = Math.max(Math.min(atual - vizinhos, total - vizinhos * 2 - 2), 3);\n const fim = Math.min(Math.max(atual + vizinhos, vizinhos * 2 + 3), total - 2);\n const janela = Array.from({ length: fim - inicio + 1 }, (_, indice) => inicio + indice);\n\n return [1, inicio > 3 ? null : 2, ...janela, fim < total - 2 ? null : total - 1, total];\n}\n"],"names":["Pagination","className","disabled","label","onPageChange","page","pageCount","siblings","props","atual","paginas","montarFaixa","irPara","pagina","styles","jsx","IconChevronLeft","numero","indice","IconChevronRight","total","vizinhos","vagas","_","inicio","fim","janela"],"mappings":";;;AAeO,SAASA,EAAW;AAAA,EACzB,WAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,OAAAC,IAAQ;AAAA,EACR,cAAAC;AAAA,EACA,MAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,GAAGC;AACL,GAAoB;AAClB,MAAIF,KAAa;AACf,WAAO;AAGT,QAAMG,IAAQ,KAAK,IAAI,KAAK,IAAIJ,GAAM,CAAC,GAAGC,CAAS,GAC7CI,IAAUC,EAAYF,GAAOH,GAAWC,CAAQ;AAEtD,WAASK,EAAOC,GAAgB;AAC9B,IAAKX,KACHE,EAAaS,CAAM;AAAA,EAEvB;AAEA,2BACG,OAAA,EAAK,GAAGL,GAAO,cAAYL,GAAO,WAAW,CAACW,EAAO,YAAYb,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,GAEnG,UAAA;AAAA,IAAA,gBAAAc;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWD,EAAO;AAAA,QAClB,MAAK;AAAA,QACL,cAAW;AAAA,QACX,iBAAeZ,KAAYO,MAAU,KAAK;AAAA,QAC1C,SAAS,MAAMA,IAAQ,KAAKG,EAAOH,IAAQ,CAAC;AAAA,QAE5C,UAAA,gBAAAM,EAACC,GAAA,EAAgB,MAAM,GAAA,CAAI;AAAA,MAAA;AAAA,IAAA;AAAA,IAE7B,gBAAAD,EAAC,MAAA,EAAG,WAAWD,EAAO,MACnB,UAAAJ,EAAQ;AAAA,MAAI,CAACO,GAAQC,MACpBD,MAAW,OACT,gBAAAF,EAAC,QAAG,WAAWD,EAAO,KAA2B,eAAY,QAAO,UAAA,IAAA,GAApC,OAAOI,CAAM,EAE7C,sBAEC,MAAA,EACC,UAAA,gBAAAH;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW,CAACD,EAAO,MAAMG,MAAWR,KAASK,EAAO,OAAO,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,UACrF,MAAK;AAAA,UACL,cAAY,UAAUG,CAAM;AAAA,UAC5B,gBAAcA,MAAWR,IAAQ,SAAS;AAAA,UAC1C,iBAAeP,KAAY;AAAA,UAC3B,SAAS,MAAMU,EAAOK,CAAM;AAAA,UAE3B,UAAAA;AAAA,QAAA;AAAA,MAAA,KATIA,CAWT;AAAA,IAAA,GAGN;AAAA,IACA,gBAAAF;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWD,EAAO;AAAA,QAClB,MAAK;AAAA,QACL,cAAW;AAAA,QACX,iBAAeZ,KAAYO,MAAUH,KAAa;AAAA,QAClD,SAAS,MAAMG,IAAQH,KAAaM,EAAOH,IAAQ,CAAC;AAAA,QAEpD,UAAA,gBAAAM,EAACI,GAAA,EAAiB,MAAM,GAAA,CAAI;AAAA,MAAA;AAAA,IAAA;AAAA,EAC9B,GACF;AAEJ;AAMO,SAASR,EAAYF,GAAeW,GAAeC,GAAqC;AAC7F,QAAMC,IAAQD,IAAW,IAAI;AAE7B,MAAID,KAASE;AACX,WAAO,MAAM,KAAK,EAAE,QAAQF,KAAS,CAACG,GAAGL,MAAWA,IAAS,CAAC;AAGhE,QAAMM,IAAS,KAAK,IAAI,KAAK,IAAIf,IAAQY,GAAUD,IAAQC,IAAW,IAAI,CAAC,GAAG,CAAC,GACzEI,IAAM,KAAK,IAAI,KAAK,IAAIhB,IAAQY,GAAUA,IAAW,IAAI,CAAC,GAAGD,IAAQ,CAAC,GACtEM,IAAS,MAAM,KAAK,EAAE,QAAQD,IAAMD,IAAS,EAAA,GAAK,CAACD,GAAGL,MAAWM,IAASN,CAAM;AAEtF,SAAO,CAAC,GAAGM,IAAS,IAAI,OAAO,GAAG,GAAGE,GAAQD,IAAML,IAAQ,IAAI,OAAOA,IAAQ,GAAGA,CAAK;AACxF;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t="_pagination_1ws2p_1",s="_list_1ws2p_7",e="_page_1ws2p_16",p="_step_1ws2p_17",n="_current_1ws2p_35",a="_gap_1ws2p_58",_={pagination:t,list:s,page:e,step:p,current:n,gap:a};exports.current=n;exports.default=_;exports.gap=a;exports.list=s;exports.page=e;exports.pagination=t;exports.step=p;
2
+ //# sourceMappingURL=Pagination.module.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pagination.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ const s = "_pagination_1ws2p_1", t = "_list_1ws2p_7", p = "_page_1ws2p_16", _ = "_step_1ws2p_17", n = "_current_1ws2p_35", a = "_gap_1ws2p_58", e = {
2
+ pagination: s,
3
+ list: t,
4
+ page: p,
5
+ step: _,
6
+ current: n,
7
+ gap: a
8
+ };
9
+ export {
10
+ n as current,
11
+ e as default,
12
+ a as gap,
13
+ t as list,
14
+ p as page,
15
+ s as pagination,
16
+ _ as step
17
+ };
18
+ //# sourceMappingURL=Pagination.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pagination.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react/jsx-runtime"),v=require("react"),c=require("./Tabs.module.css.cjs"),g=require("../../../hooks/useSelection/useSelection.cjs");function M({className:i,defaultSelectedKey:f,items:d,label:n,onSelectionChange:u,orientation:a="horizontal",selectedKey:r,...I}){var w;const y=`tabs-${v.useId()}`,x=v.useRef(new Map),s=v.useMemo(()=>d.map(e=>({key:e.key,disabled:e.disabled,textValue:e.label})),[d]),j=(w=s.find(e=>!e.disabled))==null?void 0:w.key,o=g.useSelection({items:s,mode:"single",defaultSelectedKeys:r===void 0?[f??j??""]:void 0,selectedKeys:r===void 0?void 0:[r],onSelectionChange:e=>{const[l]=e;l!==void 0&&(u==null||u(l))}}),[t]=o.selectedKeys,b=d.find(e=>e.key===t),q=s.some(e=>e.key===t&&!e.disabled)?t:j;v.useEffect(()=>{var e;o.focusedKey&&((e=x.current.get(o.focusedKey))==null||e.focus())},[o.focusedKey]);function k(e){e&&o.select(e)}function A(e){var h,D;const l=o.focusedKey??t,N=a==="vertical"?"ArrowDown":"ArrowRight",T=a==="vertical"?"ArrowUp":"ArrowLeft";e.key===N?(e.preventDefault(),k(K(s,l,1))):e.key===T?(e.preventDefault(),k(K(s,l,-1))):e.key==="Home"?(e.preventDefault(),k((h=s.find($=>!$.disabled))==null?void 0:h.key)):e.key==="End"&&(e.preventDefault(),k((D=[...s].reverse().find($=>!$.disabled))==null?void 0:D.key))}return p.jsxs("div",{...I,className:[c.default.tabs,c.default[a],i].filter(Boolean).join(" "),children:[p.jsx("div",{className:c.default.list,role:"tablist","aria-label":n,"aria-orientation":a,onKeyDown:A,children:d.map(e=>p.jsx("button",{ref:l=>{l?x.current.set(e.key,l):x.current.delete(e.key)},className:[c.default.tab,t===e.key&&c.default.active].filter(Boolean).join(" "),type:"button",role:"tab",id:`${y}-${e.key}`,"aria-controls":t===e.key?`${y}-${e.key}-panel`:void 0,"aria-selected":t===e.key,disabled:e.disabled,tabIndex:q===e.key?0:-1,onClick:()=>o.select(e.key),children:e.label},e.key))}),b&&p.jsx("div",{className:c.default.panel,role:"tabpanel",id:`${y}-${b.key}-panel`,"aria-labelledby":`${y}-${b.key}`,tabIndex:0,children:b.content})]})}function K(i,f,d){const n=i.length,u=i.findIndex(a=>a.key===f);for(let a=1;a<=n;a+=1){const r=i[(u+d*a+n*n)%n];if(!r.disabled)return r.key}return f}exports.Tabs=M;
2
+ //# sourceMappingURL=Tabs.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.cjs","sources":["../../../../src/components/navigation/Tabs/Tabs.tsx"],"sourcesContent":["import {\n useEffect,\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 './Tabs.module.css';\n\nexport interface TabItem {\n content: ReactNode;\n disabled?: boolean;\n key: string;\n label: string;\n}\n\nexport type TabsOrientation = 'horizontal' | 'vertical';\n\nexport interface TabsProps extends ComponentPropsWithRef<'div'> {\n defaultSelectedKey?: string;\n items: readonly TabItem[];\n label: string;\n onSelectionChange?: (key: string) => void;\n orientation?: TabsOrientation;\n selectedKey?: string;\n}\n\nexport function Tabs({\n className,\n defaultSelectedKey,\n items,\n label,\n onSelectionChange,\n orientation = 'horizontal',\n selectedKey,\n ...props\n}: TabsProps) {\n const baseId = `tabs-${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 primeira = collection.find((item) => !item.disabled)?.key;\n const selection = useSelection({\n items: collection,\n mode: 'single',\n defaultSelectedKeys: selectedKey === undefined ? [defaultSelectedKey ?? primeira ?? ''] : undefined,\n selectedKeys: selectedKey === undefined ? undefined : [selectedKey],\n onSelectionChange: (keys) => {\n const [escolhida] = keys;\n if (escolhida !== undefined) {\n onSelectionChange?.(escolhida);\n }\n },\n });\n const [ativa] = selection.selectedKeys;\n const painel = items.find((item) => item.key === ativa);\n // A lista sempre tem uma parada de Tab: com a escolhida inexistente ou desabilitada, nenhuma aba era alcancavel.\n const parada = collection.some((item) => item.key === ativa && !item.disabled) ? ativa : primeira;\n\n useEffect(() => {\n if (selection.focusedKey) {\n nodes.current.get(selection.focusedKey)?.focus();\n }\n }, [selection.focusedKey]);\n\n // Ativacao automatica: mover o foco troca a aba, conforme o padrao do APG\n // para paineis que carregam instantaneamente.\n function mover(proxima: string | undefined) {\n if (proxima) {\n selection.select(proxima);\n }\n }\n\n function handleKeyDown(event: KeyboardEvent<HTMLDivElement>) {\n const atual = selection.focusedKey ?? ativa;\n const avancar = orientation === 'vertical' ? 'ArrowDown' : 'ArrowRight';\n const voltar = orientation === 'vertical' ? 'ArrowUp' : 'ArrowLeft';\n\n if (event.key === avancar) {\n event.preventDefault();\n mover(proximaChave(collection, atual, 1));\n } else if (event.key === voltar) {\n event.preventDefault();\n mover(proximaChave(collection, atual, -1));\n } else if (event.key === 'Home') {\n event.preventDefault();\n mover(collection.find((item) => !item.disabled)?.key);\n } else if (event.key === 'End') {\n event.preventDefault();\n mover([...collection].reverse().find((item) => !item.disabled)?.key);\n }\n }\n\n return (\n <div {...props} className={[styles.tabs, styles[orientation], className].filter(Boolean).join(' ')}>\n <div\n className={styles.list}\n role=\"tablist\"\n aria-label={label}\n aria-orientation={orientation}\n onKeyDown={handleKeyDown}\n >\n {items.map((item) => (\n <button\n key={item.key}\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.tab, ativa === item.key && styles.active].filter(Boolean).join(' ')}\n type=\"button\"\n role=\"tab\"\n id={`${baseId}-${item.key}`}\n aria-controls={ativa === item.key ? `${baseId}-${item.key}-panel` : undefined}\n aria-selected={ativa === item.key}\n disabled={item.disabled}\n tabIndex={parada === item.key ? 0 : -1}\n onClick={() => selection.select(item.key)}\n >\n {item.label}\n </button>\n ))}\n </div>\n {painel && (\n <div\n className={styles.panel}\n role=\"tabpanel\"\n id={`${baseId}-${painel.key}-panel`}\n aria-labelledby={`${baseId}-${painel.key}`}\n tabIndex={0}\n >\n {painel.content}\n </div>\n )}\n </div>\n );\n}\n\n// Percorre em circulo, como o APG define para abas.\nfunction proximaChave(items: readonly SelectionItem[], from: string | undefined, 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":["Tabs","className","defaultSelectedKey","items","label","onSelectionChange","orientation","selectedKey","props","baseId","useId","nodes","useRef","collection","useMemo","item","primeira","_a","selection","useSelection","keys","escolhida","ativa","painel","parada","useEffect","mover","proxima","handleKeyDown","event","atual","avancar","voltar","proximaChave","_b","styles","jsx","node","from","passo","total","inicio","i"],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ import { jsxs as B, jsx as $ } from "react/jsx-runtime";
2
+ import { useId as E, useRef as M, useMemo as R, useEffect as g } from "react";
3
+ import i from "./Tabs.module.css.js";
4
+ import { useSelection as z } from "../../../hooks/useSelection/useSelection.js";
5
+ function V({
6
+ className: c,
7
+ defaultSelectedKey: y,
8
+ items: d,
9
+ label: n,
10
+ onSelectionChange: f,
11
+ orientation: a = "horizontal",
12
+ selectedKey: t,
13
+ ...I
14
+ }) {
15
+ var h;
16
+ const u = `tabs-${E()}`, p = M(/* @__PURE__ */ new Map()), o = R(
17
+ () => d.map((e) => ({ key: e.key, disabled: e.disabled, textValue: e.label })),
18
+ [d]
19
+ ), w = (h = o.find((e) => !e.disabled)) == null ? void 0 : h.key, s = z({
20
+ items: o,
21
+ mode: "single",
22
+ defaultSelectedKeys: t === void 0 ? [y ?? w ?? ""] : void 0,
23
+ selectedKeys: t === void 0 ? void 0 : [t],
24
+ onSelectionChange: (e) => {
25
+ const [l] = e;
26
+ l !== void 0 && (f == null || f(l));
27
+ }
28
+ }), [r] = s.selectedKeys, b = d.find((e) => e.key === r), j = o.some((e) => e.key === r && !e.disabled) ? r : w;
29
+ g(() => {
30
+ var e;
31
+ s.focusedKey && ((e = p.current.get(s.focusedKey)) == null || e.focus());
32
+ }, [s.focusedKey]);
33
+ function k(e) {
34
+ e && s.select(e);
35
+ }
36
+ function A(e) {
37
+ var x, D;
38
+ const l = s.focusedKey ?? r, N = a === "vertical" ? "ArrowDown" : "ArrowRight", m = a === "vertical" ? "ArrowUp" : "ArrowLeft";
39
+ e.key === N ? (e.preventDefault(), k(K(o, l, 1))) : e.key === m ? (e.preventDefault(), k(K(o, l, -1))) : e.key === "Home" ? (e.preventDefault(), k((x = o.find((v) => !v.disabled)) == null ? void 0 : x.key)) : e.key === "End" && (e.preventDefault(), k((D = [...o].reverse().find((v) => !v.disabled)) == null ? void 0 : D.key));
40
+ }
41
+ return /* @__PURE__ */ B("div", { ...I, className: [i.tabs, i[a], c].filter(Boolean).join(" "), children: [
42
+ /* @__PURE__ */ $(
43
+ "div",
44
+ {
45
+ className: i.list,
46
+ role: "tablist",
47
+ "aria-label": n,
48
+ "aria-orientation": a,
49
+ onKeyDown: A,
50
+ children: d.map((e) => /* @__PURE__ */ $(
51
+ "button",
52
+ {
53
+ ref: (l) => {
54
+ l ? p.current.set(e.key, l) : p.current.delete(e.key);
55
+ },
56
+ className: [i.tab, r === e.key && i.active].filter(Boolean).join(" "),
57
+ type: "button",
58
+ role: "tab",
59
+ id: `${u}-${e.key}`,
60
+ "aria-controls": r === e.key ? `${u}-${e.key}-panel` : void 0,
61
+ "aria-selected": r === e.key,
62
+ disabled: e.disabled,
63
+ tabIndex: j === e.key ? 0 : -1,
64
+ onClick: () => s.select(e.key),
65
+ children: e.label
66
+ },
67
+ e.key
68
+ ))
69
+ }
70
+ ),
71
+ b && /* @__PURE__ */ $(
72
+ "div",
73
+ {
74
+ className: i.panel,
75
+ role: "tabpanel",
76
+ id: `${u}-${b.key}-panel`,
77
+ "aria-labelledby": `${u}-${b.key}`,
78
+ tabIndex: 0,
79
+ children: b.content
80
+ }
81
+ )
82
+ ] });
83
+ }
84
+ function K(c, y, d) {
85
+ const n = c.length, f = c.findIndex((a) => a.key === y);
86
+ for (let a = 1; a <= n; a += 1) {
87
+ const t = c[(f + d * a + n * n) % n];
88
+ if (!t.disabled)
89
+ return t.key;
90
+ }
91
+ return y;
92
+ }
93
+ export {
94
+ V as Tabs
95
+ };
96
+ //# sourceMappingURL=Tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.js","sources":["../../../../src/components/navigation/Tabs/Tabs.tsx"],"sourcesContent":["import {\n useEffect,\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 './Tabs.module.css';\n\nexport interface TabItem {\n content: ReactNode;\n disabled?: boolean;\n key: string;\n label: string;\n}\n\nexport type TabsOrientation = 'horizontal' | 'vertical';\n\nexport interface TabsProps extends ComponentPropsWithRef<'div'> {\n defaultSelectedKey?: string;\n items: readonly TabItem[];\n label: string;\n onSelectionChange?: (key: string) => void;\n orientation?: TabsOrientation;\n selectedKey?: string;\n}\n\nexport function Tabs({\n className,\n defaultSelectedKey,\n items,\n label,\n onSelectionChange,\n orientation = 'horizontal',\n selectedKey,\n ...props\n}: TabsProps) {\n const baseId = `tabs-${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 primeira = collection.find((item) => !item.disabled)?.key;\n const selection = useSelection({\n items: collection,\n mode: 'single',\n defaultSelectedKeys: selectedKey === undefined ? [defaultSelectedKey ?? primeira ?? ''] : undefined,\n selectedKeys: selectedKey === undefined ? undefined : [selectedKey],\n onSelectionChange: (keys) => {\n const [escolhida] = keys;\n if (escolhida !== undefined) {\n onSelectionChange?.(escolhida);\n }\n },\n });\n const [ativa] = selection.selectedKeys;\n const painel = items.find((item) => item.key === ativa);\n // A lista sempre tem uma parada de Tab: com a escolhida inexistente ou desabilitada, nenhuma aba era alcancavel.\n const parada = collection.some((item) => item.key === ativa && !item.disabled) ? ativa : primeira;\n\n useEffect(() => {\n if (selection.focusedKey) {\n nodes.current.get(selection.focusedKey)?.focus();\n }\n }, [selection.focusedKey]);\n\n // Ativacao automatica: mover o foco troca a aba, conforme o padrao do APG\n // para paineis que carregam instantaneamente.\n function mover(proxima: string | undefined) {\n if (proxima) {\n selection.select(proxima);\n }\n }\n\n function handleKeyDown(event: KeyboardEvent<HTMLDivElement>) {\n const atual = selection.focusedKey ?? ativa;\n const avancar = orientation === 'vertical' ? 'ArrowDown' : 'ArrowRight';\n const voltar = orientation === 'vertical' ? 'ArrowUp' : 'ArrowLeft';\n\n if (event.key === avancar) {\n event.preventDefault();\n mover(proximaChave(collection, atual, 1));\n } else if (event.key === voltar) {\n event.preventDefault();\n mover(proximaChave(collection, atual, -1));\n } else if (event.key === 'Home') {\n event.preventDefault();\n mover(collection.find((item) => !item.disabled)?.key);\n } else if (event.key === 'End') {\n event.preventDefault();\n mover([...collection].reverse().find((item) => !item.disabled)?.key);\n }\n }\n\n return (\n <div {...props} className={[styles.tabs, styles[orientation], className].filter(Boolean).join(' ')}>\n <div\n className={styles.list}\n role=\"tablist\"\n aria-label={label}\n aria-orientation={orientation}\n onKeyDown={handleKeyDown}\n >\n {items.map((item) => (\n <button\n key={item.key}\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.tab, ativa === item.key && styles.active].filter(Boolean).join(' ')}\n type=\"button\"\n role=\"tab\"\n id={`${baseId}-${item.key}`}\n aria-controls={ativa === item.key ? `${baseId}-${item.key}-panel` : undefined}\n aria-selected={ativa === item.key}\n disabled={item.disabled}\n tabIndex={parada === item.key ? 0 : -1}\n onClick={() => selection.select(item.key)}\n >\n {item.label}\n </button>\n ))}\n </div>\n {painel && (\n <div\n className={styles.panel}\n role=\"tabpanel\"\n id={`${baseId}-${painel.key}-panel`}\n aria-labelledby={`${baseId}-${painel.key}`}\n tabIndex={0}\n >\n {painel.content}\n </div>\n )}\n </div>\n );\n}\n\n// Percorre em circulo, como o APG define para abas.\nfunction proximaChave(items: readonly SelectionItem[], from: string | undefined, 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":["Tabs","className","defaultSelectedKey","items","label","onSelectionChange","orientation","selectedKey","props","baseId","useId","nodes","useRef","collection","useMemo","item","primeira","_a","selection","useSelection","keys","escolhida","ativa","painel","parada","useEffect","mover","proxima","handleKeyDown","event","atual","avancar","voltar","proximaChave","_b","styles","jsx","node","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 t="_tabs_runad_1",a="_horizontal_runad_7",e="_list_runad_11",n="_active_runad_17",l="_vertical_runad_23",_="_tab_runad_1",s="_panel_runad_45",o={tabs:t,horizontal:a,list:e,active:n,vertical:l,tab:_,panel:s};exports.active=n;exports.default=o;exports.horizontal=a;exports.list=e;exports.panel=s;exports.tab=_;exports.tabs=t;exports.vertical=l;
2
+ //# sourceMappingURL=Tabs.module.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ const t = "_tabs_runad_1", a = "_horizontal_runad_7", n = "_list_runad_11", _ = "_active_runad_17", s = "_vertical_runad_23", o = "_tab_runad_1", c = "_panel_runad_45", l = {
2
+ tabs: t,
3
+ horizontal: a,
4
+ list: n,
5
+ active: _,
6
+ vertical: s,
7
+ tab: o,
8
+ panel: c
9
+ };
10
+ export {
11
+ _ as active,
12
+ l as default,
13
+ a as horizontal,
14
+ n as list,
15
+ c as panel,
16
+ o as tab,
17
+ t as tabs,
18
+ s as vertical
19
+ };
20
+ //# sourceMappingURL=Tabs.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.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"),D=require("react-dom"),q=require("@react-aria/focus"),o=require("@react-aria/overlays"),I=require("../../../hooks/useMergedRefs.cjs"),r=require("./Dialog.module.css.cjs"),P=require("../../icons/icons.cjs");function R({open:s,...a}){return!s||typeof document>"u"?null:D.createPortal(e.jsx(F,{...a}),document.body)}function F({children:s,className:a,description:i,dismissable:l=!0,footer:n,icon:u,onClose:c,ref:h,role:x="dialog",size:y="md",title:g,...v}){const t=d.useRef(null),b=I.useMergedRefs(t,h),f=d.useId(),m=`${f}-title`,j=`${f}-description`,{overlayProps:p,underlayProps:N}=o.useOverlay({isOpen:!0,onClose:c,isDismissable:l,isKeyboardDismissDisabled:!l},t);return o.usePreventScroll(),d.useEffect(()=>t.current?o.ariaHideOutside([t.current]):void 0,[]),e.jsx("div",{...N,className:r.default.underlay,children:e.jsx(q.FocusScope,{contain:!0,restoreFocus:!0,autoFocus:!0,children:e.jsxs("div",{...v,...p,ref:b,className:[r.default.dialog,r.default[y],a].filter(Boolean).join(" "),role:x,"aria-modal":"true","aria-labelledby":m,"aria-describedby":i?j:void 0,children:[e.jsxs("header",{className:[r.default.header,s&&r.default.headerDivided].filter(Boolean).join(" "),children:[u&&e.jsx("span",{"aria-hidden":"true",className:r.default.icon,children:u}),e.jsxs("div",{className:r.default.heading,children:[e.jsx("h2",{className:r.default.title,id:m,children:g}),i&&e.jsx("p",{className:r.default.description,id:j,children:i})]}),l&&e.jsx("button",{className:r.default.close,type:"button","aria-label":"Fechar",onClick:c,children:e.jsx(P.IconClose,{size:20})})]}),s&&e.jsx("div",{className:r.default.body,children:s}),n&&e.jsx("div",{className:r.default.footer,children:n})]})})})}exports.Dialog=R;
2
+ //# sourceMappingURL=Dialog.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog.cjs","sources":["../../../../src/components/overlays/Dialog/Dialog.tsx"],"sourcesContent":["import { useEffect, useId, useRef, type ComponentPropsWithRef, type ReactNode } from 'react';\nimport { createPortal } from 'react-dom';\nimport { FocusScope } from '@react-aria/focus';\nimport { ariaHideOutside, useOverlay, usePreventScroll } from '@react-aria/overlays';\nimport { useMergedRefs } from '../../../hooks/useMergedRefs';\nimport styles from './Dialog.module.css';\nimport { IconClose } from '../../icons';\n\nexport type DialogSize = 'sm' | 'md' | 'lg';\nexport type DialogRole = 'dialog' | 'alertdialog';\n\n/** As propriedades nativas vao ao elemento do dialogo; o `className` soma ao do sistema. */\nexport interface DialogProps extends Omit<ComponentPropsWithRef<'div'>, 'children' | 'role' | 'title'> {\n children?: ReactNode;\n description?: string;\n dismissable?: boolean;\n footer?: ReactNode;\n /** Opcional. Desenhado ao lado do titulo, fora da leitura: quem fala e o titulo. */\n icon?: ReactNode;\n onClose: () => void;\n open: boolean;\n /** `alertdialog` para a confirmacao que interrompe e exige resposta, como a de uma acao destrutiva. */\n role?: DialogRole;\n size?: DialogSize;\n title: string;\n}\n\nexport function Dialog({ open, ...props }: DialogProps) {\n // No servidor nao ha `document` para o portal; o Dialog nasce na hidratacao.\n if (!open || typeof document === 'undefined') {\n return null;\n }\n\n return createPortal(<DialogContent {...props} />, document.body);\n}\n\nfunction DialogContent({\n children,\n className,\n description,\n dismissable = true,\n footer,\n icon,\n onClose,\n ref: refDoConsumidor,\n role = 'dialog',\n size = 'md',\n title,\n ...props\n}: Omit<DialogProps, 'open'>) {\n const ref = useRef<HTMLDivElement>(null);\n const mergedRef = useMergedRefs(ref, refDoConsumidor);\n const generatedId = useId();\n const titleId = `${generatedId}-title`;\n const descriptionId = `${generatedId}-description`;\n\n const { overlayProps, underlayProps } = useOverlay(\n {\n isOpen: true,\n onClose,\n isDismissable: dismissable,\n isKeyboardDismissDisabled: !dismissable,\n },\n ref,\n );\n\n usePreventScroll();\n\n useEffect(() => (ref.current ? ariaHideOutside([ref.current]) : undefined), []);\n\n return (\n <div {...underlayProps} className={styles.underlay}>\n <FocusScope contain restoreFocus autoFocus>\n <div\n {...props}\n {...overlayProps}\n ref={mergedRef}\n className={[styles.dialog, styles[size], className].filter(Boolean).join(' ')}\n role={role}\n aria-modal=\"true\"\n aria-labelledby={titleId}\n aria-describedby={description ? descriptionId : undefined}\n >\n <header className={[styles.header, children && styles.headerDivided].filter(Boolean).join(' ')}>\n {icon && (\n <span aria-hidden=\"true\" className={styles.icon}>\n {icon}\n </span>\n )}\n <div className={styles.heading}>\n <h2 className={styles.title} id={titleId}>{title}</h2>\n {description && <p className={styles.description} id={descriptionId}>{description}</p>}\n </div>\n {dismissable && (\n <button className={styles.close} type=\"button\" aria-label=\"Fechar\" onClick={onClose}>\n <IconClose size={20} />\n </button>\n )}\n </header>\n {children && <div className={styles.body}>{children}</div>}\n {footer && <div className={styles.footer}>{footer}</div>}\n </div>\n </FocusScope>\n </div>\n );\n}\n"],"names":["Dialog","open","props","createPortal","jsx","DialogContent","children","className","description","dismissable","footer","icon","onClose","refDoConsumidor","role","size","title","ref","useRef","mergedRef","useMergedRefs","generatedId","useId","titleId","descriptionId","overlayProps","underlayProps","useOverlay","usePreventScroll","useEffect","ariaHideOutside","styles","FocusScope","jsxs","IconClose"],"mappings":"sVA2BO,SAASA,EAAO,CAAE,KAAAC,EAAM,GAAGC,GAAsB,CAEtD,MAAI,CAACD,GAAQ,OAAO,SAAa,IACxB,KAGFE,EAAAA,aAAaC,EAAAA,IAACC,EAAA,CAAe,GAAGH,EAAO,EAAI,SAAS,IAAI,CACjE,CAEA,SAASG,EAAc,CACrB,SAAAC,EACA,UAAAC,EACA,YAAAC,EACA,YAAAC,EAAc,GACd,OAAAC,EACA,KAAAC,EACA,QAAAC,EACA,IAAKC,EACL,KAAAC,EAAO,SACP,KAAAC,EAAO,KACP,MAAAC,EACA,GAAGd,CACL,EAA8B,CAC5B,MAAMe,EAAMC,EAAAA,OAAuB,IAAI,EACjCC,EAAYC,EAAAA,cAAcH,EAAKJ,CAAe,EAC9CQ,EAAcC,EAAAA,MAAA,EACdC,EAAU,GAAGF,CAAW,SACxBG,EAAgB,GAAGH,CAAW,eAE9B,CAAE,aAAAI,EAAc,cAAAC,CAAA,EAAkBC,EAAAA,WACtC,CACE,OAAQ,GACR,QAAAf,EACA,cAAeH,EACf,0BAA2B,CAACA,CAAA,EAE9BQ,CAAA,EAGFW,OAAAA,mBAAA,EAEAC,YAAU,IAAOZ,EAAI,QAAUa,EAAAA,gBAAgB,CAACb,EAAI,OAAO,CAAC,EAAI,OAAY,EAAE,EAG5Eb,EAAAA,IAAC,MAAA,CAAK,GAAGsB,EAAe,UAAWK,EAAAA,QAAO,SACxC,SAAA3B,EAAAA,IAAC4B,EAAAA,WAAA,CAAW,QAAO,GAAC,aAAY,GAAC,UAAS,GACxC,SAAAC,EAAAA,KAAC,MAAA,CACE,GAAG/B,EACH,GAAGuB,EACJ,IAAKN,EACL,UAAW,CAACY,EAAAA,QAAO,OAAQA,EAAAA,QAAOhB,CAAI,EAAGR,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EAC5E,KAAAO,EACA,aAAW,OACX,kBAAiBS,EACjB,mBAAkBf,EAAcgB,EAAgB,OAEhD,SAAA,CAAAS,EAAAA,KAAC,SAAA,CAAO,UAAW,CAACF,EAAAA,QAAO,OAAQzB,GAAYyB,EAAAA,QAAO,aAAa,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EAC1F,SAAA,CAAApB,SACE,OAAA,CAAK,cAAY,OAAO,UAAWoB,UAAO,KACxC,SAAApB,CAAA,CACH,EAEFsB,EAAAA,KAAC,MAAA,CAAI,UAAWF,EAAAA,QAAO,QACrB,SAAA,CAAA3B,MAAC,MAAG,UAAW2B,EAAAA,QAAO,MAAO,GAAIR,EAAU,SAAAP,EAAM,EAChDR,SAAgB,IAAA,CAAE,UAAWuB,EAAAA,QAAO,YAAa,GAAIP,EAAgB,SAAAhB,CAAA,CAAY,CAAA,EACpF,EACCC,GACCL,EAAAA,IAAC,SAAA,CAAO,UAAW2B,EAAAA,QAAO,MAAO,KAAK,SAAS,aAAW,SAAS,QAASnB,EAC1E,SAAAR,EAAAA,IAAC8B,EAAAA,UAAA,CAAU,KAAM,GAAI,CAAA,CACvB,CAAA,EAEJ,EACC5B,GAAYF,EAAAA,IAAC,MAAA,CAAI,UAAW2B,UAAO,KAAO,SAAAzB,EAAS,EACnDI,GAAUN,EAAAA,IAAC,MAAA,CAAI,UAAW2B,EAAAA,QAAO,OAAS,SAAArB,CAAA,CAAO,CAAA,CAAA,CAAA,EAEtD,CAAA,CACF,CAEJ"}
@@ -0,0 +1,64 @@
1
+ import { jsx as r, jsxs as d } from "react/jsx-runtime";
2
+ import { useRef as I, useId as j, useEffect as F } from "react";
3
+ import { createPortal as P } from "react-dom";
4
+ import { FocusScope as x } from "@react-aria/focus";
5
+ import { useOverlay as O, usePreventScroll as R, ariaHideOutside as B } from "@react-aria/overlays";
6
+ import { useMergedRefs as C } from "../../../hooks/useMergedRefs.js";
7
+ import e from "./Dialog.module.css.js";
8
+ import { IconClose as S } from "../../icons/icons.js";
9
+ function A({ open: i, ...t }) {
10
+ return !i || typeof document > "u" ? null : P(/* @__PURE__ */ r($, { ...t }), document.body);
11
+ }
12
+ function $({
13
+ children: i,
14
+ className: t,
15
+ description: a,
16
+ dismissable: s = !0,
17
+ footer: l,
18
+ icon: n,
19
+ onClose: c,
20
+ ref: p,
21
+ role: h = "dialog",
22
+ size: y = "md",
23
+ title: v,
24
+ ...b
25
+ }) {
26
+ const o = I(null), N = C(o, p), u = j(), m = `${u}-title`, f = `${u}-description`, { overlayProps: g, underlayProps: D } = O(
27
+ {
28
+ isOpen: !0,
29
+ onClose: c,
30
+ isDismissable: s,
31
+ isKeyboardDismissDisabled: !s
32
+ },
33
+ o
34
+ );
35
+ return R(), F(() => o.current ? B([o.current]) : void 0, []), /* @__PURE__ */ r("div", { ...D, className: e.underlay, children: /* @__PURE__ */ r(x, { contain: !0, restoreFocus: !0, autoFocus: !0, children: /* @__PURE__ */ d(
36
+ "div",
37
+ {
38
+ ...b,
39
+ ...g,
40
+ ref: N,
41
+ className: [e.dialog, e[y], t].filter(Boolean).join(" "),
42
+ role: h,
43
+ "aria-modal": "true",
44
+ "aria-labelledby": m,
45
+ "aria-describedby": a ? f : void 0,
46
+ children: [
47
+ /* @__PURE__ */ d("header", { className: [e.header, i && e.headerDivided].filter(Boolean).join(" "), children: [
48
+ n && /* @__PURE__ */ r("span", { "aria-hidden": "true", className: e.icon, children: n }),
49
+ /* @__PURE__ */ d("div", { className: e.heading, children: [
50
+ /* @__PURE__ */ r("h2", { className: e.title, id: m, children: v }),
51
+ a && /* @__PURE__ */ r("p", { className: e.description, id: f, children: a })
52
+ ] }),
53
+ s && /* @__PURE__ */ r("button", { className: e.close, type: "button", "aria-label": "Fechar", onClick: c, children: /* @__PURE__ */ r(S, { size: 20 }) })
54
+ ] }),
55
+ i && /* @__PURE__ */ r("div", { className: e.body, children: i }),
56
+ l && /* @__PURE__ */ r("div", { className: e.footer, children: l })
57
+ ]
58
+ }
59
+ ) }) });
60
+ }
61
+ export {
62
+ A as Dialog
63
+ };
64
+ //# sourceMappingURL=Dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog.js","sources":["../../../../src/components/overlays/Dialog/Dialog.tsx"],"sourcesContent":["import { useEffect, useId, useRef, type ComponentPropsWithRef, type ReactNode } from 'react';\nimport { createPortal } from 'react-dom';\nimport { FocusScope } from '@react-aria/focus';\nimport { ariaHideOutside, useOverlay, usePreventScroll } from '@react-aria/overlays';\nimport { useMergedRefs } from '../../../hooks/useMergedRefs';\nimport styles from './Dialog.module.css';\nimport { IconClose } from '../../icons';\n\nexport type DialogSize = 'sm' | 'md' | 'lg';\nexport type DialogRole = 'dialog' | 'alertdialog';\n\n/** As propriedades nativas vao ao elemento do dialogo; o `className` soma ao do sistema. */\nexport interface DialogProps extends Omit<ComponentPropsWithRef<'div'>, 'children' | 'role' | 'title'> {\n children?: ReactNode;\n description?: string;\n dismissable?: boolean;\n footer?: ReactNode;\n /** Opcional. Desenhado ao lado do titulo, fora da leitura: quem fala e o titulo. */\n icon?: ReactNode;\n onClose: () => void;\n open: boolean;\n /** `alertdialog` para a confirmacao que interrompe e exige resposta, como a de uma acao destrutiva. */\n role?: DialogRole;\n size?: DialogSize;\n title: string;\n}\n\nexport function Dialog({ open, ...props }: DialogProps) {\n // No servidor nao ha `document` para o portal; o Dialog nasce na hidratacao.\n if (!open || typeof document === 'undefined') {\n return null;\n }\n\n return createPortal(<DialogContent {...props} />, document.body);\n}\n\nfunction DialogContent({\n children,\n className,\n description,\n dismissable = true,\n footer,\n icon,\n onClose,\n ref: refDoConsumidor,\n role = 'dialog',\n size = 'md',\n title,\n ...props\n}: Omit<DialogProps, 'open'>) {\n const ref = useRef<HTMLDivElement>(null);\n const mergedRef = useMergedRefs(ref, refDoConsumidor);\n const generatedId = useId();\n const titleId = `${generatedId}-title`;\n const descriptionId = `${generatedId}-description`;\n\n const { overlayProps, underlayProps } = useOverlay(\n {\n isOpen: true,\n onClose,\n isDismissable: dismissable,\n isKeyboardDismissDisabled: !dismissable,\n },\n ref,\n );\n\n usePreventScroll();\n\n useEffect(() => (ref.current ? ariaHideOutside([ref.current]) : undefined), []);\n\n return (\n <div {...underlayProps} className={styles.underlay}>\n <FocusScope contain restoreFocus autoFocus>\n <div\n {...props}\n {...overlayProps}\n ref={mergedRef}\n className={[styles.dialog, styles[size], className].filter(Boolean).join(' ')}\n role={role}\n aria-modal=\"true\"\n aria-labelledby={titleId}\n aria-describedby={description ? descriptionId : undefined}\n >\n <header className={[styles.header, children && styles.headerDivided].filter(Boolean).join(' ')}>\n {icon && (\n <span aria-hidden=\"true\" className={styles.icon}>\n {icon}\n </span>\n )}\n <div className={styles.heading}>\n <h2 className={styles.title} id={titleId}>{title}</h2>\n {description && <p className={styles.description} id={descriptionId}>{description}</p>}\n </div>\n {dismissable && (\n <button className={styles.close} type=\"button\" aria-label=\"Fechar\" onClick={onClose}>\n <IconClose size={20} />\n </button>\n )}\n </header>\n {children && <div className={styles.body}>{children}</div>}\n {footer && <div className={styles.footer}>{footer}</div>}\n </div>\n </FocusScope>\n </div>\n );\n}\n"],"names":["Dialog","open","props","createPortal","jsx","DialogContent","children","className","description","dismissable","footer","icon","onClose","refDoConsumidor","role","size","title","ref","useRef","mergedRef","useMergedRefs","generatedId","useId","titleId","descriptionId","overlayProps","underlayProps","useOverlay","usePreventScroll","useEffect","ariaHideOutside","styles","FocusScope","jsxs","IconClose"],"mappings":";;;;;;;;AA2BO,SAASA,EAAO,EAAE,MAAAC,GAAM,GAAGC,KAAsB;AAEtD,SAAI,CAACD,KAAQ,OAAO,WAAa,MACxB,OAGFE,EAAa,gBAAAC,EAACC,GAAA,EAAe,GAAGH,GAAO,GAAI,SAAS,IAAI;AACjE;AAEA,SAASG,EAAc;AAAA,EACrB,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,QAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,KAAKC;AAAA,EACL,MAAAC,IAAO;AAAA,EACP,MAAAC,IAAO;AAAA,EACP,OAAAC;AAAA,EACA,GAAGd;AACL,GAA8B;AAC5B,QAAMe,IAAMC,EAAuB,IAAI,GACjCC,IAAYC,EAAcH,GAAKJ,CAAe,GAC9CQ,IAAcC,EAAA,GACdC,IAAU,GAAGF,CAAW,UACxBG,IAAgB,GAAGH,CAAW,gBAE9B,EAAE,cAAAI,GAAc,eAAAC,EAAA,IAAkBC;AAAA,IACtC;AAAA,MACE,QAAQ;AAAA,MACR,SAAAf;AAAA,MACA,eAAeH;AAAA,MACf,2BAA2B,CAACA;AAAA,IAAA;AAAA,IAE9BQ;AAAA,EAAA;AAGF,SAAAW,EAAA,GAEAC,EAAU,MAAOZ,EAAI,UAAUa,EAAgB,CAACb,EAAI,OAAO,CAAC,IAAI,QAAY,EAAE,GAG5E,gBAAAb,EAAC,OAAA,EAAK,GAAGsB,GAAe,WAAWK,EAAO,UACxC,UAAA,gBAAA3B,EAAC4B,GAAA,EAAW,SAAO,IAAC,cAAY,IAAC,WAAS,IACxC,UAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG/B;AAAA,MACH,GAAGuB;AAAA,MACJ,KAAKN;AAAA,MACL,WAAW,CAACY,EAAO,QAAQA,EAAOhB,CAAI,GAAGR,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,MAC5E,MAAAO;AAAA,MACA,cAAW;AAAA,MACX,mBAAiBS;AAAA,MACjB,oBAAkBf,IAAcgB,IAAgB;AAAA,MAEhD,UAAA;AAAA,QAAA,gBAAAS,EAAC,UAAA,EAAO,WAAW,CAACF,EAAO,QAAQzB,KAAYyB,EAAO,aAAa,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,GAC1F,UAAA;AAAA,UAAApB,uBACE,QAAA,EAAK,eAAY,QAAO,WAAWoB,EAAO,MACxC,UAAApB,EAAA,CACH;AAAA,UAEF,gBAAAsB,EAAC,OAAA,EAAI,WAAWF,EAAO,SACrB,UAAA;AAAA,YAAA,gBAAA3B,EAAC,QAAG,WAAW2B,EAAO,OAAO,IAAIR,GAAU,UAAAP,GAAM;AAAA,YAChDR,uBAAgB,KAAA,EAAE,WAAWuB,EAAO,aAAa,IAAIP,GAAgB,UAAAhB,EAAA,CAAY;AAAA,UAAA,GACpF;AAAA,UACCC,KACC,gBAAAL,EAAC,UAAA,EAAO,WAAW2B,EAAO,OAAO,MAAK,UAAS,cAAW,UAAS,SAASnB,GAC1E,UAAA,gBAAAR,EAAC8B,GAAA,EAAU,MAAM,IAAI,EAAA,CACvB;AAAA,QAAA,GAEJ;AAAA,QACC5B,KAAY,gBAAAF,EAAC,OAAA,EAAI,WAAW2B,EAAO,MAAO,UAAAzB,GAAS;AAAA,QACnDI,KAAU,gBAAAN,EAAC,OAAA,EAAI,WAAW2B,EAAO,QAAS,UAAArB,EAAA,CAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAEtD,EAAA,CACF;AAEJ;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o="_underlay_1wnou_1",e="_dialog_1wnou_15",d="_sm_1wnou_31",_="_md_1wnou_35",n="_lg_1wnou_39",i="_header_1wnou_43",t="_close_1wnou_51",s="_headerDivided_1wnou_55",l="_icon_1wnou_60",a="_heading_1wnou_75",c="_title_1wnou_83",r="_description_1wnou_92",u="_body_1wnou_129",g="_footer_1wnou_140",w={underlay:o,"dialog-fade":"_dialog-fade_1wnou_1",dialog:e,"dialog-rise":"_dialog-rise_1wnou_1",sm:d,md:_,lg:n,header:i,close:t,headerDivided:s,icon:l,heading:a,title:c,description:r,body:u,footer:g};exports.body=u;exports.close=t;exports.default=w;exports.description=r;exports.dialog=e;exports.footer=g;exports.header=i;exports.headerDivided=s;exports.heading=a;exports.icon=l;exports.lg=n;exports.md=_;exports.sm=d;exports.title=c;exports.underlay=o;
2
+ //# sourceMappingURL=Dialog.module.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,36 @@
1
+ const o = "_underlay_1wnou_1", _ = "_dialog_1wnou_15", n = "_sm_1wnou_31", e = "_md_1wnou_35", d = "_lg_1wnou_39", i = "_header_1wnou_43", t = "_close_1wnou_51", s = "_headerDivided_1wnou_55", c = "_icon_1wnou_60", a = "_heading_1wnou_75", l = "_title_1wnou_83", u = "_description_1wnou_92", r = "_body_1wnou_129", w = "_footer_1wnou_140", g = {
2
+ underlay: o,
3
+ "dialog-fade": "_dialog-fade_1wnou_1",
4
+ dialog: _,
5
+ "dialog-rise": "_dialog-rise_1wnou_1",
6
+ sm: n,
7
+ md: e,
8
+ lg: d,
9
+ header: i,
10
+ close: t,
11
+ headerDivided: s,
12
+ icon: c,
13
+ heading: a,
14
+ title: l,
15
+ description: u,
16
+ body: r,
17
+ footer: w
18
+ };
19
+ export {
20
+ r as body,
21
+ t as close,
22
+ g as default,
23
+ u as description,
24
+ _ as dialog,
25
+ w as footer,
26
+ i as header,
27
+ s as headerDivided,
28
+ a as heading,
29
+ c as icon,
30
+ d as lg,
31
+ e as md,
32
+ n as sm,
33
+ l as title,
34
+ o as underlay
35
+ };
36
+ //# sourceMappingURL=Dialog.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react/jsx-runtime"),n=require("react"),S=require("react-dom"),j=require("@react-aria/focus"),q=require("@react-aria/overlays"),P=require("../../../hooks/useMergedRefs.cjs"),K=require("./Menu.module.css.cjs"),A=require("../../../hooks/useSelection/useSelection.cjs");function O(r,d){return o=>{r==null||r(o),d(o)}}function E({children:r,defaultOpen:d=!1,items:o,label:g,onOpenChange:c,open:y}){const a=n.useRef(null),[x,h]=n.useState(d),[l,p]=n.useState("first"),i=y??x;function k(s){h(s),c==null||c(s)}function b(s){p(s),k(!0)}function m(s){var w;k(!1),s&&((w=a.current)==null||w.focus())}const u=r.props,D=P.useMergedRefs(a,u.ref),M=n.cloneElement(r,{ref:D,"aria-haspopup":"menu","aria-expanded":i,onClick:O(u.onClick,()=>i?m(!0):b("first")),onKeyDown:O(u.onKeyDown,s=>{(s.key==="ArrowDown"||s.key==="ArrowUp")&&(s.preventDefault(),b(s.key==="ArrowDown"?"first":"last"))})});return f.jsxs(f.Fragment,{children:[M,i&&typeof document<"u"&&S.createPortal(f.jsx(j.FocusScope,{children:f.jsx(N,{items:o,label:g,openedWith:l,onClose:m,triggerRef:a})}),document.body)]})}function N({items:r,label:d,onClose:o,openedWith:g,triggerRef:c}){var R;const y=n.useRef(null),a=n.useRef(new Map),x=n.useMemo(()=>r.map(e=>({key:e.key,disabled:e.disabled,textValue:e.label})),[r]),h=A.useSelection({items:x,mode:"none"}),{focusedKey:l,focusFirst:p,focusLast:i,focusNext:k,focusPrevious:b,search:m}=h,{overlayProps:u}=q.useOverlay({isOpen:!0,onClose:()=>o(!1),isDismissable:!0,shouldCloseOnBlur:!1,shouldCloseOnInteractOutside:e=>{var t;return!((t=c.current)!=null&&t.contains(e))}},y),{overlayProps:D}=q.useOverlayPosition({targetRef:c,overlayRef:y,placement:"bottom start",offset:6,containerPadding:8,isOpen:!0}),M=Math.min(Number((R=D.style)==null?void 0:R.maxHeight)||360,360);n.useEffect(()=>{g==="last"?i():p()},[]),n.useEffect(()=>{var e;l&&((e=a.current.get(l))==null||e.focus())},[l]);function s(e){var t;e.disabled||(o(!0),(t=e.onSelect)==null||t.call(e))}function w(e){e.key==="ArrowDown"?(e.preventDefault(),k()):e.key==="ArrowUp"?(e.preventDefault(),b()):e.key==="Home"?(e.preventDefault(),p()):e.key==="End"?(e.preventDefault(),i()):e.key==="Escape"||e.key==="Tab"?o(!0):e.key.length===1&&!e.metaKey&&!e.ctrlKey&&m(e.key)}return f.jsx("div",{...u,"data-react-aria-top-layer":"true",ref:y,className:K.default.menu,style:{...D.style,maxHeight:M},role:"menu","aria-label":d,onKeyDown:e=>{var t;w(e),(t=u.onKeyDown)==null||t.call(u,e)},children:r.map(e=>f.jsx("button",{ref:t=>{t?a.current.set(e.key,t):a.current.delete(e.key)},className:K.default.item,type:"button",role:"menuitem",disabled:e.disabled,tabIndex:l===e.key?0:-1,onClick:()=>s(e),children:e.label},e.key))})}exports.Menu=E;
2
+ //# sourceMappingURL=Menu.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menu.cjs","sources":["../../../../src/components/overlays/Menu/Menu.tsx"],"sourcesContent":["import {\n cloneElement,\n useEffect,\n useMemo,\n useRef,\n useState,\n type KeyboardEvent,\n type ReactElement,\n type Ref,\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport { FocusScope } from '@react-aria/focus';\nimport { useOverlay, useOverlayPosition } from '@react-aria/overlays';\nimport { useMergedRefs } from '../../../hooks/useMergedRefs';\nimport { useSelection, type SelectionItem } from '../../../hooks/useSelection';\nimport styles from './Menu.module.css';\n\nexport interface MenuItem {\n disabled?: boolean;\n key: string;\n label: string;\n onSelect?: () => void;\n}\n\nexport interface MenuProps {\n children: ReactElement<Record<string, unknown>>;\n /** Abertura inicial no modo nao controlado. */\n defaultOpen?: boolean;\n items: readonly MenuItem[];\n label: string;\n /** Avisa cada abertura e fechamento pedidos pelo gatilho, pelo teclado, pela opcao ou pelo clique fora. */\n onOpenChange?: (open: boolean) => void;\n /** Controla a abertura; sem ele, o menu guarda o proprio estado. */\n open?: boolean;\n}\n\n/** Encadeia o manipulador do gatilho ao do menu, em vez de substitui-lo. */\nfunction encadear<E>(proprio: ((evento: E) => void) | undefined, seguinte: (evento: E) => void) {\n return (evento: E) => {\n proprio?.(evento);\n seguinte(evento);\n };\n}\n\nexport function Menu({ children, defaultOpen = false, items, label, onOpenChange, open: controlledOpen }: MenuProps) {\n const triggerRef = useRef<HTMLElement>(null);\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n const [openedWith, setOpenedWith] = useState<'first' | 'last'>('first');\n const open = controlledOpen ?? internalOpen;\n\n function setOpen(proximo: boolean) {\n setInternalOpen(proximo);\n onOpenChange?.(proximo);\n }\n\n function abrir(from: 'first' | 'last') {\n setOpenedWith(from);\n setOpen(true);\n }\n\n // O foco volta na hora, antes de o `onSelect` montar o que vem depois, como um campo com `autoFocus` ou\n // um Dialog, que guarda o elemento em foco para devolver. Clique fora nao devolve: o foco e de quem foi clicado.\n function fechar(devolverFoco: boolean) {\n setOpen(false);\n\n if (devolverFoco) {\n triggerRef.current?.focus();\n }\n }\n\n const dono = children.props;\n const mergedTriggerRef = useMergedRefs(triggerRef, dono.ref as Ref<HTMLElement> | undefined);\n const trigger = cloneElement(children, {\n ref: mergedTriggerRef,\n 'aria-haspopup': 'menu',\n 'aria-expanded': open,\n onClick: encadear(dono.onClick as (evento: unknown) => void, () =>\n open ? fechar(true) : abrir('first'),\n ),\n onKeyDown: encadear(dono.onKeyDown as (evento: KeyboardEvent) => void, (event: KeyboardEvent) => {\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault();\n abrir(event.key === 'ArrowDown' ? 'first' : 'last');\n }\n }),\n });\n\n return (\n <>\n {trigger}\n {open &&\n typeof document !== 'undefined' &&\n createPortal(\n // O escopo proprio poe o menu na arvore de escopos do Dialog, cujo `contain` puxaria o foco de volta.\n // Sem `contain` aqui: ele disputaria o foco com o gatilho quando o menu fecha.\n <FocusScope>\n <MenuList\n items={items}\n label={label}\n openedWith={openedWith}\n onClose={fechar}\n triggerRef={triggerRef}\n />\n </FocusScope>,\n document.body,\n )}\n </>\n );\n}\n\nfunction MenuList({\n items,\n label,\n onClose,\n openedWith,\n triggerRef,\n}: {\n items: readonly MenuItem[];\n label: string;\n onClose: (devolverFoco: boolean) => void;\n openedWith: 'first' | 'last';\n triggerRef: React.RefObject<HTMLElement | null>;\n}) {\n const ref = useRef<HTMLDivElement>(null);\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({ items: collection, mode: 'none' });\n const { focusedKey, focusFirst, focusLast, focusNext, focusPrevious, search } = selection;\n\n // useOverlayPosition entrega toda a altura disponivel; limitamos para que\n // uma lista longa nao ocupe a tela inteira.\n // Sem isto o gatilho conta como \"fora\": o ponteiro fecha o menu e o clique\n // dele reabre em seguida, e o menu pisca sem abrir.\n const { overlayProps } = useOverlay(\n {\n isOpen: true,\n onClose: () => onClose(false),\n isDismissable: true,\n shouldCloseOnBlur: false,\n shouldCloseOnInteractOutside: (elemento) => !triggerRef.current?.contains(elemento),\n },\n ref,\n );\n const { overlayProps: positionProps } = useOverlayPosition({\n targetRef: triggerRef,\n overlayRef: ref,\n placement: 'bottom start',\n offset: 6,\n containerPadding: 8,\n isOpen: true,\n });\n\n const alturaMaxima = Math.min(Number(positionProps.style?.maxHeight) || 360, 360);\n\n useEffect(() => {\n if (openedWith === 'last') {\n focusLast();\n } else {\n focusFirst();\n }\n // Posicao inicial depende apenas de como o menu foi aberto.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (focusedKey) {\n nodes.current.get(focusedKey)?.focus();\n }\n }, [focusedKey]);\n\n function acionar(item: MenuItem) {\n if (item.disabled) {\n return;\n }\n\n onClose(true);\n item.onSelect?.();\n }\n\n function handleKeyDown(event: KeyboardEvent<HTMLDivElement>) {\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n focusNext();\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n focusPrevious();\n } else if (event.key === 'Home') {\n event.preventDefault();\n focusFirst();\n } else if (event.key === 'End') {\n event.preventDefault();\n focusLast();\n } else if (event.key === 'Escape' || event.key === 'Tab') {\n onClose(true);\n } else if (event.key.length === 1 && !event.metaKey && !event.ctrlKey) {\n search(event.key);\n }\n }\n\n return (\n <div\n {...overlayProps}\n data-react-aria-top-layer=\"true\"\n ref={ref}\n className={styles.menu}\n style={{ ...positionProps.style, maxHeight: alturaMaxima }}\n role=\"menu\"\n aria-label={label}\n onKeyDown={(event) => {\n // Espalhar overlayProps antes nao basta: este onKeyDown o substituiria.\n handleKeyDown(event);\n overlayProps.onKeyDown?.(event);\n }}\n >\n {items.map((item) => (\n <button\n key={item.key}\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.item}\n type=\"button\"\n role=\"menuitem\"\n disabled={item.disabled}\n tabIndex={focusedKey === item.key ? 0 : -1}\n onClick={() => acionar(item)}\n >\n {item.label}\n </button>\n ))}\n </div>\n );\n}\n"],"names":["encadear","proprio","seguinte","evento","Menu","children","defaultOpen","items","label","onOpenChange","controlledOpen","triggerRef","useRef","internalOpen","setInternalOpen","useState","openedWith","setOpenedWith","open","setOpen","proximo","abrir","from","fechar","devolverFoco","_a","dono","mergedTriggerRef","useMergedRefs","trigger","cloneElement","event","jsxs","Fragment","createPortal","FocusScope","jsx","MenuList","onClose","ref","nodes","collection","useMemo","item","selection","useSelection","focusedKey","focusFirst","focusLast","focusNext","focusPrevious","search","overlayProps","useOverlay","elemento","positionProps","useOverlayPosition","alturaMaxima","useEffect","acionar","handleKeyDown","styles","node"],"mappings":"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"}