@plenustech/design-system 0.2.1 → 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 (594) 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 +4 -2
  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/icons/icons.d.ts +2 -0
  555. package/dist/types/components/icons/index.d.ts +1 -1
  556. package/dist/types/components/overlays/Dialog/Dialog.d.ts +2 -0
  557. package/dist/types/index.d.ts +7 -1
  558. package/dist/utils/formatters/formatarData.cjs +2 -0
  559. package/dist/utils/formatters/formatarData.cjs.map +1 -0
  560. package/dist/utils/formatters/formatarData.js +32 -0
  561. package/dist/utils/formatters/formatarData.js.map +1 -0
  562. package/dist/utils/formatters/formatarEntradaData.cjs +2 -0
  563. package/dist/utils/formatters/formatarEntradaData.cjs.map +1 -0
  564. package/dist/utils/formatters/formatarEntradaData.js +22 -0
  565. package/dist/utils/formatters/formatarEntradaData.js.map +1 -0
  566. package/dist/utils/formatters/formatarEntradaDecimal.cjs +2 -0
  567. package/dist/utils/formatters/formatarEntradaDecimal.cjs.map +1 -0
  568. package/dist/utils/formatters/formatarEntradaDecimal.js +35 -0
  569. package/dist/utils/formatters/formatarEntradaDecimal.js.map +1 -0
  570. package/dist/utils/formatters/formatarEntradaHora.cjs +2 -0
  571. package/dist/utils/formatters/formatarEntradaHora.cjs.map +1 -0
  572. package/dist/utils/formatters/formatarEntradaHora.js +32 -0
  573. package/dist/utils/formatters/formatarEntradaHora.js.map +1 -0
  574. package/dist/utils/formatters/formatarEntradaMonetaria.cjs +2 -0
  575. package/dist/utils/formatters/formatarEntradaMonetaria.cjs.map +1 -0
  576. package/dist/utils/formatters/formatarEntradaMonetaria.js +17 -0
  577. package/dist/utils/formatters/formatarEntradaMonetaria.js.map +1 -0
  578. package/dist/utils/formatters/formatarNumero.cjs +2 -0
  579. package/dist/utils/formatters/formatarNumero.cjs.map +1 -0
  580. package/dist/utils/formatters/formatarNumero.js +28 -0
  581. package/dist/utils/formatters/formatarNumero.js.map +1 -0
  582. package/dist/utils/formatters/mascararPartes.cjs +2 -0
  583. package/dist/utils/formatters/mascararPartes.cjs.map +1 -0
  584. package/dist/utils/formatters/mascararPartes.js +17 -0
  585. package/dist/utils/formatters/mascararPartes.js.map +1 -0
  586. package/dist/utils/textSearch/textSearch.cjs +2 -0
  587. package/dist/utils/textSearch/textSearch.cjs.map +1 -0
  588. package/dist/utils/textSearch/textSearch.js +22 -0
  589. package/dist/utils/textSearch/textSearch.js.map +1 -0
  590. package/package.json +5 -5
  591. package/dist/plenus-design-system.cjs +0 -3
  592. package/dist/plenus-design-system.cjs.map +0 -1
  593. package/dist/plenus-design-system.es.js +0 -6387
  594. package/dist/plenus-design-system.es.js.map +0 -1
@@ -0,0 +1,86 @@
1
+ import { jsxs as m, jsx as t } from "react/jsx-runtime";
2
+ import { useMemo as u, useRef as g, useEffect as p } from "react";
3
+ import { getLocalTimeZone as N } from "@internationalized/date";
4
+ import n from "./DatePicker.module.css.js";
5
+ import { useCalendar as F } from "../../../hooks/useCalendar/useCalendar.js";
6
+ import { IconChevronLeft as I, IconChevronRight as S } from "../../icons/icons.js";
7
+ function z({ autoFocus: b = !1, locale: r = "pt-BR", onSelect: y, value: D, ...w }) {
8
+ const o = F({ ...w, locale: r, onSelect: y, value: D }), c = N(), v = u(() => new Intl.DateTimeFormat(r, { month: "long", year: "numeric" }), [r]), T = u(() => new Intl.DateTimeFormat(r, { dateStyle: "long" }), [r]), k = u(() => {
9
+ const e = new Intl.DateTimeFormat(r, { weekday: "short" }), a = new Intl.DateTimeFormat(r, { weekday: "long" });
10
+ return o.weeks[0].map((i) => {
11
+ const s = i.date.toDate(c);
12
+ return { curto: e.format(s).replace(".", ""), longo: a.format(s) };
13
+ });
14
+ }, [o.weeks, c, r]), f = v.format(o.visibleMonth.toDate(c)), l = g(null), d = g(!1), h = o.focusedDate.toString();
15
+ p(() => {
16
+ var e;
17
+ b && ((e = l.current) == null || e.focus());
18
+ }, []), p(() => {
19
+ var e;
20
+ d.current && ((e = l.current) == null || e.focus());
21
+ }, [h]);
22
+ function C(e) {
23
+ e.relatedTarget && !e.currentTarget.contains(e.relatedTarget) && (d.current = !1);
24
+ }
25
+ return /* @__PURE__ */ m("div", { className: n.calendar, children: [
26
+ /* @__PURE__ */ m("div", { className: n.calendarHeader, children: [
27
+ /* @__PURE__ */ t(
28
+ "button",
29
+ {
30
+ "aria-label": "Mês anterior",
31
+ className: n.navigate,
32
+ onClick: () => o.goToMonth(-1),
33
+ type: "button",
34
+ children: /* @__PURE__ */ t(I, { size: 14 })
35
+ }
36
+ ),
37
+ /* @__PURE__ */ t("span", { "aria-live": "polite", className: n.month, children: f }),
38
+ /* @__PURE__ */ t(
39
+ "button",
40
+ {
41
+ "aria-label": "Próximo mês",
42
+ className: n.navigate,
43
+ onClick: () => o.goToMonth(1),
44
+ type: "button",
45
+ children: /* @__PURE__ */ t(S, { size: 14 })
46
+ }
47
+ )
48
+ ] }),
49
+ /* @__PURE__ */ m(
50
+ "table",
51
+ {
52
+ "aria-label": f,
53
+ className: n.grid,
54
+ onBlur: C,
55
+ onFocus: () => d.current = !0,
56
+ onKeyDown: o.handleKeyDown,
57
+ role: "grid",
58
+ children: [
59
+ /* @__PURE__ */ t("thead", { children: /* @__PURE__ */ t("tr", { children: k.map((e) => /* @__PURE__ */ t("th", { abbr: e.longo, className: n.weekday, scope: "col", children: e.curto }, e.longo)) }) }),
60
+ /* @__PURE__ */ t("tbody", { children: o.weeks.map((e) => /* @__PURE__ */ t("tr", { children: e.map((a) => {
61
+ const i = o.isSelected(a.date), s = a.date.toString() === h;
62
+ return /* @__PURE__ */ t("td", { className: n.dayCell, children: /* @__PURE__ */ t(
63
+ "button",
64
+ {
65
+ "aria-current": o.isToday(a.date) ? "date" : void 0,
66
+ "aria-disabled": a.unavailable || void 0,
67
+ "aria-label": T.format(a.date.toDate(c)),
68
+ "aria-pressed": i,
69
+ className: [n.day, a.outside && n.outside, i && n.selectedDay].filter(Boolean).join(" "),
70
+ onClick: () => o.select(a.date),
71
+ ref: s ? l : void 0,
72
+ tabIndex: s ? 0 : -1,
73
+ type: "button",
74
+ children: a.date.day
75
+ }
76
+ ) }, a.date.toString());
77
+ }) }, e[0].date.toString())) })
78
+ ]
79
+ }
80
+ )
81
+ ] });
82
+ }
83
+ export {
84
+ z as Calendar
85
+ };
86
+ //# sourceMappingURL=Calendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Calendar.js","sources":["../../../../src/components/forms/DatePicker/Calendar.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef, type FocusEvent } from 'react';\nimport { getLocalTimeZone, type CalendarDate } from '@internationalized/date';\nimport { useCalendar, type CalendarLimits } from '../../../hooks/useCalendar';\nimport styles from './DatePicker.module.css';\nimport { IconChevronLeft, IconChevronRight } from '../../icons';\n\nexport interface CalendarProps extends CalendarLimits {\n autoFocus?: boolean;\n locale?: string;\n onSelect: (date: CalendarDate) => void;\n value?: CalendarDate;\n}\n\nexport function Calendar({ autoFocus = false, locale = 'pt-BR', onSelect, value, ...limits }: CalendarProps) {\n const calendario = useCalendar({ ...limits, locale, onSelect, value });\n const fuso = getLocalTimeZone();\n const nomeDoMes = useMemo(() => new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric' }), [locale]);\n const nomeDoDia = useMemo(() => new Intl.DateTimeFormat(locale, { dateStyle: 'long' }), [locale]);\n const diasDaSemana = useMemo(() => {\n const curto = new Intl.DateTimeFormat(locale, { weekday: 'short' });\n const longo = new Intl.DateTimeFormat(locale, { weekday: 'long' });\n\n return calendario.weeks[0].map((dia) => {\n const data = dia.date.toDate(fuso);\n return { curto: curto.format(data).replace('.', ''), longo: longo.format(data) };\n });\n }, [calendario.weeks, fuso, locale]);\n\n const titulo = nomeDoMes.format(calendario.visibleMonth.toDate(fuso));\n const diaEmFoco = useRef<HTMLButtonElement>(null);\n const gradeComFoco = useRef(false);\n const chaveEmFoco = calendario.focusedDate.toString();\n\n useEffect(() => {\n if (autoFocus) {\n diaEmFoco.current?.focus();\n }\n }, []);\n\n // O foco do teclado anda com o dia, mas so se ja estava na grade: o clique no mes seguinte nao o puxa para ca.\n useEffect(() => {\n if (gradeComFoco.current) {\n diaEmFoco.current?.focus();\n }\n }, [chaveEmFoco]);\n\n // Sem destino, o foco saiu com o dia que deixou a grade na troca de mes, e nao da grade.\n function handleBlur(event: FocusEvent<HTMLTableElement>) {\n if (event.relatedTarget && !event.currentTarget.contains(event.relatedTarget)) {\n gradeComFoco.current = false;\n }\n }\n\n return (\n <div className={styles.calendar}>\n <div className={styles.calendarHeader}>\n <button\n aria-label=\"Mês anterior\"\n className={styles.navigate}\n onClick={() => calendario.goToMonth(-1)}\n type=\"button\"\n >\n <IconChevronLeft size={14} />\n </button>\n <span aria-live=\"polite\" className={styles.month}>\n {titulo}\n </span>\n <button\n aria-label=\"Próximo mês\"\n className={styles.navigate}\n onClick={() => calendario.goToMonth(1)}\n type=\"button\"\n >\n <IconChevronRight size={14} />\n </button>\n </div>\n <table\n aria-label={titulo}\n className={styles.grid}\n onBlur={handleBlur}\n onFocus={() => (gradeComFoco.current = true)}\n onKeyDown={calendario.handleKeyDown}\n role=\"grid\"\n >\n <thead>\n <tr>\n {diasDaSemana.map((dia) => (\n <th abbr={dia.longo} className={styles.weekday} key={dia.longo} scope=\"col\">\n {dia.curto}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {calendario.weeks.map((semana) => (\n <tr key={semana[0].date.toString()}>\n {semana.map((dia) => {\n const selecionado = calendario.isSelected(dia.date);\n const focado = dia.date.toString() === chaveEmFoco;\n\n return (\n <td className={styles.dayCell} key={dia.date.toString()}>\n {/* Dia indisponivel continua focavel, como o teclado o alcanca; quem recusa a escolha e o motor. */}\n <button\n aria-current={calendario.isToday(dia.date) ? 'date' : undefined}\n aria-disabled={dia.unavailable || undefined}\n aria-label={nomeDoDia.format(dia.date.toDate(fuso))}\n aria-pressed={selecionado}\n className={[styles.day, dia.outside && styles.outside, selecionado && styles.selectedDay]\n .filter(Boolean)\n .join(' ')}\n onClick={() => calendario.select(dia.date)}\n ref={focado ? diaEmFoco : undefined}\n tabIndex={focado ? 0 : -1}\n type=\"button\"\n >\n {dia.date.day}\n </button>\n </td>\n );\n })}\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n );\n}\n"],"names":["Calendar","autoFocus","locale","onSelect","value","limits","calendario","useCalendar","fuso","getLocalTimeZone","nomeDoMes","useMemo","nomeDoDia","diasDaSemana","curto","longo","dia","data","titulo","diaEmFoco","useRef","gradeComFoco","chaveEmFoco","useEffect","_a","handleBlur","event","jsxs","styles","jsx","IconChevronLeft","IconChevronRight","semana","selecionado","focado"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),s=require("react"),ce=require("react-dom"),M=require("@react-aria/overlays"),A=require("@internationalized/date"),ue=require("../../../hooks/useFormReset.cjs"),de=require("../../../hooks/useMergedRefs.cjs"),fe=require("../../../hooks/useCalendar/calendar.cjs"),me=require("../Field/FormValue.cjs"),pe=require("./Calendar.cjs"),u=require("./iso.cjs"),i=require("./DatePicker.module.css.cjs"),ye=require("../Field/Field.cjs"),ge=require("../../icons/icons.cjs"),S=require("../../actions/Button/Button.cjs"),T=require("../../../utils/formatters/formatarEntradaData.cjs");function ve({"aria-describedby":U,className:w,defaultValue:q,name:H,disabled:p=!1,error:C,hint:L,id:Z,isDateUnavailable:k,label:y,locale:_="pt-BR",max:G,min:J,onValueChange:g,onBlur:v,onKeyDown:D,placeholder:K="dd/mm/aaaa",required:b=!1,size:Q="md",ref:V,value:F,...W}){const j=s.useRef(null),R=s.useRef(null),O=s.useRef(null),[n,x]=s.useState(!1),d={isDateUnavailable:k&&(e=>k(e.toString())),max:u.readIsoDate(G),min:u.readIsoDate(J)},[X,I]=s.useState(()=>u.readIsoDate(q)??null),P=F===void 0?void 0:u.readIsoDate(F)??null,o=(P===void 0?X:P)??void 0,[Y,$]=s.useState(""),[ee,f]=s.useState(!1),E=s.useRef(null),te=ue.useFormReset(()=>{I(u.readIsoDate(q)??null),f(!1)}),ae=de.useMergedRefs(E,te,V),[N,h]=s.useState(o),[se,re]=s.useState(0);s.useEffect(()=>{n&&h(o)},[n]);const ne=ee?Y:o?[String(o.day).padStart(2,"0"),String(o.month).padStart(2,"0"),o.year].join("/"):"";function z(e){I(e),g==null||g((e==null?void 0:e.toString())??null)}function l(e=!0){var r;x(!1),e&&((r=O.current)==null||r.focus())}function oe(e){const r=T.formatarEntradaData(e);f(!0),$(r);const c=T.lerEntradaData(r),a=c&&!fe.isUnavailable(c,d)?c:null;z(a)}function ie(e){D==null||D(e),e.key==="ArrowDown"&&!n?(e.preventDefault(),x(!0)):e.key==="Escape"&&n&&l(!1)}const{overlayProps:m}=M.useOverlay({isOpen:n,onClose:()=>l(!1),isDismissable:!0,shouldCloseOnBlur:!1,shouldCloseOnInteractOutside:e=>{var r;return!((r=j.current)!=null&&r.contains(e))}},R),{overlayProps:le}=M.useOverlayPosition({targetRef:j,overlayRef:R,placement:"bottom start",offset:6,containerPadding:8,isOpen:n});return t.jsx(ye.Field,{"aria-describedby":U,error:C,hint:L,id:Z,label:y,required:b,children:({id:e,describedBy:r,invalid:c})=>t.jsxs(t.Fragment,{children:[t.jsx(me.FormValue,{disabled:p,name:H,onFocus:()=>{var a;return(a=E.current)==null?void 0:a.focus()},required:b,value:(o==null?void 0:o.toString())??""}),t.jsxs("div",{className:[i.default.field,i.default[Q],C&&i.default.error,w].filter(Boolean).join(" "),ref:j,children:[t.jsx("input",{...W,"aria-describedby":r,"aria-invalid":c||void 0,"aria-required":b||void 0,autoComplete:"off",className:i.default.input,disabled:p,id:e,inputMode:"numeric",onBlur:a=>{f(!1),v==null||v(a)},onChange:a=>oe(a.target.value),onKeyDown:ie,placeholder:K,ref:ae,type:"text",value:ne}),t.jsx("button",{"aria-expanded":n,"aria-haspopup":"dialog","aria-label":"Abrir calendário",className:i.default.trigger,disabled:p,onClick:()=>n?l():x(!0),ref:O,type:"button",children:t.jsx(ge.IconCalendar,{size:15})})]}),n&&ce.createPortal(t.jsxs("div",{...m,"aria-label":y?"Calendário de "+y:"Calendário",className:i.default.panel,"data-react-aria-top-layer":"true",onKeyDown:a=>{var B;a.key==="Escape"&&l(),(B=m.onKeyDown)==null||B.call(m,a)},ref:R,role:"dialog",style:le.style,children:[t.jsx(pe.Calendar,{autoFocus:!0,isDateUnavailable:d.isDateUnavailable,locale:_,max:d.max,min:d.min,onSelect:h,value:N},se),t.jsxs("div",{className:i.default.footer,children:[t.jsx(S.Button,{onClick:()=>{h(A.today(A.getLocalTimeZone())),re(a=>a+1)},size:"sm",variant:"ghost",type:"button",children:"Hoje"}),t.jsxs("div",{className:i.default.actions,children:[t.jsx(S.Button,{onClick:()=>l(),size:"sm",variant:"secondary",type:"button",children:"Cancelar"}),t.jsx(S.Button,{onClick:()=>{z(N??null),f(!1),l()},size:"sm",type:"button",children:"Aplicar"})]})]})]}),document.body)]})})}exports.DatePicker=ve;
2
+ //# sourceMappingURL=DatePicker.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatePicker.cjs","sources":["../../../../src/components/forms/DatePicker/DatePicker.tsx"],"sourcesContent":["import { useEffect, useRef, useState, type ComponentPropsWithRef, type KeyboardEvent } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useOverlay, useOverlayPosition } from '@react-aria/overlays';\nimport { getLocalTimeZone, today, type CalendarDate } from '@internationalized/date';\nimport { useFormReset } from '../../../hooks/useFormReset';\nimport { useMergedRefs } from '../../../hooks/useMergedRefs';\nimport { formatarEntradaData, lerEntradaData } from '../../../utils/formatters';\nimport { Button } from '../../actions/Button';\nimport { isUnavailable, type CalendarLimits } from '../../../hooks/useCalendar/calendar';\nimport { Field } from '../Field';\nimport { FormValue } from '../Field/FormValue';\nimport { Calendar } from './Calendar';\nimport { readIsoDate } from './iso';\nimport styles from './DatePicker.module.css';\nimport { IconCalendar } from '../../icons';\n\nexport type DatePickerSize = 'sm' | 'md';\n\n/**\n * As propriedades nativas vao ao campo de texto, que e o controle; o `className` soma a caixa do campo, que e o que\n * se posiciona e dimensiona.\n */\nexport interface DatePickerProps\n extends Omit<\n ComponentPropsWithRef<'input'>,\n 'defaultValue' | 'max' | 'min' | 'name' | 'onChange' | 'size' | 'type' | 'value'\n > {\n /** Data em ISO, `2026-03-09`, como no `FormData`: a API nao expoe tipo de biblioteca de terceiros. */\n defaultValue?: string;\n disabled?: boolean;\n error?: string;\n hint?: string;\n id?: string;\n isDateUnavailable?: (date: string) => boolean;\n label?: string;\n /**\n * Nome do campo no formulario. Com ele, um input oculto carrega o valor para\n * o `FormData`: sem controle nativo por baixo, o envio ignorava o campo.\n */\n name?: string;\n locale?: string;\n max?: string;\n min?: string;\n /** Sem data inteira e permitida, o valor e `null`, que mantem o campo controlado e vazio. */\n onValueChange?: (value: string | null) => void;\n placeholder?: string;\n required?: boolean;\n size?: DatePickerSize;\n /**\n * `null` e \"controlado e vazio\": devolver a propriedade a `undefined` nao\n * limpa o campo, porque ali ele volta a ser nao controlado.\n */\n value?: string | null;\n}\n\nexport function DatePicker({\n 'aria-describedby': ariaDescribedBy,\n className,\n defaultValue,\n name,\n disabled = false,\n error,\n hint,\n id: providedId,\n isDateUnavailable,\n label,\n locale = 'pt-BR',\n max,\n min,\n onValueChange,\n onBlur,\n onKeyDown,\n placeholder = 'dd/mm/aaaa',\n required = false,\n size = 'md',\n ref,\n value,\n ...props\n}: DatePickerProps) {\n const fieldRef = useRef<HTMLDivElement>(null);\n const panelRef = useRef<HTMLDivElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const [open, setOpen] = useState(false);\n const limites: CalendarLimits = {\n isDateUnavailable: isDateUnavailable && ((data) => isDateUnavailable(data.toString())),\n max: readIsoDate(max),\n min: readIsoDate(min),\n };\n const [internalValue, setInternalValue] = useState<CalendarDate | null>(() => readIsoDate(defaultValue) ?? null);\n const controlado = value === undefined ? undefined : (readIsoDate(value) ?? null);\n const escolhido = (controlado === undefined ? internalValue : controlado) ?? undefined;\n const [texto, setTexto] = useState('');\n const [digitando, setDigitando] = useState(false);\n const inputRef = useRef<HTMLInputElement>(null);\n const resetRef = useFormReset<HTMLInputElement>(() => {\n setInternalValue(readIsoDate(defaultValue) ?? null);\n setDigitando(false);\n });\n const mergedRef = useMergedRefs(inputRef, resetRef, ref);\n const [rascunho, setRascunho] = useState(escolhido);\n const [versaoDoCalendario, setVersaoDoCalendario] = useState(0);\n\n useEffect(() => {\n if (open) {\n setRascunho(escolhido);\n }\n }, [open]);\n\n const exibido = digitando\n ? texto\n : escolhido\n ? [String(escolhido.day).padStart(2, '0'), String(escolhido.month).padStart(2, '0'), escolhido.year].join('/')\n : '';\n\n // O interno acompanha mesmo controlado: se o consumidor devolver `undefined`, nao ressurge um valor velho.\n function definir(proximo: CalendarDate | null) {\n setInternalValue(proximo);\n onValueChange?.(proximo?.toString() ?? null);\n }\n\n function fechar(devolverFoco = true) {\n setOpen(false);\n\n if (devolverFoco) {\n triggerRef.current?.focus();\n }\n }\n\n function handleChange(entrada: string) {\n const mascarado = formatarEntradaData(entrada);\n\n setDigitando(true);\n setTexto(mascarado);\n\n // Data fora dos limites nao se grava: o calendario ja a recusa, e o campo\n // digitado nao pode ser a porta dos fundos dela.\n const lido = lerEntradaData(mascarado);\n const permitido = lido && !isUnavailable(lido, limites) ? lido : null;\n\n definir(permitido);\n }\n\n function handleKeyDown(event: KeyboardEvent<HTMLInputElement>) {\n onKeyDown?.(event);\n\n if (event.key === 'ArrowDown' && !open) {\n event.preventDefault();\n setOpen(true);\n } else if (event.key === 'Escape' && open) {\n fechar(false);\n }\n }\n\n const { overlayProps } = useOverlay(\n {\n isOpen: open,\n onClose: () => fechar(false),\n isDismissable: true,\n shouldCloseOnBlur: false,\n // O gatilho nao conta como \"fora\": sem isto o ponteiro fecha o painel e o\n // clique dele reabre em seguida, e ele pisca sem abrir.\n shouldCloseOnInteractOutside: (elemento) => !fieldRef.current?.contains(elemento),\n },\n panelRef,\n );\n const { overlayProps: positionProps } = useOverlayPosition({\n targetRef: fieldRef,\n overlayRef: panelRef,\n placement: 'bottom start',\n offset: 6,\n containerPadding: 8,\n isOpen: open,\n });\n\n return (\n <Field aria-describedby={ariaDescribedBy} error={error} hint={hint} id={providedId} label={label} required={required}>\n {({ id, describedBy, invalid }) => (\n <>\n <FormValue\n disabled={disabled}\n name={name}\n onFocus={() => inputRef.current?.focus()}\n required={required}\n value={escolhido?.toString() ?? ''}\n />\n <div\n className={[styles.field, styles[size], error && styles.error, className].filter(Boolean).join(' ')}\n ref={fieldRef}\n >\n <input\n {...props}\n aria-describedby={describedBy}\n aria-invalid={invalid || undefined}\n aria-required={required || undefined}\n autoComplete=\"off\"\n className={styles.input}\n disabled={disabled}\n id={id}\n inputMode=\"numeric\"\n onBlur={(event) => {\n setDigitando(false);\n onBlur?.(event);\n }}\n onChange={(event) => handleChange(event.target.value)}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n ref={mergedRef}\n type=\"text\"\n value={exibido}\n />\n <button\n aria-expanded={open}\n aria-haspopup=\"dialog\"\n aria-label=\"Abrir calendário\"\n className={styles.trigger}\n disabled={disabled}\n onClick={() => (open ? fechar() : setOpen(true))}\n ref={triggerRef}\n type=\"button\"\n >\n <IconCalendar size={15} />\n </button>\n </div>\n {open &&\n createPortal(\n <div\n {...overlayProps}\n aria-label={label ? 'Calendário de ' + label : 'Calendário'}\n className={styles.panel}\n // Camada de cima: o `ariaHideOutside` do Dialog ignora quem a declara.\n data-react-aria-top-layer=\"true\"\n onKeyDown={(event) => {\n if (event.key === 'Escape') {\n fechar();\n }\n overlayProps.onKeyDown?.(event);\n }}\n ref={panelRef}\n role=\"dialog\"\n style={positionProps.style}\n >\n <Calendar\n autoFocus\n key={versaoDoCalendario}\n isDateUnavailable={limites.isDateUnavailable}\n locale={locale}\n max={limites.max}\n min={limites.min}\n onSelect={setRascunho}\n value={rascunho}\n />\n <div className={styles.footer}>\n <Button\n onClick={() => {\n // Remontada, a grade volta ao mes de hoje mesmo que o rascunho ja fosse hoje.\n setRascunho(today(getLocalTimeZone()));\n setVersaoDoCalendario((versao) => versao + 1);\n }}\n size=\"sm\"\n variant=\"ghost\"\n type=\"button\"\n >\n Hoje\n </Button>\n <div className={styles.actions}>\n <Button onClick={() => fechar()} size=\"sm\" variant=\"secondary\" type=\"button\">\n Cancelar\n </Button>\n <Button\n onClick={() => {\n definir(rascunho ?? null);\n setDigitando(false);\n fechar();\n }}\n size=\"sm\"\n type=\"button\"\n >\n Aplicar\n </Button>\n </div>\n </div>\n </div>,\n document.body,\n )}\n </>\n )}\n </Field>\n );\n}\n"],"names":["DatePicker","ariaDescribedBy","className","defaultValue","name","disabled","error","hint","providedId","isDateUnavailable","label","locale","max","min","onValueChange","onBlur","onKeyDown","placeholder","required","size","ref","value","props","fieldRef","useRef","panelRef","triggerRef","open","setOpen","useState","limites","data","readIsoDate","internalValue","setInternalValue","controlado","escolhido","texto","setTexto","digitando","setDigitando","inputRef","resetRef","useFormReset","mergedRef","useMergedRefs","rascunho","setRascunho","versaoDoCalendario","setVersaoDoCalendario","useEffect","exibido","definir","proximo","fechar","devolverFoco","_a","handleChange","entrada","mascarado","formatarEntradaData","lido","lerEntradaData","permitido","isUnavailable","handleKeyDown","event","overlayProps","useOverlay","elemento","positionProps","useOverlayPosition","Field","id","describedBy","invalid","jsxs","Fragment","jsx","FormValue","styles","IconCalendar","createPortal","Calendar","Button","today","getLocalTimeZone","versao"],"mappings":"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"}
@@ -0,0 +1,217 @@
1
+ import { jsx as i, jsxs as d, Fragment as le } from "react/jsx-runtime";
2
+ import { useRef as y, useState as l, useEffect as ce } from "react";
3
+ import { createPortal as de } from "react-dom";
4
+ import { useOverlay as fe, useOverlayPosition as me } from "@react-aria/overlays";
5
+ import { today as ue, getLocalTimeZone as pe } from "@internationalized/date";
6
+ import { useFormReset as ye } from "../../../hooks/useFormReset.js";
7
+ import { useMergedRefs as ve } from "../../../hooks/useMergedRefs.js";
8
+ import { isUnavailable as ge } from "../../../hooks/useCalendar/calendar.js";
9
+ import { FormValue as be } from "../Field/FormValue.js";
10
+ import { Calendar as he } from "./Calendar.js";
11
+ import { readIsoDate as f } from "./iso.js";
12
+ import n from "./DatePicker.module.css.js";
13
+ import { Field as Ce } from "../Field/Field.js";
14
+ import { IconCalendar as Re } from "../../icons/icons.js";
15
+ import { Button as x } from "../../actions/Button/Button.js";
16
+ import { formatarEntradaData as De, lerEntradaData as Se } from "../../../utils/formatters/formatarEntradaData.js";
17
+ function He({
18
+ "aria-describedby": T,
19
+ className: B,
20
+ defaultValue: F,
21
+ name: H,
22
+ disabled: v = !1,
23
+ error: N,
24
+ hint: L,
25
+ id: Z,
26
+ isDateUnavailable: j,
27
+ label: g,
28
+ locale: G = "pt-BR",
29
+ max: J,
30
+ min: K,
31
+ onValueChange: b,
32
+ onBlur: h,
33
+ onKeyDown: C,
34
+ placeholder: Q = "dd/mm/aaaa",
35
+ required: R = !1,
36
+ size: W = "md",
37
+ ref: X,
38
+ value: E,
39
+ ...Y
40
+ }) {
41
+ const D = y(null), S = y(null), P = y(null), [o, k] = l(!1), m = {
42
+ isDateUnavailable: j && ((e) => j(e.toString())),
43
+ max: f(J),
44
+ min: f(K)
45
+ }, [_, z] = l(() => f(F) ?? null), I = E === void 0 ? void 0 : f(E) ?? null, r = (I === void 0 ? _ : I) ?? void 0, [$, q] = l(""), [V, u] = l(!1), A = y(null), ee = ye(() => {
46
+ z(f(F) ?? null), u(!1);
47
+ }), te = ve(A, ee, X), [U, O] = l(r), [ae, oe] = l(0);
48
+ ce(() => {
49
+ o && O(r);
50
+ }, [o]);
51
+ const re = V ? $ : r ? [String(r.day).padStart(2, "0"), String(r.month).padStart(2, "0"), r.year].join("/") : "";
52
+ function w(e) {
53
+ z(e), b == null || b((e == null ? void 0 : e.toString()) ?? null);
54
+ }
55
+ function s(e = !0) {
56
+ var a;
57
+ k(!1), e && ((a = P.current) == null || a.focus());
58
+ }
59
+ function ie(e) {
60
+ const a = De(e);
61
+ u(!0), q(a);
62
+ const c = Se(a), t = c && !ge(c, m) ? c : null;
63
+ w(t);
64
+ }
65
+ function ne(e) {
66
+ C == null || C(e), e.key === "ArrowDown" && !o ? (e.preventDefault(), k(!0)) : e.key === "Escape" && o && s(!1);
67
+ }
68
+ const { overlayProps: p } = fe(
69
+ {
70
+ isOpen: o,
71
+ onClose: () => s(!1),
72
+ isDismissable: !0,
73
+ shouldCloseOnBlur: !1,
74
+ // O gatilho nao conta como "fora": sem isto o ponteiro fecha o painel e o
75
+ // clique dele reabre em seguida, e ele pisca sem abrir.
76
+ shouldCloseOnInteractOutside: (e) => {
77
+ var a;
78
+ return !((a = D.current) != null && a.contains(e));
79
+ }
80
+ },
81
+ S
82
+ ), { overlayProps: se } = me({
83
+ targetRef: D,
84
+ overlayRef: S,
85
+ placement: "bottom start",
86
+ offset: 6,
87
+ containerPadding: 8,
88
+ isOpen: o
89
+ });
90
+ return /* @__PURE__ */ i(Ce, { "aria-describedby": T, error: N, hint: L, id: Z, label: g, required: R, children: ({ id: e, describedBy: a, invalid: c }) => /* @__PURE__ */ d(le, { children: [
91
+ /* @__PURE__ */ i(
92
+ be,
93
+ {
94
+ disabled: v,
95
+ name: H,
96
+ onFocus: () => {
97
+ var t;
98
+ return (t = A.current) == null ? void 0 : t.focus();
99
+ },
100
+ required: R,
101
+ value: (r == null ? void 0 : r.toString()) ?? ""
102
+ }
103
+ ),
104
+ /* @__PURE__ */ d(
105
+ "div",
106
+ {
107
+ className: [n.field, n[W], N && n.error, B].filter(Boolean).join(" "),
108
+ ref: D,
109
+ children: [
110
+ /* @__PURE__ */ i(
111
+ "input",
112
+ {
113
+ ...Y,
114
+ "aria-describedby": a,
115
+ "aria-invalid": c || void 0,
116
+ "aria-required": R || void 0,
117
+ autoComplete: "off",
118
+ className: n.input,
119
+ disabled: v,
120
+ id: e,
121
+ inputMode: "numeric",
122
+ onBlur: (t) => {
123
+ u(!1), h == null || h(t);
124
+ },
125
+ onChange: (t) => ie(t.target.value),
126
+ onKeyDown: ne,
127
+ placeholder: Q,
128
+ ref: te,
129
+ type: "text",
130
+ value: re
131
+ }
132
+ ),
133
+ /* @__PURE__ */ i(
134
+ "button",
135
+ {
136
+ "aria-expanded": o,
137
+ "aria-haspopup": "dialog",
138
+ "aria-label": "Abrir calendário",
139
+ className: n.trigger,
140
+ disabled: v,
141
+ onClick: () => o ? s() : k(!0),
142
+ ref: P,
143
+ type: "button",
144
+ children: /* @__PURE__ */ i(Re, { size: 15 })
145
+ }
146
+ )
147
+ ]
148
+ }
149
+ ),
150
+ o && de(
151
+ /* @__PURE__ */ d(
152
+ "div",
153
+ {
154
+ ...p,
155
+ "aria-label": g ? "Calendário de " + g : "Calendário",
156
+ className: n.panel,
157
+ "data-react-aria-top-layer": "true",
158
+ onKeyDown: (t) => {
159
+ var M;
160
+ t.key === "Escape" && s(), (M = p.onKeyDown) == null || M.call(p, t);
161
+ },
162
+ ref: S,
163
+ role: "dialog",
164
+ style: se.style,
165
+ children: [
166
+ /* @__PURE__ */ i(
167
+ he,
168
+ {
169
+ autoFocus: !0,
170
+ isDateUnavailable: m.isDateUnavailable,
171
+ locale: G,
172
+ max: m.max,
173
+ min: m.min,
174
+ onSelect: O,
175
+ value: U
176
+ },
177
+ ae
178
+ ),
179
+ /* @__PURE__ */ d("div", { className: n.footer, children: [
180
+ /* @__PURE__ */ i(
181
+ x,
182
+ {
183
+ onClick: () => {
184
+ O(ue(pe())), oe((t) => t + 1);
185
+ },
186
+ size: "sm",
187
+ variant: "ghost",
188
+ type: "button",
189
+ children: "Hoje"
190
+ }
191
+ ),
192
+ /* @__PURE__ */ d("div", { className: n.actions, children: [
193
+ /* @__PURE__ */ i(x, { onClick: () => s(), size: "sm", variant: "secondary", type: "button", children: "Cancelar" }),
194
+ /* @__PURE__ */ i(
195
+ x,
196
+ {
197
+ onClick: () => {
198
+ w(U ?? null), u(!1), s();
199
+ },
200
+ size: "sm",
201
+ type: "button",
202
+ children: "Aplicar"
203
+ }
204
+ )
205
+ ] })
206
+ ] })
207
+ ]
208
+ }
209
+ ),
210
+ document.body
211
+ )
212
+ ] }) });
213
+ }
214
+ export {
215
+ He as DatePicker
216
+ };
217
+ //# sourceMappingURL=DatePicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatePicker.js","sources":["../../../../src/components/forms/DatePicker/DatePicker.tsx"],"sourcesContent":["import { useEffect, useRef, useState, type ComponentPropsWithRef, type KeyboardEvent } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useOverlay, useOverlayPosition } from '@react-aria/overlays';\nimport { getLocalTimeZone, today, type CalendarDate } from '@internationalized/date';\nimport { useFormReset } from '../../../hooks/useFormReset';\nimport { useMergedRefs } from '../../../hooks/useMergedRefs';\nimport { formatarEntradaData, lerEntradaData } from '../../../utils/formatters';\nimport { Button } from '../../actions/Button';\nimport { isUnavailable, type CalendarLimits } from '../../../hooks/useCalendar/calendar';\nimport { Field } from '../Field';\nimport { FormValue } from '../Field/FormValue';\nimport { Calendar } from './Calendar';\nimport { readIsoDate } from './iso';\nimport styles from './DatePicker.module.css';\nimport { IconCalendar } from '../../icons';\n\nexport type DatePickerSize = 'sm' | 'md';\n\n/**\n * As propriedades nativas vao ao campo de texto, que e o controle; o `className` soma a caixa do campo, que e o que\n * se posiciona e dimensiona.\n */\nexport interface DatePickerProps\n extends Omit<\n ComponentPropsWithRef<'input'>,\n 'defaultValue' | 'max' | 'min' | 'name' | 'onChange' | 'size' | 'type' | 'value'\n > {\n /** Data em ISO, `2026-03-09`, como no `FormData`: a API nao expoe tipo de biblioteca de terceiros. */\n defaultValue?: string;\n disabled?: boolean;\n error?: string;\n hint?: string;\n id?: string;\n isDateUnavailable?: (date: string) => boolean;\n label?: string;\n /**\n * Nome do campo no formulario. Com ele, um input oculto carrega o valor para\n * o `FormData`: sem controle nativo por baixo, o envio ignorava o campo.\n */\n name?: string;\n locale?: string;\n max?: string;\n min?: string;\n /** Sem data inteira e permitida, o valor e `null`, que mantem o campo controlado e vazio. */\n onValueChange?: (value: string | null) => void;\n placeholder?: string;\n required?: boolean;\n size?: DatePickerSize;\n /**\n * `null` e \"controlado e vazio\": devolver a propriedade a `undefined` nao\n * limpa o campo, porque ali ele volta a ser nao controlado.\n */\n value?: string | null;\n}\n\nexport function DatePicker({\n 'aria-describedby': ariaDescribedBy,\n className,\n defaultValue,\n name,\n disabled = false,\n error,\n hint,\n id: providedId,\n isDateUnavailable,\n label,\n locale = 'pt-BR',\n max,\n min,\n onValueChange,\n onBlur,\n onKeyDown,\n placeholder = 'dd/mm/aaaa',\n required = false,\n size = 'md',\n ref,\n value,\n ...props\n}: DatePickerProps) {\n const fieldRef = useRef<HTMLDivElement>(null);\n const panelRef = useRef<HTMLDivElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const [open, setOpen] = useState(false);\n const limites: CalendarLimits = {\n isDateUnavailable: isDateUnavailable && ((data) => isDateUnavailable(data.toString())),\n max: readIsoDate(max),\n min: readIsoDate(min),\n };\n const [internalValue, setInternalValue] = useState<CalendarDate | null>(() => readIsoDate(defaultValue) ?? null);\n const controlado = value === undefined ? undefined : (readIsoDate(value) ?? null);\n const escolhido = (controlado === undefined ? internalValue : controlado) ?? undefined;\n const [texto, setTexto] = useState('');\n const [digitando, setDigitando] = useState(false);\n const inputRef = useRef<HTMLInputElement>(null);\n const resetRef = useFormReset<HTMLInputElement>(() => {\n setInternalValue(readIsoDate(defaultValue) ?? null);\n setDigitando(false);\n });\n const mergedRef = useMergedRefs(inputRef, resetRef, ref);\n const [rascunho, setRascunho] = useState(escolhido);\n const [versaoDoCalendario, setVersaoDoCalendario] = useState(0);\n\n useEffect(() => {\n if (open) {\n setRascunho(escolhido);\n }\n }, [open]);\n\n const exibido = digitando\n ? texto\n : escolhido\n ? [String(escolhido.day).padStart(2, '0'), String(escolhido.month).padStart(2, '0'), escolhido.year].join('/')\n : '';\n\n // O interno acompanha mesmo controlado: se o consumidor devolver `undefined`, nao ressurge um valor velho.\n function definir(proximo: CalendarDate | null) {\n setInternalValue(proximo);\n onValueChange?.(proximo?.toString() ?? null);\n }\n\n function fechar(devolverFoco = true) {\n setOpen(false);\n\n if (devolverFoco) {\n triggerRef.current?.focus();\n }\n }\n\n function handleChange(entrada: string) {\n const mascarado = formatarEntradaData(entrada);\n\n setDigitando(true);\n setTexto(mascarado);\n\n // Data fora dos limites nao se grava: o calendario ja a recusa, e o campo\n // digitado nao pode ser a porta dos fundos dela.\n const lido = lerEntradaData(mascarado);\n const permitido = lido && !isUnavailable(lido, limites) ? lido : null;\n\n definir(permitido);\n }\n\n function handleKeyDown(event: KeyboardEvent<HTMLInputElement>) {\n onKeyDown?.(event);\n\n if (event.key === 'ArrowDown' && !open) {\n event.preventDefault();\n setOpen(true);\n } else if (event.key === 'Escape' && open) {\n fechar(false);\n }\n }\n\n const { overlayProps } = useOverlay(\n {\n isOpen: open,\n onClose: () => fechar(false),\n isDismissable: true,\n shouldCloseOnBlur: false,\n // O gatilho nao conta como \"fora\": sem isto o ponteiro fecha o painel e o\n // clique dele reabre em seguida, e ele pisca sem abrir.\n shouldCloseOnInteractOutside: (elemento) => !fieldRef.current?.contains(elemento),\n },\n panelRef,\n );\n const { overlayProps: positionProps } = useOverlayPosition({\n targetRef: fieldRef,\n overlayRef: panelRef,\n placement: 'bottom start',\n offset: 6,\n containerPadding: 8,\n isOpen: open,\n });\n\n return (\n <Field aria-describedby={ariaDescribedBy} error={error} hint={hint} id={providedId} label={label} required={required}>\n {({ id, describedBy, invalid }) => (\n <>\n <FormValue\n disabled={disabled}\n name={name}\n onFocus={() => inputRef.current?.focus()}\n required={required}\n value={escolhido?.toString() ?? ''}\n />\n <div\n className={[styles.field, styles[size], error && styles.error, className].filter(Boolean).join(' ')}\n ref={fieldRef}\n >\n <input\n {...props}\n aria-describedby={describedBy}\n aria-invalid={invalid || undefined}\n aria-required={required || undefined}\n autoComplete=\"off\"\n className={styles.input}\n disabled={disabled}\n id={id}\n inputMode=\"numeric\"\n onBlur={(event) => {\n setDigitando(false);\n onBlur?.(event);\n }}\n onChange={(event) => handleChange(event.target.value)}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n ref={mergedRef}\n type=\"text\"\n value={exibido}\n />\n <button\n aria-expanded={open}\n aria-haspopup=\"dialog\"\n aria-label=\"Abrir calendário\"\n className={styles.trigger}\n disabled={disabled}\n onClick={() => (open ? fechar() : setOpen(true))}\n ref={triggerRef}\n type=\"button\"\n >\n <IconCalendar size={15} />\n </button>\n </div>\n {open &&\n createPortal(\n <div\n {...overlayProps}\n aria-label={label ? 'Calendário de ' + label : 'Calendário'}\n className={styles.panel}\n // Camada de cima: o `ariaHideOutside` do Dialog ignora quem a declara.\n data-react-aria-top-layer=\"true\"\n onKeyDown={(event) => {\n if (event.key === 'Escape') {\n fechar();\n }\n overlayProps.onKeyDown?.(event);\n }}\n ref={panelRef}\n role=\"dialog\"\n style={positionProps.style}\n >\n <Calendar\n autoFocus\n key={versaoDoCalendario}\n isDateUnavailable={limites.isDateUnavailable}\n locale={locale}\n max={limites.max}\n min={limites.min}\n onSelect={setRascunho}\n value={rascunho}\n />\n <div className={styles.footer}>\n <Button\n onClick={() => {\n // Remontada, a grade volta ao mes de hoje mesmo que o rascunho ja fosse hoje.\n setRascunho(today(getLocalTimeZone()));\n setVersaoDoCalendario((versao) => versao + 1);\n }}\n size=\"sm\"\n variant=\"ghost\"\n type=\"button\"\n >\n Hoje\n </Button>\n <div className={styles.actions}>\n <Button onClick={() => fechar()} size=\"sm\" variant=\"secondary\" type=\"button\">\n Cancelar\n </Button>\n <Button\n onClick={() => {\n definir(rascunho ?? null);\n setDigitando(false);\n fechar();\n }}\n size=\"sm\"\n type=\"button\"\n >\n Aplicar\n </Button>\n </div>\n </div>\n </div>,\n document.body,\n )}\n </>\n )}\n </Field>\n );\n}\n"],"names":["DatePicker","ariaDescribedBy","className","defaultValue","name","disabled","error","hint","providedId","isDateUnavailable","label","locale","max","min","onValueChange","onBlur","onKeyDown","placeholder","required","size","ref","value","props","fieldRef","useRef","panelRef","triggerRef","open","setOpen","useState","limites","data","readIsoDate","internalValue","setInternalValue","controlado","escolhido","texto","setTexto","digitando","setDigitando","inputRef","resetRef","useFormReset","mergedRef","useMergedRefs","rascunho","setRascunho","versaoDoCalendario","setVersaoDoCalendario","useEffect","exibido","definir","proximo","fechar","devolverFoco","_a","handleChange","entrada","mascarado","formatarEntradaData","lido","lerEntradaData","permitido","isUnavailable","handleKeyDown","event","overlayProps","useOverlay","elemento","positionProps","useOverlayPosition","Field","id","describedBy","invalid","jsxs","Fragment","jsx","FormValue","styles","IconCalendar","createPortal","Calendar","Button","today","getLocalTimeZone","versao"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="_field_6g4z6_2",t="_error_6g4z6_12",_="_input_6g4z6_12",a="_sm_6g4z6_54",n="_md_6g4z6_59",o="_trigger_6g4z6_72",d="_panel_6g4z6_97",r="_calendar_6g4z6_106",s="_calendarHeader_6g4z6_112",c="_month_6g4z6_119",g="_navigate_6g4z6_127",l="_grid_6g4z6_150",i="_weekday_6g4z6_154",z="_dayCell_6g4z6_164",y="_day_6g4z6_164",u="_outside_6g4z6_190",m="_selectedDay_6g4z6_200",f="_footer_6g4z6_213",p="_actions_6g4z6_223",v={field:e,error:t,input:_,sm:a,md:n,trigger:o,panel:d,calendar:r,calendarHeader:s,month:c,navigate:g,grid:l,weekday:i,dayCell:z,day:y,outside:u,selectedDay:m,footer:f,actions:p};exports.actions=p;exports.calendar=r;exports.calendarHeader=s;exports.day=y;exports.dayCell=z;exports.default=v;exports.error=t;exports.field=e;exports.footer=f;exports.grid=l;exports.input=_;exports.md=n;exports.month=c;exports.navigate=g;exports.outside=u;exports.panel=d;exports.selectedDay=m;exports.sm=a;exports.trigger=o;exports.weekday=i;
2
+ //# sourceMappingURL=DatePicker.module.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatePicker.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,44 @@
1
+ const _ = "_field_6g4z6_2", e = "_error_6g4z6_12", t = "_input_6g4z6_12", a = "_sm_6g4z6_54", n = "_md_6g4z6_59", o = "_trigger_6g4z6_72", s = "_panel_6g4z6_97", d = "_calendar_6g4z6_106", c = "_calendarHeader_6g4z6_112", g = "_month_6g4z6_119", r = "_navigate_6g4z6_127", l = "_grid_6g4z6_150", i = "_weekday_6g4z6_154", z = "_dayCell_6g4z6_164", y = "_day_6g4z6_164", m = "_outside_6g4z6_190", f = "_selectedDay_6g4z6_200", p = "_footer_6g4z6_213", u = "_actions_6g4z6_223", h = {
2
+ field: _,
3
+ error: e,
4
+ input: t,
5
+ sm: a,
6
+ md: n,
7
+ trigger: o,
8
+ panel: s,
9
+ calendar: d,
10
+ calendarHeader: c,
11
+ month: g,
12
+ navigate: r,
13
+ grid: l,
14
+ weekday: i,
15
+ dayCell: z,
16
+ day: y,
17
+ outside: m,
18
+ selectedDay: f,
19
+ footer: p,
20
+ actions: u
21
+ };
22
+ export {
23
+ u as actions,
24
+ d as calendar,
25
+ c as calendarHeader,
26
+ y as day,
27
+ z as dayCell,
28
+ h as default,
29
+ e as error,
30
+ _ as field,
31
+ p as footer,
32
+ l as grid,
33
+ t as input,
34
+ n as md,
35
+ g as month,
36
+ r as navigate,
37
+ m as outside,
38
+ s as panel,
39
+ f as selectedDay,
40
+ a as sm,
41
+ o as trigger,
42
+ i as weekday
43
+ };
44
+ //# sourceMappingURL=DatePicker.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatePicker.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("@internationalized/date");function o(e,r){if(e)try{return r(e)}catch{return}}const s=e=>o(e,t.parseDate),i=e=>o(e,t.parseTime),a=e=>o(e,t.parseDateTime),n=e=>e.toString().slice(0,5),c=e=>e.toString().slice(0,16);exports.readIsoDate=s;exports.readIsoDateTime=a;exports.readIsoTime=i;exports.toIsoDateTime=c;exports.toIsoTime=n;
2
+ //# sourceMappingURL=iso.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iso.cjs","sources":["../../../../src/components/forms/DatePicker/iso.ts"],"sourcesContent":["import { parseDate, parseDateTime, parseTime, type CalendarDateTime, type Time } from '@internationalized/date';\n\n/** A API publica fala em texto ISO; o que nao e data valida conta como ausente, em vez de derrubar o componente. */\nfunction ler<T>(texto: string | null | undefined, interpretar: (texto: string) => T) {\n if (!texto) {\n return undefined;\n }\n\n try {\n return interpretar(texto);\n } catch {\n return undefined;\n }\n}\n\nexport const readIsoDate = (texto?: string | null) => ler(texto, parseDate);\nexport const readIsoTime = (texto?: string | null) => ler(texto, parseTime);\nexport const readIsoDateTime = (texto?: string | null) => ler(texto, parseDateTime);\n\n/** Hora e data com hora saem sem segundos, que os seletores nao escolhem: `09:30` e `2026-03-09T09:30`. */\nexport const toIsoTime = (hora: Time) => hora.toString().slice(0, 5);\nexport const toIsoDateTime = (instante: CalendarDateTime) => instante.toString().slice(0, 16);\n"],"names":["ler","texto","interpretar","readIsoDate","parseDate","readIsoTime","parseTime","readIsoDateTime","parseDateTime","toIsoTime","hora","toIsoDateTime","instante"],"mappings":"2HAGA,SAASA,EAAOC,EAAkCC,EAAmC,CACnF,GAAKD,EAIL,GAAI,CACF,OAAOC,EAAYD,CAAK,CAC1B,MAAQ,CACN,MACF,CACF,CAEO,MAAME,EAAeF,GAA0BD,EAAIC,EAAOG,EAAAA,SAAS,EAC7DC,EAAeJ,GAA0BD,EAAIC,EAAOK,EAAAA,SAAS,EAC7DC,EAAmBN,GAA0BD,EAAIC,EAAOO,EAAAA,aAAa,EAGrEC,EAAaC,GAAeA,EAAK,WAAW,MAAM,EAAG,CAAC,EACtDC,EAAiBC,GAA+BA,EAAS,WAAW,MAAM,EAAG,EAAE"}
@@ -0,0 +1,18 @@
1
+ import { parseDate as r, parseTime as i, parseDateTime as s } from "@internationalized/date";
2
+ function t(e, o) {
3
+ if (e)
4
+ try {
5
+ return o(e);
6
+ } catch {
7
+ return;
8
+ }
9
+ }
10
+ const n = (e) => t(e, r), c = (e) => t(e, i), m = (e) => t(e, s), T = (e) => e.toString().slice(0, 5), d = (e) => e.toString().slice(0, 16);
11
+ export {
12
+ n as readIsoDate,
13
+ m as readIsoDateTime,
14
+ c as readIsoTime,
15
+ d as toIsoDateTime,
16
+ T as toIsoTime
17
+ };
18
+ //# sourceMappingURL=iso.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iso.js","sources":["../../../../src/components/forms/DatePicker/iso.ts"],"sourcesContent":["import { parseDate, parseDateTime, parseTime, type CalendarDateTime, type Time } from '@internationalized/date';\n\n/** A API publica fala em texto ISO; o que nao e data valida conta como ausente, em vez de derrubar o componente. */\nfunction ler<T>(texto: string | null | undefined, interpretar: (texto: string) => T) {\n if (!texto) {\n return undefined;\n }\n\n try {\n return interpretar(texto);\n } catch {\n return undefined;\n }\n}\n\nexport const readIsoDate = (texto?: string | null) => ler(texto, parseDate);\nexport const readIsoTime = (texto?: string | null) => ler(texto, parseTime);\nexport const readIsoDateTime = (texto?: string | null) => ler(texto, parseDateTime);\n\n/** Hora e data com hora saem sem segundos, que os seletores nao escolhem: `09:30` e `2026-03-09T09:30`. */\nexport const toIsoTime = (hora: Time) => hora.toString().slice(0, 5);\nexport const toIsoDateTime = (instante: CalendarDateTime) => instante.toString().slice(0, 16);\n"],"names":["ler","texto","interpretar","readIsoDate","parseDate","readIsoTime","parseTime","readIsoDateTime","parseDateTime","toIsoTime","hora","toIsoDateTime","instante"],"mappings":";AAGA,SAASA,EAAOC,GAAkCC,GAAmC;AACnF,MAAKD;AAIL,QAAI;AACF,aAAOC,EAAYD,CAAK;AAAA,IAC1B,QAAQ;AACN;AAAA,IACF;AACF;AAEO,MAAME,IAAc,CAACF,MAA0BD,EAAIC,GAAOG,CAAS,GAC7DC,IAAc,CAACJ,MAA0BD,EAAIC,GAAOK,CAAS,GAC7DC,IAAkB,CAACN,MAA0BD,EAAIC,GAAOO,CAAa,GAGrEC,IAAY,CAACC,MAAeA,EAAK,WAAW,MAAM,GAAG,CAAC,GACtDC,IAAgB,CAACC,MAA+BA,EAAS,WAAW,MAAM,GAAG,EAAE;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),o=require("react"),ye=require("react-dom"),M=require("@react-aria/overlays"),r=require("@internationalized/date"),pe=require("../../../hooks/useFormReset.cjs"),De=require("../../../hooks/useMergedRefs.cjs"),he=require("../DatePicker/Calendar.cjs"),u=require("../DatePicker/iso.cjs"),xe=require("../TimePicker/TimeSlots.cjs"),ge=require("../../../hooks/useCalendar/calendar.cjs"),be=require("../Field/FormValue.cjs"),c=require("./DateTimePicker.module.css.cjs"),je=require("../Field/Field.cjs"),Ce=require("../../icons/icons.cjs"),I=require("../../actions/Button/Button.cjs"),L=require("../../../utils/formatters/formatarEntradaHora.cjs"),x=i=>String(i).padStart(2,"0");function ve(i){return i?[x(i.day),x(i.month),i.year].join("/")+" "+x(i.hour)+":"+x(i.minute):""}function Re({"aria-describedby":i,className:k,defaultValue:F,name:U,disabled:g=!1,error:O,hint:Z,id:_,isDateUnavailable:P,label:b,locale:$="pt-BR",max:G,min:J,step:K=30,onValueChange:j,onBlur:C,onKeyDown:v,placeholder:Q="dd/mm/aaaa hh:mm",required:R=!1,size:V="md",ref:W,value:w,...X}){const T=o.useRef(null),q=o.useRef(null),N=o.useRef(null),Y=`datetime-hora-${o.useId()}`,[l,S]=o.useState(!1),y={isDateUnavailable:P&&(e=>P(e.toString())),max:u.readIsoDate(G),min:u.readIsoDate(J)},[ee,E]=o.useState(()=>u.readIsoDateTime(F)??null),[te,ae]=o.useState(""),[se,p]=o.useState(!1),z=w===void 0?void 0:u.readIsoDateTime(w)??null,m=(z===void 0?ee:z)??void 0,[a,D]=o.useState(m),[ne,oe]=o.useState(0),A=o.useRef(null),ie=pe.useFormReset(()=>{E(u.readIsoDateTime(F)??null),p(!1)}),re=De.useMergedRefs(A,ie,W);o.useEffect(()=>{l&&D(m)},[l]);const le=se?te:ve(m);function B(e){E(e),j==null||j(e?u.toIsoDateTime(e):null)}function ce(e){D(new r.CalendarDateTime(e.year,e.month,e.day,(a==null?void 0:a.hour)??0,(a==null?void 0:a.minute)??0))}function ue(e){const s=a??r.today(r.getLocalTimeZone());D(new r.CalendarDateTime(s.year,s.month,s.day,e.hour,e.minute))}function d(e=!0){var s;S(!1),e&&((s=N.current)==null||s.focus())}function de(e){const s=L.formatarEntradaDataHora(e);p(!0),ae(s);const f=L.lerEntradaDataHora(s),n=f&&r.toCalendarDate(f);B(f&&n&&!ge.isUnavailable(n,y)?f:null)}function fe(e){v==null||v(e),e.key==="ArrowDown"&&!l?(e.preventDefault(),S(!0)):e.key==="Escape"&&l&&d(!1)}const{overlayProps:h}=M.useOverlay({isOpen:l,onClose:()=>d(!1),isDismissable:!0,shouldCloseOnBlur:!1,shouldCloseOnInteractOutside:e=>{var s;return!((s=T.current)!=null&&s.contains(e))}},q),{overlayProps:me}=M.useOverlayPosition({targetRef:T,overlayRef:q,placement:"bottom start",offset:6,containerPadding:8,isOpen:l});return t.jsx(je.Field,{"aria-describedby":i,error:O,hint:Z,id:_,label:b,required:R,children:({id:e,describedBy:s,invalid:f})=>t.jsxs(t.Fragment,{children:[t.jsx(be.FormValue,{disabled:g,name:U,onFocus:()=>{var n;return(n=A.current)==null?void 0:n.focus()},required:R,value:m?u.toIsoDateTime(m):""}),t.jsxs("div",{className:[c.default.field,c.default[V],O&&c.default.error,k].filter(Boolean).join(" "),ref:T,children:[t.jsx("input",{...X,"aria-describedby":s,"aria-invalid":f||void 0,"aria-required":R||void 0,autoComplete:"off",className:c.default.input,disabled:g,id:e,inputMode:"numeric",onBlur:n=>{p(!1),C==null||C(n)},onChange:n=>de(n.target.value),onKeyDown:fe,placeholder:Q,ref:re,type:"text",value:le}),t.jsx("button",{"aria-expanded":l,"aria-haspopup":"dialog","aria-label":"Abrir calendário",className:c.default.trigger,disabled:g,onClick:()=>l?d():S(!0),ref:N,type:"button",children:t.jsx(Ce.IconCalendar,{size:15})})]}),l&&ye.createPortal(t.jsxs("div",{...h,"aria-label":b?"Calendário de "+b:"Calendário",className:c.default.panel,"data-react-aria-top-layer":"true",onKeyDown:n=>{var H;n.key==="Escape"&&d(),(H=h.onKeyDown)==null||H.call(h,n)},ref:q,role:"dialog",style:me.style,children:[t.jsxs("div",{className:c.default.columns,children:[t.jsx(he.Calendar,{autoFocus:!0,isDateUnavailable:y.isDateUnavailable,locale:$,max:y.max,min:y.min,onSelect:ce,value:a&&new r.CalendarDate(a.year,a.month,a.day)},ne),t.jsx(xe.TimeSlots,{baseId:Y,onChange:ue,step:K,value:a&&new r.Time(a.hour,a.minute)})]}),t.jsxs("div",{className:c.default.footer,children:[t.jsx(I.Button,{onClick:()=>{D(r.toCalendarDateTime(r.now(r.getLocalTimeZone())).set({second:0,millisecond:0})),oe(n=>n+1)},size:"sm",variant:"ghost",type:"button",children:"Agora"}),t.jsxs("div",{className:c.default.actions,children:[t.jsx(I.Button,{onClick:()=>d(),size:"sm",variant:"secondary",type:"button",children:"Cancelar"}),t.jsx(I.Button,{onClick:()=>{B(a??null),p(!1),d()},size:"sm",type:"button",children:"Aplicar"})]})]})]}),document.body)]})})}exports.DateTimePicker=Re;
2
+ //# sourceMappingURL=DateTimePicker.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateTimePicker.cjs","sources":["../../../../src/components/forms/DateTimePicker/DateTimePicker.tsx"],"sourcesContent":["import { useEffect, useId, useRef, useState, type ComponentPropsWithRef, type KeyboardEvent } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useOverlay, useOverlayPosition } from '@react-aria/overlays';\nimport {\n CalendarDate,\n CalendarDateTime,\n Time,\n getLocalTimeZone,\n now,\n toCalendarDate,\n toCalendarDateTime,\n today,\n} from '@internationalized/date';\nimport { useFormReset } from '../../../hooks/useFormReset';\nimport { useMergedRefs } from '../../../hooks/useMergedRefs';\nimport { formatarEntradaDataHora, lerEntradaDataHora } from '../../../utils/formatters';\nimport { Button } from '../../actions/Button';\nimport { Calendar } from '../DatePicker/Calendar';\nimport { readIsoDate, readIsoDateTime, toIsoDateTime } from '../DatePicker/iso';\nimport { TimeSlots } from '../TimePicker/TimeSlots';\nimport { isUnavailable, type CalendarLimits } from '../../../hooks/useCalendar/calendar';\nimport { Field } from '../Field';\nimport { FormValue } from '../Field/FormValue';\nimport styles from './DateTimePicker.module.css';\nimport { IconCalendar } from '../../icons';\n\nexport type DateTimePickerSize = 'sm' | 'md';\n\n/**\n * As propriedades nativas vao ao campo de texto, que e o controle; o `className` soma a caixa do campo, que e o que\n * se posiciona e dimensiona.\n */\nexport interface DateTimePickerProps\n extends Omit<\n ComponentPropsWithRef<'input'>,\n 'defaultValue' | 'max' | 'min' | 'name' | 'onChange' | 'size' | 'type' | 'value' | 'step'\n > {\n /** Data e hora em ISO, `2026-03-09T18:40`, como no `FormData`: a API nao expoe tipo de biblioteca de terceiros. */\n defaultValue?: string;\n disabled?: boolean;\n error?: string;\n hint?: string;\n id?: string;\n isDateUnavailable?: (date: string) => boolean;\n label?: string;\n /**\n * Nome do campo no formulario. Com ele, um input oculto carrega o valor para\n * o `FormData`: sem controle nativo por baixo, o envio ignorava o campo.\n */\n name?: string;\n locale?: string;\n /** Limites de data, em `2026-03-09`. */\n max?: string;\n min?: string;\n step?: number;\n /** Sem data e hora inteiras e permitidas, o valor e `null`, que mantem o campo controlado e vazio. */\n onValueChange?: (value: string | null) => void;\n placeholder?: string;\n required?: boolean;\n size?: DateTimePickerSize;\n /**\n * `null` e \"controlado e vazio\": devolver a propriedade a `undefined` nao\n * limpa o campo, porque ali ele volta a ser nao controlado.\n */\n value?: string | null;\n}\n\nconst doisDigitos = (valor: number) => String(valor).padStart(2, '0');\n\nfunction paraTexto(valor?: CalendarDateTime) {\n if (!valor) {\n return '';\n }\n\n const data = [doisDigitos(valor.day), doisDigitos(valor.month), valor.year].join('/');\n\n return data + ' ' + doisDigitos(valor.hour) + ':' + doisDigitos(valor.minute);\n}\n\nexport function DateTimePicker({\n 'aria-describedby': ariaDescribedBy,\n className,\n defaultValue,\n name,\n disabled = false,\n error,\n hint,\n id: providedId,\n isDateUnavailable,\n label,\n locale = 'pt-BR',\n max,\n min,\n step = 30,\n onValueChange,\n onBlur,\n onKeyDown,\n placeholder = 'dd/mm/aaaa hh:mm',\n required = false,\n size = 'md',\n ref,\n value,\n ...props\n}: DateTimePickerProps) {\n const fieldRef = useRef<HTMLDivElement>(null);\n const panelRef = useRef<HTMLDivElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n // Fixo, o id fazia dois seletores dividirem os ids das opcoes de hora.\n const idDaLista = `datetime-hora-${useId()}`;\n const [open, setOpen] = useState(false);\n const limites: CalendarLimits = {\n isDateUnavailable: isDateUnavailable && ((data) => isDateUnavailable(data.toString())),\n max: readIsoDate(max),\n min: readIsoDate(min),\n };\n const [internalValue, setInternalValue] = useState<CalendarDateTime | null>(() => readIsoDateTime(defaultValue) ?? null);\n const [texto, setTexto] = useState('');\n const [digitando, setDigitando] = useState(false);\n const controlado = value === undefined ? undefined : (readIsoDateTime(value) ?? null);\n const escolhido = (controlado === undefined ? internalValue : controlado) ?? undefined;\n const [rascunho, setRascunho] = useState(escolhido);\n const [versaoDoCalendario, setVersaoDoCalendario] = useState(0);\n const inputRef = useRef<HTMLInputElement>(null);\n const resetRef = useFormReset<HTMLInputElement>(() => {\n setInternalValue(readIsoDateTime(defaultValue) ?? null);\n setDigitando(false);\n });\n const mergedRef = useMergedRefs(inputRef, resetRef, ref);\n\n useEffect(() => {\n if (open) {\n setRascunho(escolhido);\n }\n }, [open]);\n const exibido = digitando ? texto : paraTexto(escolhido);\n\n // O interno acompanha mesmo controlado: se o consumidor devolver `undefined`, nao ressurge um valor velho.\n function definir(proximo: CalendarDateTime | null) {\n setInternalValue(proximo);\n onValueChange?.(proximo ? toIsoDateTime(proximo) : null);\n }\n\n function rascunharData(data: CalendarDate) {\n setRascunho(new CalendarDateTime(data.year, data.month, data.day, rascunho?.hour ?? 0, rascunho?.minute ?? 0));\n }\n\n // Sem data escolhida, a hora se apoia em hoje: inventar outra data\n // faria o campo exibir um dia que o usuario nunca escolheu.\n function rascunharHora(hora: Time) {\n const base = rascunho ?? today(getLocalTimeZone());\n\n setRascunho(new CalendarDateTime(base.year, base.month, base.day, hora.hour, hora.minute));\n }\n\n function fechar(devolverFoco = true) {\n setOpen(false);\n\n if (devolverFoco) {\n triggerRef.current?.focus();\n }\n }\n\n function handleChange(entrada: string) {\n const mascarado = formatarEntradaDataHora(entrada);\n\n setDigitando(true);\n setTexto(mascarado);\n\n // O texto e o valor tem de concordar. Enquanto o que esta escrito nao e uma\n // data e hora inteiras, o campo nao tem valor — segurar o ultimo deixava o\n // consumidor com meia-noite enquanto a tela mostrava `18:4`.\n const lido = lerEntradaDataHora(mascarado);\n const dia = lido && toCalendarDate(lido);\n\n definir(lido && dia && !isUnavailable(dia, limites) ? lido : null);\n }\n\n function handleKeyDown(event: KeyboardEvent<HTMLInputElement>) {\n onKeyDown?.(event);\n\n if (event.key === 'ArrowDown' && !open) {\n event.preventDefault();\n setOpen(true);\n } else if (event.key === 'Escape' && open) {\n fechar(false);\n }\n }\n\n const { overlayProps } = useOverlay(\n {\n isOpen: open,\n onClose: () => fechar(false),\n isDismissable: true,\n shouldCloseOnBlur: false,\n // O gatilho nao conta como \"fora\": sem isto o ponteiro fecha o painel e o\n // clique dele reabre em seguida, e ele pisca sem abrir.\n shouldCloseOnInteractOutside: (elemento) => !fieldRef.current?.contains(elemento),\n },\n panelRef,\n );\n const { overlayProps: positionProps } = useOverlayPosition({\n targetRef: fieldRef,\n overlayRef: panelRef,\n placement: 'bottom start',\n offset: 6,\n containerPadding: 8,\n isOpen: open,\n });\n\n return (\n <Field aria-describedby={ariaDescribedBy} error={error} hint={hint} id={providedId} label={label} required={required}>\n {({ id, describedBy, invalid }) => (\n <>\n <FormValue\n disabled={disabled}\n name={name}\n onFocus={() => inputRef.current?.focus()}\n required={required}\n value={escolhido ? toIsoDateTime(escolhido) : ''}\n />\n <div\n className={[styles.field, styles[size], error && styles.error, className].filter(Boolean).join(' ')}\n ref={fieldRef}\n >\n <input\n {...props}\n aria-describedby={describedBy}\n aria-invalid={invalid || undefined}\n aria-required={required || undefined}\n autoComplete=\"off\"\n className={styles.input}\n disabled={disabled}\n id={id}\n inputMode=\"numeric\"\n onBlur={(event) => {\n setDigitando(false);\n onBlur?.(event);\n }}\n onChange={(event) => handleChange(event.target.value)}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n ref={mergedRef}\n type=\"text\"\n value={exibido}\n />\n <button\n aria-expanded={open}\n aria-haspopup=\"dialog\"\n aria-label=\"Abrir calendário\"\n className={styles.trigger}\n disabled={disabled}\n onClick={() => (open ? fechar() : setOpen(true))}\n ref={triggerRef}\n type=\"button\"\n >\n <IconCalendar size={15} />\n </button>\n </div>\n {open &&\n createPortal(\n <div\n {...overlayProps}\n aria-label={label ? 'Calendário de ' + label : 'Calendário'}\n className={styles.panel}\n // Camada de cima: o `ariaHideOutside` do Dialog ignora quem a declara.\n data-react-aria-top-layer=\"true\"\n onKeyDown={(event) => {\n if (event.key === 'Escape') {\n fechar();\n }\n overlayProps.onKeyDown?.(event);\n }}\n ref={panelRef}\n role=\"dialog\"\n style={positionProps.style}\n >\n <div className={styles.columns}>\n <Calendar\n autoFocus\n key={versaoDoCalendario}\n isDateUnavailable={limites.isDateUnavailable}\n locale={locale}\n max={limites.max}\n min={limites.min}\n onSelect={rascunharData}\n value={rascunho && new CalendarDate(rascunho.year, rascunho.month, rascunho.day)}\n />\n <TimeSlots\n baseId={idDaLista}\n onChange={rascunharHora}\n step={step}\n value={rascunho && new Time(rascunho.hour, rascunho.minute)}\n />\n </div>\n <div className={styles.footer}>\n <Button\n onClick={() => {\n // Remontada, a grade volta ao mes de hoje mesmo que o rascunho ja fosse hoje.\n setRascunho(toCalendarDateTime(now(getLocalTimeZone())).set({ second: 0, millisecond: 0 }));\n setVersaoDoCalendario((versao) => versao + 1);\n }}\n size=\"sm\"\n variant=\"ghost\"\n type=\"button\"\n >\n Agora\n </Button>\n <div className={styles.actions}>\n <Button onClick={() => fechar()} size=\"sm\" variant=\"secondary\" type=\"button\">\n Cancelar\n </Button>\n <Button\n onClick={() => {\n definir(rascunho ?? null);\n setDigitando(false);\n fechar();\n }}\n size=\"sm\"\n type=\"button\"\n >\n Aplicar\n </Button>\n </div>\n </div>\n </div>,\n document.body,\n )}\n </>\n )}\n </Field>\n );\n}\n"],"names":["doisDigitos","valor","paraTexto","DateTimePicker","ariaDescribedBy","className","defaultValue","name","disabled","error","hint","providedId","isDateUnavailable","label","locale","max","min","step","onValueChange","onBlur","onKeyDown","placeholder","required","size","ref","value","props","fieldRef","useRef","panelRef","triggerRef","idDaLista","useId","open","setOpen","useState","limites","data","readIsoDate","internalValue","setInternalValue","readIsoDateTime","texto","setTexto","digitando","setDigitando","controlado","escolhido","rascunho","setRascunho","versaoDoCalendario","setVersaoDoCalendario","inputRef","resetRef","useFormReset","mergedRef","useMergedRefs","useEffect","exibido","definir","proximo","toIsoDateTime","rascunharData","CalendarDateTime","rascunharHora","hora","base","today","getLocalTimeZone","fechar","devolverFoco","_a","handleChange","entrada","mascarado","formatarEntradaDataHora","lido","lerEntradaDataHora","dia","toCalendarDate","isUnavailable","handleKeyDown","event","overlayProps","useOverlay","elemento","positionProps","useOverlayPosition","Field","id","describedBy","invalid","jsxs","Fragment","jsx","FormValue","styles","IconCalendar","createPortal","Calendar","CalendarDate","TimeSlots","Time","Button","toCalendarDateTime","now","versao"],"mappings":"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"}