tempest-react-sdk 0.22.0 → 0.24.0

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 (1904) hide show
  1. package/README.md +92 -82
  2. package/bin/create-tempest-app.mjs +1 -0
  3. package/bin/tempest.mjs +1 -0
  4. package/dist/_virtual/_rolldown/runtime.cjs +1 -0
  5. package/dist/access/Can.cjs +2 -0
  6. package/dist/access/Can.cjs.map +1 -0
  7. package/dist/access/Can.js +15 -0
  8. package/dist/access/Can.js.map +1 -0
  9. package/dist/access/access-control-context.cjs +2 -0
  10. package/dist/access/access-control-context.cjs.map +1 -0
  11. package/dist/access/access-control-context.js +17 -0
  12. package/dist/access/access-control-context.js.map +1 -0
  13. package/dist/access/create-role-access-control.cjs +2 -0
  14. package/dist/access/create-role-access-control.cjs.map +1 -0
  15. package/dist/access/create-role-access-control.js +19 -0
  16. package/dist/access/create-role-access-control.js.map +1 -0
  17. package/dist/access/permissions-from-token.cjs +2 -0
  18. package/dist/access/permissions-from-token.cjs.map +1 -0
  19. package/dist/access/permissions-from-token.js +22 -0
  20. package/dist/access/permissions-from-token.js.map +1 -0
  21. package/dist/access/use-can.cjs +2 -0
  22. package/dist/access/use-can.cjs.map +1 -0
  23. package/dist/access/use-can.js +49 -0
  24. package/dist/access/use-can.js.map +1 -0
  25. package/dist/app/AppProviders.cjs +2 -0
  26. package/dist/app/AppProviders.cjs.map +1 -0
  27. package/dist/app/AppProviders.js +26 -0
  28. package/dist/app/AppProviders.js.map +1 -0
  29. package/dist/audio/audio-player.cjs +2 -0
  30. package/dist/audio/audio-player.cjs.map +1 -0
  31. package/dist/audio/audio-player.js +35 -0
  32. package/dist/audio/audio-player.js.map +1 -0
  33. package/dist/audio/use-audio.cjs +2 -0
  34. package/dist/audio/use-audio.cjs.map +1 -0
  35. package/dist/audio/use-audio.js +21 -0
  36. package/dist/audio/use-audio.js.map +1 -0
  37. package/dist/auth/AuthGuard.cjs +2 -0
  38. package/dist/auth/AuthGuard.cjs.map +1 -0
  39. package/dist/auth/AuthGuard.js +9 -0
  40. package/dist/auth/AuthGuard.js.map +1 -0
  41. package/dist/auth/create-auth-store.cjs +2 -0
  42. package/dist/auth/create-auth-store.cjs.map +1 -0
  43. package/dist/auth/create-auth-store.js +40 -0
  44. package/dist/auth/create-auth-store.js.map +1 -0
  45. package/dist/auth/create-tempest-auth.cjs +2 -0
  46. package/dist/auth/create-tempest-auth.cjs.map +1 -0
  47. package/dist/auth/create-tempest-auth.js +74 -0
  48. package/dist/auth/create-tempest-auth.js.map +1 -0
  49. package/dist/auth/jwt.cjs +2 -0
  50. package/dist/auth/jwt.cjs.map +1 -0
  51. package/dist/auth/jwt.js +33 -0
  52. package/dist/auth/jwt.js.map +1 -0
  53. package/dist/auth/lazy-with-retry.cjs +2 -0
  54. package/dist/auth/lazy-with-retry.cjs.map +1 -0
  55. package/dist/auth/lazy-with-retry.js +18 -0
  56. package/dist/auth/lazy-with-retry.js.map +1 -0
  57. package/dist/auth/refresh-queue.cjs +2 -0
  58. package/dist/auth/refresh-queue.cjs.map +1 -0
  59. package/dist/auth/refresh-queue.js +15 -0
  60. package/dist/auth/refresh-queue.js.map +1 -0
  61. package/dist/br/BrazilMap.cjs +2 -0
  62. package/dist/br/BrazilMap.cjs.map +1 -0
  63. package/dist/br/BrazilMap.js +179 -0
  64. package/dist/br/BrazilMap.js.map +1 -0
  65. package/dist/br/BrazilMap.module.cjs +2 -0
  66. package/dist/br/BrazilMap.module.cjs.map +1 -0
  67. package/dist/br/BrazilMap.module.js +18 -0
  68. package/dist/br/BrazilMap.module.js.map +1 -0
  69. package/dist/br/BrazilStateCitySelect.cjs +2 -0
  70. package/dist/br/BrazilStateCitySelect.cjs.map +1 -0
  71. package/dist/br/BrazilStateCitySelect.js +54 -0
  72. package/dist/br/BrazilStateCitySelect.js.map +1 -0
  73. package/dist/br/BrazilStateMap.cjs +2 -0
  74. package/dist/br/BrazilStateMap.cjs.map +1 -0
  75. package/dist/br/BrazilStateMap.js +177 -0
  76. package/dist/br/BrazilStateMap.js.map +1 -0
  77. package/dist/br/MapLegend.cjs +2 -0
  78. package/dist/br/MapLegend.cjs.map +1 -0
  79. package/dist/br/MapLegend.js +41 -0
  80. package/dist/br/MapLegend.js.map +1 -0
  81. package/dist/br/MapLegend.module.cjs +2 -0
  82. package/dist/br/MapLegend.module.cjs.map +1 -0
  83. package/dist/br/MapLegend.module.js +15 -0
  84. package/dist/br/MapLegend.module.js.map +1 -0
  85. package/dist/br/MapMarkers.cjs +2 -0
  86. package/dist/br/MapMarkers.cjs.map +1 -0
  87. package/dist/br/MapMarkers.js +31 -0
  88. package/dist/br/MapMarkers.js.map +1 -0
  89. package/dist/br/MapTooltip.cjs +2 -0
  90. package/dist/br/MapTooltip.cjs.map +1 -0
  91. package/dist/br/MapTooltip.js +20 -0
  92. package/dist/br/MapTooltip.js.map +1 -0
  93. package/dist/br/MunicipalitySearch.cjs +2 -0
  94. package/dist/br/MunicipalitySearch.cjs.map +1 -0
  95. package/dist/br/MunicipalitySearch.js +74 -0
  96. package/dist/br/MunicipalitySearch.js.map +1 -0
  97. package/dist/br/MunicipalitySearch.module.cjs +2 -0
  98. package/dist/br/MunicipalitySearch.module.cjs.map +1 -0
  99. package/dist/br/MunicipalitySearch.module.js +11 -0
  100. package/dist/br/MunicipalitySearch.module.js.map +1 -0
  101. package/dist/br/br-geo.cjs +2 -0
  102. package/dist/br/br-geo.cjs.map +1 -0
  103. package/dist/br/br-geo.js +7 -0
  104. package/dist/br/br-geo.js.map +1 -0
  105. package/dist/br/data/br-centroids.cjs +2 -0
  106. package/dist/br/data/br-centroids.cjs.map +1 -0
  107. package/dist/br/data/br-centroids.js +38972 -0
  108. package/dist/br/data/br-centroids.js.map +1 -0
  109. package/dist/br/data/br-locations.cjs +2 -0
  110. package/dist/br/data/br-locations.cjs.map +1 -0
  111. package/dist/br/data/br-locations.js +198 -0
  112. package/dist/br/data/br-locations.js.map +1 -0
  113. package/dist/br/data/br-uf-geo.cjs +2 -0
  114. package/dist/br/data/br-uf-geo.cjs.map +1 -0
  115. package/dist/br/data/br-uf-geo.js +7134 -0
  116. package/dist/br/data/br-uf-geo.js.map +1 -0
  117. package/dist/br/data/mun/AC.cjs +2 -0
  118. package/dist/br/data/mun/AC.cjs.map +1 -0
  119. package/dist/br/data/mun/AC.js +992 -0
  120. package/dist/br/data/mun/AC.js.map +1 -0
  121. package/dist/br/data/mun/AL.cjs +2 -0
  122. package/dist/br/data/mun/AL.cjs.map +1 -0
  123. package/dist/br/data/mun/AL.js +2150 -0
  124. package/dist/br/data/mun/AL.js.map +1 -0
  125. package/dist/br/data/mun/AM.cjs +2 -0
  126. package/dist/br/data/mun/AM.cjs.map +1 -0
  127. package/dist/br/data/mun/AM.js +5062 -0
  128. package/dist/br/data/mun/AM.js.map +1 -0
  129. package/dist/br/data/mun/AP.cjs +2 -0
  130. package/dist/br/data/mun/AP.cjs.map +1 -0
  131. package/dist/br/data/mun/AP.js +995 -0
  132. package/dist/br/data/mun/AP.js.map +1 -0
  133. package/dist/br/data/mun/BA.cjs +2 -0
  134. package/dist/br/data/mun/BA.cjs.map +1 -0
  135. package/dist/br/data/mun/BA.js +10762 -0
  136. package/dist/br/data/mun/BA.js.map +1 -0
  137. package/dist/br/data/mun/CE.cjs +2 -0
  138. package/dist/br/data/mun/CE.cjs.map +1 -0
  139. package/dist/br/data/mun/CE.js +4844 -0
  140. package/dist/br/data/mun/CE.js.map +1 -0
  141. package/dist/br/data/mun/DF.cjs +2 -0
  142. package/dist/br/data/mun/DF.cjs.map +1 -0
  143. package/dist/br/data/mun/DF.js +37 -0
  144. package/dist/br/data/mun/DF.js.map +1 -0
  145. package/dist/br/data/mun/ES.cjs +2 -0
  146. package/dist/br/data/mun/ES.cjs.map +1 -0
  147. package/dist/br/data/mun/ES.js +2064 -0
  148. package/dist/br/data/mun/ES.js.map +1 -0
  149. package/dist/br/data/mun/GO.cjs +2 -0
  150. package/dist/br/data/mun/GO.cjs.map +1 -0
  151. package/dist/br/data/mun/GO.js +7617 -0
  152. package/dist/br/data/mun/GO.js.map +1 -0
  153. package/dist/br/data/mun/MA.cjs +2 -0
  154. package/dist/br/data/mun/MA.cjs.map +1 -0
  155. package/dist/br/data/mun/MA.js +6260 -0
  156. package/dist/br/data/mun/MA.js.map +1 -0
  157. package/dist/br/data/mun/MG.cjs +2 -0
  158. package/dist/br/data/mun/MG.cjs.map +1 -0
  159. package/dist/br/data/mun/MG.js +22545 -0
  160. package/dist/br/data/mun/MG.js.map +1 -0
  161. package/dist/br/data/mun/MS.cjs +2 -0
  162. package/dist/br/data/mun/MS.cjs.map +1 -0
  163. package/dist/br/data/mun/MS.js +3261 -0
  164. package/dist/br/data/mun/MS.js.map +1 -0
  165. package/dist/br/data/mun/MT.cjs +2 -0
  166. package/dist/br/data/mun/MT.cjs.map +1 -0
  167. package/dist/br/data/mun/MT.js +6459 -0
  168. package/dist/br/data/mun/MT.js.map +1 -0
  169. package/dist/br/data/mun/PA.cjs +2 -0
  170. package/dist/br/data/mun/PA.cjs.map +1 -0
  171. package/dist/br/data/mun/PA.js +6738 -0
  172. package/dist/br/data/mun/PA.js.map +1 -0
  173. package/dist/br/data/mun/PB.cjs +2 -0
  174. package/dist/br/data/mun/PB.cjs.map +1 -0
  175. package/dist/br/data/mun/PB.js +4735 -0
  176. package/dist/br/data/mun/PB.js.map +1 -0
  177. package/dist/br/data/mun/PE.cjs +2 -0
  178. package/dist/br/data/mun/PE.cjs.map +1 -0
  179. package/dist/br/data/mun/PE.js +4380 -0
  180. package/dist/br/data/mun/PE.js.map +1 -0
  181. package/dist/br/data/mun/PI.cjs +2 -0
  182. package/dist/br/data/mun/PI.cjs.map +1 -0
  183. package/dist/br/data/mun/PI.js +5789 -0
  184. package/dist/br/data/mun/PI.js.map +1 -0
  185. package/dist/br/data/mun/PR.cjs +2 -0
  186. package/dist/br/data/mun/PR.cjs.map +1 -0
  187. package/dist/br/data/mun/PR.js +10320 -0
  188. package/dist/br/data/mun/PR.js.map +1 -0
  189. package/dist/br/data/mun/RJ.cjs +2 -0
  190. package/dist/br/data/mun/RJ.cjs.map +1 -0
  191. package/dist/br/data/mun/RJ.js +2310 -0
  192. package/dist/br/data/mun/RJ.js.map +1 -0
  193. package/dist/br/data/mun/RN.cjs +2 -0
  194. package/dist/br/data/mun/RN.cjs.map +1 -0
  195. package/dist/br/data/mun/RN.js +3545 -0
  196. package/dist/br/data/mun/RN.js.map +1 -0
  197. package/dist/br/data/mun/RO.cjs +2 -0
  198. package/dist/br/data/mun/RO.cjs.map +1 -0
  199. package/dist/br/data/mun/RO.js +2173 -0
  200. package/dist/br/data/mun/RO.js.map +1 -0
  201. package/dist/br/data/mun/RR.cjs +2 -0
  202. package/dist/br/data/mun/RR.cjs.map +1 -0
  203. package/dist/br/data/mun/RR.js +992 -0
  204. package/dist/br/data/mun/RR.js.map +1 -0
  205. package/dist/br/data/mun/RS.cjs +2 -0
  206. package/dist/br/data/mun/RS.cjs.map +1 -0
  207. package/dist/br/data/mun/RS.js +12694 -0
  208. package/dist/br/data/mun/RS.js.map +1 -0
  209. package/dist/br/data/mun/SC.cjs +2 -0
  210. package/dist/br/data/mun/SC.cjs.map +1 -0
  211. package/dist/br/data/mun/SC.js +7028 -0
  212. package/dist/br/data/mun/SC.js.map +1 -0
  213. package/dist/br/data/mun/SE.cjs +2 -0
  214. package/dist/br/data/mun/SE.cjs.map +1 -0
  215. package/dist/br/data/mun/SE.js +1588 -0
  216. package/dist/br/data/mun/SE.js.map +1 -0
  217. package/dist/br/data/mun/SP.cjs +2 -0
  218. package/dist/br/data/mun/SP.cjs.map +1 -0
  219. package/dist/br/data/mun/SP.js +15019 -0
  220. package/dist/br/data/mun/SP.js.map +1 -0
  221. package/dist/br/data/mun/TO.cjs +2 -0
  222. package/dist/br/data/mun/TO.cjs.map +1 -0
  223. package/dist/br/data/mun/TO.js +4510 -0
  224. package/dist/br/data/mun/TO.js.map +1 -0
  225. package/dist/br/geocode.cjs +2 -0
  226. package/dist/br/geocode.cjs.map +1 -0
  227. package/dist/br/geocode.js +91 -0
  228. package/dist/br/geocode.js.map +1 -0
  229. package/dist/br/locations.cjs +2 -0
  230. package/dist/br/locations.cjs.map +1 -0
  231. package/dist/br/locations.js +79 -0
  232. package/dist/br/locations.js.map +1 -0
  233. package/dist/br/regions.cjs +2 -0
  234. package/dist/br/regions.cjs.map +1 -0
  235. package/dist/br/regions.js +18 -0
  236. package/dist/br/regions.js.map +1 -0
  237. package/dist/br/scales.cjs +2 -0
  238. package/dist/br/scales.cjs.map +1 -0
  239. package/dist/br/scales.js +56 -0
  240. package/dist/br/scales.js.map +1 -0
  241. package/dist/br/state-geo.cjs +2 -0
  242. package/dist/br/state-geo.cjs.map +1 -0
  243. package/dist/br/state-geo.js +40 -0
  244. package/dist/br/state-geo.js.map +1 -0
  245. package/dist/br/svg-utils.cjs +2 -0
  246. package/dist/br/svg-utils.cjs.map +1 -0
  247. package/dist/br/svg-utils.js +53 -0
  248. package/dist/br/svg-utils.js.map +1 -0
  249. package/dist/br/use-map-hover.cjs +2 -0
  250. package/dist/br/use-map-hover.cjs.map +1 -0
  251. package/dist/br/use-map-hover.js +21 -0
  252. package/dist/br/use-map-hover.js.map +1 -0
  253. package/dist/br/use-map-zoom.cjs +2 -0
  254. package/dist/br/use-map-zoom.cjs.map +1 -0
  255. package/dist/br/use-map-zoom.js +72 -0
  256. package/dist/br/use-map-zoom.js.map +1 -0
  257. package/dist/br.cjs +2 -2
  258. package/dist/br.cjs.map +1 -1
  259. package/dist/br.d.ts +1 -1
  260. package/dist/br.js +19 -949
  261. package/dist/br.js.map +1 -1
  262. package/dist/charts/AreaChart.cjs +2 -0
  263. package/dist/charts/AreaChart.cjs.map +1 -0
  264. package/dist/charts/AreaChart.js +43 -0
  265. package/dist/charts/AreaChart.js.map +1 -0
  266. package/dist/charts/BarChart.cjs +2 -0
  267. package/dist/charts/BarChart.cjs.map +1 -0
  268. package/dist/charts/BarChart.js +37 -0
  269. package/dist/charts/BarChart.js.map +1 -0
  270. package/dist/charts/LineChart.cjs +2 -0
  271. package/dist/charts/LineChart.cjs.map +1 -0
  272. package/dist/charts/LineChart.js +38 -0
  273. package/dist/charts/LineChart.js.map +1 -0
  274. package/dist/charts/PieChart.cjs +2 -0
  275. package/dist/charts/PieChart.cjs.map +1 -0
  276. package/dist/charts/PieChart.js +36 -0
  277. package/dist/charts/PieChart.js.map +1 -0
  278. package/dist/charts/RadarChart.cjs +2 -0
  279. package/dist/charts/RadarChart.cjs.map +1 -0
  280. package/dist/charts/RadarChart.js +41 -0
  281. package/dist/charts/RadarChart.js.map +1 -0
  282. package/dist/charts/palette.cjs +2 -0
  283. package/dist/charts/palette.cjs.map +1 -0
  284. package/dist/charts/palette.js +13 -0
  285. package/dist/charts/palette.js.map +1 -0
  286. package/dist/charts/types.cjs +2 -0
  287. package/dist/charts/types.cjs.map +1 -0
  288. package/dist/charts/types.js +8 -0
  289. package/dist/charts/types.js.map +1 -0
  290. package/dist/charts.cjs +1 -2
  291. package/dist/charts.d.ts +1 -1
  292. package/dist/charts.js +7 -196
  293. package/dist/components/Accordion/Accordion.cjs +2 -0
  294. package/dist/components/Accordion/Accordion.cjs.map +1 -0
  295. package/dist/components/Accordion/Accordion.js +65 -0
  296. package/dist/components/Accordion/Accordion.js.map +1 -0
  297. package/dist/components/Accordion/Accordion.module.cjs +2 -0
  298. package/dist/components/Accordion/Accordion.module.cjs.map +1 -0
  299. package/dist/components/Accordion/Accordion.module.js +14 -0
  300. package/dist/components/Accordion/Accordion.module.js.map +1 -0
  301. package/dist/components/Alert/Alert.cjs +2 -0
  302. package/dist/components/Alert/Alert.cjs.map +1 -0
  303. package/dist/components/Alert/Alert.js +57 -0
  304. package/dist/components/Alert/Alert.js.map +1 -0
  305. package/dist/components/Alert/Alert.module.cjs +2 -0
  306. package/dist/components/Alert/Alert.module.cjs.map +1 -0
  307. package/dist/components/Alert/Alert.module.js +20 -0
  308. package/dist/components/Alert/Alert.module.js.map +1 -0
  309. package/dist/components/AppBar/AppBar.cjs +2 -0
  310. package/dist/components/AppBar/AppBar.cjs.map +1 -0
  311. package/dist/components/AppBar/AppBar.js +43 -0
  312. package/dist/components/AppBar/AppBar.js.map +1 -0
  313. package/dist/components/AppBar/AppBar.module.cjs +2 -0
  314. package/dist/components/AppBar/AppBar.module.cjs.map +1 -0
  315. package/dist/components/AppBar/AppBar.module.js +20 -0
  316. package/dist/components/AppBar/AppBar.module.js.map +1 -0
  317. package/dist/components/AppShell/AppShell.cjs +2 -0
  318. package/dist/components/AppShell/AppShell.cjs.map +1 -0
  319. package/dist/components/AppShell/AppShell.js +40 -0
  320. package/dist/components/AppShell/AppShell.js.map +1 -0
  321. package/dist/components/AppShell/AppShell.module.cjs +2 -0
  322. package/dist/components/AppShell/AppShell.module.cjs.map +1 -0
  323. package/dist/components/AppShell/AppShell.module.js +14 -0
  324. package/dist/components/AppShell/AppShell.module.js.map +1 -0
  325. package/dist/components/AspectRatio/AspectRatio.cjs +2 -0
  326. package/dist/components/AspectRatio/AspectRatio.cjs.map +1 -0
  327. package/dist/components/AspectRatio/AspectRatio.js +20 -0
  328. package/dist/components/AspectRatio/AspectRatio.js.map +1 -0
  329. package/dist/components/AspectRatio/AspectRatio.module.cjs +2 -0
  330. package/dist/components/AspectRatio/AspectRatio.module.cjs.map +1 -0
  331. package/dist/components/AspectRatio/AspectRatio.module.js +6 -0
  332. package/dist/components/AspectRatio/AspectRatio.module.js.map +1 -0
  333. package/dist/components/Avatar/Avatar.cjs +2 -0
  334. package/dist/components/Avatar/Avatar.cjs.map +1 -0
  335. package/dist/components/Avatar/Avatar.js +37 -0
  336. package/dist/components/Avatar/Avatar.js.map +1 -0
  337. package/dist/components/Avatar/Avatar.module.cjs +2 -0
  338. package/dist/components/Avatar/Avatar.module.cjs.map +1 -0
  339. package/dist/components/Avatar/Avatar.module.js +19 -0
  340. package/dist/components/Avatar/Avatar.module.js.map +1 -0
  341. package/dist/components/Badge/Badge.cjs +2 -0
  342. package/dist/components/Badge/Badge.cjs.map +1 -0
  343. package/dist/components/Badge/Badge.js +18 -0
  344. package/dist/components/Badge/Badge.js.map +1 -0
  345. package/dist/components/Badge/Badge.module.cjs +2 -0
  346. package/dist/components/Badge/Badge.module.cjs.map +1 -0
  347. package/dist/components/Badge/Badge.module.js +21 -0
  348. package/dist/components/Badge/Badge.module.js.map +1 -0
  349. package/dist/components/Banner/Banner.cjs +2 -0
  350. package/dist/components/Banner/Banner.cjs.map +1 -0
  351. package/dist/components/Banner/Banner.js +46 -0
  352. package/dist/components/Banner/Banner.js.map +1 -0
  353. package/dist/components/Banner/Banner.module.cjs +2 -0
  354. package/dist/components/Banner/Banner.module.cjs.map +1 -0
  355. package/dist/components/Banner/Banner.module.js +18 -0
  356. package/dist/components/Banner/Banner.module.js.map +1 -0
  357. package/dist/components/BottomNavigation/BottomNavigation.cjs +2 -0
  358. package/dist/components/BottomNavigation/BottomNavigation.cjs.map +1 -0
  359. package/dist/components/BottomNavigation/BottomNavigation.js +38 -0
  360. package/dist/components/BottomNavigation/BottomNavigation.js.map +1 -0
  361. package/dist/components/BottomNavigation/BottomNavigation.module.cjs +2 -0
  362. package/dist/components/BottomNavigation/BottomNavigation.module.cjs.map +1 -0
  363. package/dist/components/BottomNavigation/BottomNavigation.module.js +14 -0
  364. package/dist/components/BottomNavigation/BottomNavigation.module.js.map +1 -0
  365. package/dist/components/BottomSheet/BottomSheet.cjs +2 -0
  366. package/dist/components/BottomSheet/BottomSheet.cjs.map +1 -0
  367. package/dist/components/BottomSheet/BottomSheet.js +58 -0
  368. package/dist/components/BottomSheet/BottomSheet.js.map +1 -0
  369. package/dist/components/BottomSheet/BottomSheet.module.cjs +2 -0
  370. package/dist/components/BottomSheet/BottomSheet.module.cjs.map +1 -0
  371. package/dist/components/BottomSheet/BottomSheet.module.js +16 -0
  372. package/dist/components/BottomSheet/BottomSheet.module.js.map +1 -0
  373. package/dist/components/Breadcrumbs/Breadcrumbs.cjs +2 -0
  374. package/dist/components/Breadcrumbs/Breadcrumbs.cjs.map +1 -0
  375. package/dist/components/Breadcrumbs/Breadcrumbs.js +37 -0
  376. package/dist/components/Breadcrumbs/Breadcrumbs.js.map +1 -0
  377. package/dist/components/Breadcrumbs/Breadcrumbs.module.cjs +2 -0
  378. package/dist/components/Breadcrumbs/Breadcrumbs.module.cjs.map +1 -0
  379. package/dist/components/Breadcrumbs/Breadcrumbs.module.js +12 -0
  380. package/dist/components/Breadcrumbs/Breadcrumbs.module.js.map +1 -0
  381. package/dist/components/Button/Button.cjs +2 -0
  382. package/dist/components/Button/Button.cjs.map +1 -0
  383. package/dist/components/Button/Button.js +42 -0
  384. package/dist/components/Button/Button.js.map +1 -0
  385. package/dist/components/Button/Button.module.cjs +2 -0
  386. package/dist/components/Button/Button.module.cjs.map +1 -0
  387. package/dist/components/Button/Button.module.js +29 -0
  388. package/dist/components/Button/Button.module.js.map +1 -0
  389. package/dist/components/Calendar/Calendar.cjs +2 -0
  390. package/dist/components/Calendar/Calendar.cjs.map +1 -0
  391. package/dist/components/Calendar/Calendar.js +163 -0
  392. package/dist/components/Calendar/Calendar.js.map +1 -0
  393. package/dist/components/Calendar/Calendar.module.cjs +2 -0
  394. package/dist/components/Calendar/Calendar.module.cjs.map +1 -0
  395. package/dist/components/Calendar/Calendar.module.js +18 -0
  396. package/dist/components/Calendar/Calendar.module.js.map +1 -0
  397. package/dist/components/Card/Card.cjs +2 -0
  398. package/dist/components/Card/Card.cjs.map +1 -0
  399. package/dist/components/Card/Card.js +33 -0
  400. package/dist/components/Card/Card.js.map +1 -0
  401. package/dist/components/Card/Card.module.cjs +2 -0
  402. package/dist/components/Card/Card.module.cjs.map +1 -0
  403. package/dist/components/Card/Card.module.js +18 -0
  404. package/dist/components/Card/Card.module.js.map +1 -0
  405. package/dist/components/Carousel/Carousel.cjs +2 -0
  406. package/dist/components/Carousel/Carousel.cjs.map +1 -0
  407. package/dist/components/Carousel/Carousel.js +76 -0
  408. package/dist/components/Carousel/Carousel.js.map +1 -0
  409. package/dist/components/Carousel/Carousel.module.cjs +2 -0
  410. package/dist/components/Carousel/Carousel.module.cjs.map +1 -0
  411. package/dist/components/Carousel/Carousel.module.js +17 -0
  412. package/dist/components/Carousel/Carousel.module.js.map +1 -0
  413. package/dist/components/Center/Center.cjs +2 -0
  414. package/dist/components/Center/Center.cjs.map +1 -0
  415. package/dist/components/Center/Center.js +21 -0
  416. package/dist/components/Center/Center.js.map +1 -0
  417. package/dist/components/Center/Center.module.cjs +2 -0
  418. package/dist/components/Center/Center.module.cjs.map +1 -0
  419. package/dist/components/Center/Center.module.js +11 -0
  420. package/dist/components/Center/Center.module.js.map +1 -0
  421. package/dist/components/Checkbox/Checkbox.cjs +2 -0
  422. package/dist/components/Checkbox/Checkbox.cjs.map +1 -0
  423. package/dist/components/Checkbox/Checkbox.js +74 -0
  424. package/dist/components/Checkbox/Checkbox.js.map +1 -0
  425. package/dist/components/Checkbox/Checkbox.module.cjs +2 -0
  426. package/dist/components/Checkbox/Checkbox.module.cjs.map +1 -0
  427. package/dist/components/Checkbox/Checkbox.module.js +14 -0
  428. package/dist/components/Checkbox/Checkbox.module.js.map +1 -0
  429. package/dist/components/ChipInput/ChipInput.cjs +2 -0
  430. package/dist/components/ChipInput/ChipInput.cjs.map +1 -0
  431. package/dist/components/ChipInput/ChipInput.js +82 -0
  432. package/dist/components/ChipInput/ChipInput.js.map +1 -0
  433. package/dist/components/ChipInput/ChipInput.module.cjs +2 -0
  434. package/dist/components/ChipInput/ChipInput.module.cjs.map +1 -0
  435. package/dist/components/ChipInput/ChipInput.module.js +16 -0
  436. package/dist/components/ChipInput/ChipInput.module.js.map +1 -0
  437. package/dist/components/ClickOutside/ClickOutside.cjs +2 -0
  438. package/dist/components/ClickOutside/ClickOutside.cjs.map +1 -0
  439. package/dist/components/ClickOutside/ClickOutside.js +24 -0
  440. package/dist/components/ClickOutside/ClickOutside.js.map +1 -0
  441. package/dist/components/Collapsible/Collapsible.cjs +2 -0
  442. package/dist/components/Collapsible/Collapsible.cjs.map +1 -0
  443. package/dist/components/Collapsible/Collapsible.js +39 -0
  444. package/dist/components/Collapsible/Collapsible.js.map +1 -0
  445. package/dist/components/Collapsible/Collapsible.module.cjs +2 -0
  446. package/dist/components/Collapsible/Collapsible.module.cjs.map +1 -0
  447. package/dist/components/Collapsible/Collapsible.module.js +10 -0
  448. package/dist/components/Collapsible/Collapsible.module.js.map +1 -0
  449. package/dist/components/Combobox/Combobox.cjs +2 -0
  450. package/dist/components/Combobox/Combobox.cjs.map +1 -0
  451. package/dist/components/Combobox/Combobox.js +98 -0
  452. package/dist/components/Combobox/Combobox.js.map +1 -0
  453. package/dist/components/Combobox/Combobox.module.cjs +2 -0
  454. package/dist/components/Combobox/Combobox.module.cjs.map +1 -0
  455. package/dist/components/Combobox/Combobox.module.js +20 -0
  456. package/dist/components/Combobox/Combobox.module.js.map +1 -0
  457. package/dist/components/Command/Command.cjs +2 -0
  458. package/dist/components/Command/Command.cjs.map +1 -0
  459. package/dist/components/Command/Command.js +149 -0
  460. package/dist/components/Command/Command.js.map +1 -0
  461. package/dist/components/Command/Command.module.cjs +2 -0
  462. package/dist/components/Command/Command.module.cjs.map +1 -0
  463. package/dist/components/Command/Command.module.js +23 -0
  464. package/dist/components/Command/Command.module.js.map +1 -0
  465. package/dist/components/ConditionalWrapper/ConditionalWrapper.cjs +2 -0
  466. package/dist/components/ConditionalWrapper/ConditionalWrapper.cjs.map +1 -0
  467. package/dist/components/ConditionalWrapper/ConditionalWrapper.js +9 -0
  468. package/dist/components/ConditionalWrapper/ConditionalWrapper.js.map +1 -0
  469. package/dist/components/ConfirmDialog/ConfirmDialog.cjs +2 -0
  470. package/dist/components/ConfirmDialog/ConfirmDialog.cjs.map +1 -0
  471. package/dist/components/ConfirmDialog/ConfirmDialog.js +28 -0
  472. package/dist/components/ConfirmDialog/ConfirmDialog.js.map +1 -0
  473. package/dist/components/ContextMenu/ContextMenu.cjs +2 -0
  474. package/dist/components/ContextMenu/ContextMenu.cjs.map +1 -0
  475. package/dist/components/ContextMenu/ContextMenu.js +91 -0
  476. package/dist/components/ContextMenu/ContextMenu.js.map +1 -0
  477. package/dist/components/ContextMenu/ContextMenu.module.cjs +2 -0
  478. package/dist/components/ContextMenu/ContextMenu.module.cjs.map +1 -0
  479. package/dist/components/ContextMenu/ContextMenu.module.js +14 -0
  480. package/dist/components/ContextMenu/ContextMenu.module.js.map +1 -0
  481. package/dist/components/CopyButton/CopyButton.cjs +2 -0
  482. package/dist/components/CopyButton/CopyButton.cjs.map +1 -0
  483. package/dist/components/CopyButton/CopyButton.js +34 -0
  484. package/dist/components/CopyButton/CopyButton.js.map +1 -0
  485. package/dist/components/CopyButton/CopyButton.module.cjs +2 -0
  486. package/dist/components/CopyButton/CopyButton.module.cjs.map +1 -0
  487. package/dist/components/CopyButton/CopyButton.module.js +9 -0
  488. package/dist/components/CopyButton/CopyButton.module.js.map +1 -0
  489. package/dist/components/DataList/DataList.cjs +2 -0
  490. package/dist/components/DataList/DataList.cjs.map +1 -0
  491. package/dist/components/DataList/DataList.js +18 -0
  492. package/dist/components/DataList/DataList.js.map +1 -0
  493. package/dist/components/DataList/DataList.module.cjs +2 -0
  494. package/dist/components/DataList/DataList.module.cjs.map +1 -0
  495. package/dist/components/DataList/DataList.module.js +9 -0
  496. package/dist/components/DataList/DataList.module.js.map +1 -0
  497. package/dist/components/DataTable/DataTable.cjs +2 -0
  498. package/dist/components/DataTable/DataTable.cjs.map +1 -0
  499. package/dist/components/DataTable/DataTable.js +111 -0
  500. package/dist/components/DataTable/DataTable.js.map +1 -0
  501. package/dist/components/DataTable/DataTable.module.cjs +2 -0
  502. package/dist/components/DataTable/DataTable.module.cjs.map +1 -0
  503. package/dist/components/DataTable/DataTable.module.js +11 -0
  504. package/dist/components/DataTable/DataTable.module.js.map +1 -0
  505. package/dist/components/DatePicker/DatePicker.cjs +2 -0
  506. package/dist/components/DatePicker/DatePicker.cjs.map +1 -0
  507. package/dist/components/DatePicker/DatePicker.js +17 -0
  508. package/dist/components/DatePicker/DatePicker.js.map +1 -0
  509. package/dist/components/DateRangePicker/DateRangePicker.cjs +2 -0
  510. package/dist/components/DateRangePicker/DateRangePicker.cjs.map +1 -0
  511. package/dist/components/DateRangePicker/DateRangePicker.js +165 -0
  512. package/dist/components/DateRangePicker/DateRangePicker.js.map +1 -0
  513. package/dist/components/DateRangePicker/DateRangePicker.module.cjs +2 -0
  514. package/dist/components/DateRangePicker/DateRangePicker.module.cjs.map +1 -0
  515. package/dist/components/DateRangePicker/DateRangePicker.module.js +24 -0
  516. package/dist/components/DateRangePicker/DateRangePicker.module.js.map +1 -0
  517. package/dist/components/DescriptionList/DescriptionList.cjs +2 -0
  518. package/dist/components/DescriptionList/DescriptionList.cjs.map +1 -0
  519. package/dist/components/DescriptionList/DescriptionList.js +22 -0
  520. package/dist/components/DescriptionList/DescriptionList.js.map +1 -0
  521. package/dist/components/DescriptionList/DescriptionList.module.cjs +2 -0
  522. package/dist/components/DescriptionList/DescriptionList.module.cjs.map +1 -0
  523. package/dist/components/DescriptionList/DescriptionList.module.js +10 -0
  524. package/dist/components/DescriptionList/DescriptionList.module.js.map +1 -0
  525. package/dist/components/Divider/Divider.cjs +2 -0
  526. package/dist/components/Divider/Divider.cjs.map +1 -0
  527. package/dist/components/Divider/Divider.js +22 -0
  528. package/dist/components/Divider/Divider.js.map +1 -0
  529. package/dist/components/Divider/Divider.module.cjs +2 -0
  530. package/dist/components/Divider/Divider.module.cjs.map +1 -0
  531. package/dist/components/Divider/Divider.module.js +14 -0
  532. package/dist/components/Divider/Divider.module.js.map +1 -0
  533. package/dist/components/Drawer/Drawer.cjs +2 -0
  534. package/dist/components/Drawer/Drawer.cjs.map +1 -0
  535. package/dist/components/Drawer/Drawer.js +79 -0
  536. package/dist/components/Drawer/Drawer.js.map +1 -0
  537. package/dist/components/Drawer/Drawer.module.cjs +2 -0
  538. package/dist/components/Drawer/Drawer.module.cjs.map +1 -0
  539. package/dist/components/Drawer/Drawer.module.js +25 -0
  540. package/dist/components/Drawer/Drawer.module.js.map +1 -0
  541. package/dist/components/DropdownMenu/DropdownMenu.cjs +2 -0
  542. package/dist/components/DropdownMenu/DropdownMenu.cjs.map +1 -0
  543. package/dist/components/DropdownMenu/DropdownMenu.js +100 -0
  544. package/dist/components/DropdownMenu/DropdownMenu.js.map +1 -0
  545. package/dist/components/DropdownMenu/DropdownMenu.module.cjs +2 -0
  546. package/dist/components/DropdownMenu/DropdownMenu.module.cjs.map +1 -0
  547. package/dist/components/DropdownMenu/DropdownMenu.module.js +19 -0
  548. package/dist/components/DropdownMenu/DropdownMenu.module.js.map +1 -0
  549. package/dist/components/Dropzone/Dropzone.cjs +2 -0
  550. package/dist/components/Dropzone/Dropzone.cjs.map +1 -0
  551. package/dist/components/Dropzone/Dropzone.js +60 -0
  552. package/dist/components/Dropzone/Dropzone.js.map +1 -0
  553. package/dist/components/Dropzone/Dropzone.module.cjs +2 -0
  554. package/dist/components/Dropzone/Dropzone.module.cjs.map +1 -0
  555. package/dist/components/Dropzone/Dropzone.module.js +12 -0
  556. package/dist/components/Dropzone/Dropzone.module.js.map +1 -0
  557. package/dist/components/EmptyState/EmptyState.cjs +2 -0
  558. package/dist/components/EmptyState/EmptyState.cjs.map +1 -0
  559. package/dist/components/EmptyState/EmptyState.js +31 -0
  560. package/dist/components/EmptyState/EmptyState.js.map +1 -0
  561. package/dist/components/EmptyState/EmptyState.module.cjs +2 -0
  562. package/dist/components/EmptyState/EmptyState.module.cjs.map +1 -0
  563. package/dist/components/EmptyState/EmptyState.module.js +12 -0
  564. package/dist/components/EmptyState/EmptyState.module.js.map +1 -0
  565. package/dist/components/ErrorState/ErrorState.cjs +2 -0
  566. package/dist/components/ErrorState/ErrorState.cjs.map +1 -0
  567. package/dist/components/ErrorState/ErrorState.js +51 -0
  568. package/dist/components/ErrorState/ErrorState.js.map +1 -0
  569. package/dist/components/ErrorState/ErrorState.module.cjs +2 -0
  570. package/dist/components/ErrorState/ErrorState.module.cjs.map +1 -0
  571. package/dist/components/ErrorState/ErrorState.module.js +12 -0
  572. package/dist/components/ErrorState/ErrorState.module.js.map +1 -0
  573. package/dist/components/ErrorText/ErrorText.cjs +2 -0
  574. package/dist/components/ErrorText/ErrorText.cjs.map +1 -0
  575. package/dist/components/ErrorText/ErrorText.js +16 -0
  576. package/dist/components/ErrorText/ErrorText.js.map +1 -0
  577. package/dist/components/ErrorText/ErrorText.module.cjs +2 -0
  578. package/dist/components/ErrorText/ErrorText.module.cjs.map +1 -0
  579. package/dist/components/ErrorText/ErrorText.module.js +6 -0
  580. package/dist/components/ErrorText/ErrorText.module.js.map +1 -0
  581. package/dist/components/FileUpload/FileUpload.cjs +2 -0
  582. package/dist/components/FileUpload/FileUpload.cjs.map +1 -0
  583. package/dist/components/FileUpload/FileUpload.js +129 -0
  584. package/dist/components/FileUpload/FileUpload.js.map +1 -0
  585. package/dist/components/FileUpload/FileUpload.module.cjs +2 -0
  586. package/dist/components/FileUpload/FileUpload.module.cjs.map +1 -0
  587. package/dist/components/FileUpload/FileUpload.module.js +20 -0
  588. package/dist/components/FileUpload/FileUpload.module.js.map +1 -0
  589. package/dist/components/FloatingActionButton/FloatingActionButton.cjs +2 -0
  590. package/dist/components/FloatingActionButton/FloatingActionButton.cjs.map +1 -0
  591. package/dist/components/FloatingActionButton/FloatingActionButton.js +23 -0
  592. package/dist/components/FloatingActionButton/FloatingActionButton.js.map +1 -0
  593. package/dist/components/FloatingActionButton/FloatingActionButton.module.cjs +2 -0
  594. package/dist/components/FloatingActionButton/FloatingActionButton.module.cjs.map +1 -0
  595. package/dist/components/FloatingActionButton/FloatingActionButton.module.js +20 -0
  596. package/dist/components/FloatingActionButton/FloatingActionButton.module.js.map +1 -0
  597. package/dist/components/For/For.cjs +2 -0
  598. package/dist/components/For/For.cjs.map +1 -0
  599. package/dist/components/For/For.js +10 -0
  600. package/dist/components/For/For.js.map +1 -0
  601. package/dist/components/Form/Form.cjs +2 -0
  602. package/dist/components/Form/Form.cjs.map +1 -0
  603. package/dist/components/Form/Form.js +78 -0
  604. package/dist/components/Form/Form.js.map +1 -0
  605. package/dist/components/Form/Form.module.cjs +2 -0
  606. package/dist/components/Form/Form.module.cjs.map +1 -0
  607. package/dist/components/Form/Form.module.js +22 -0
  608. package/dist/components/Form/Form.module.js.map +1 -0
  609. package/dist/components/HoverCard/HoverCard.cjs +2 -0
  610. package/dist/components/HoverCard/HoverCard.cjs.map +1 -0
  611. package/dist/components/HoverCard/HoverCard.js +36 -0
  612. package/dist/components/HoverCard/HoverCard.js.map +1 -0
  613. package/dist/components/HoverCard/HoverCard.module.cjs +2 -0
  614. package/dist/components/HoverCard/HoverCard.module.cjs.map +1 -0
  615. package/dist/components/HoverCard/HoverCard.module.js +15 -0
  616. package/dist/components/HoverCard/HoverCard.module.js.map +1 -0
  617. package/dist/components/Image/Image.cjs +2 -0
  618. package/dist/components/Image/Image.cjs.map +1 -0
  619. package/dist/components/Image/Image.js +22 -0
  620. package/dist/components/Image/Image.js.map +1 -0
  621. package/dist/components/Image/Image.module.cjs +2 -0
  622. package/dist/components/Image/Image.module.cjs.map +1 -0
  623. package/dist/components/Image/Image.module.js +6 -0
  624. package/dist/components/Image/Image.module.js.map +1 -0
  625. package/dist/components/Input/Input.cjs +2 -0
  626. package/dist/components/Input/Input.cjs.map +1 -0
  627. package/dist/components/Input/Input.js +56 -0
  628. package/dist/components/Input/Input.js.map +1 -0
  629. package/dist/components/Input/Input.module.cjs +2 -0
  630. package/dist/components/Input/Input.module.cjs.map +1 -0
  631. package/dist/components/Input/Input.module.js +22 -0
  632. package/dist/components/Input/Input.module.js.map +1 -0
  633. package/dist/components/InstallBanner/InstallBanner.cjs +2 -0
  634. package/dist/components/InstallBanner/InstallBanner.cjs.map +1 -0
  635. package/dist/components/InstallBanner/InstallBanner.js +65 -0
  636. package/dist/components/InstallBanner/InstallBanner.js.map +1 -0
  637. package/dist/components/InstallBanner/InstallBanner.module.cjs +2 -0
  638. package/dist/components/InstallBanner/InstallBanner.module.cjs.map +1 -0
  639. package/dist/components/InstallBanner/InstallBanner.module.js +13 -0
  640. package/dist/components/InstallBanner/InstallBanner.module.js.map +1 -0
  641. package/dist/components/InstallButton/InstallButton.cjs +2 -0
  642. package/dist/components/InstallButton/InstallButton.cjs.map +1 -0
  643. package/dist/components/InstallButton/InstallButton.js +18 -0
  644. package/dist/components/InstallButton/InstallButton.js.map +1 -0
  645. package/dist/components/Kbd/Kbd.cjs +2 -0
  646. package/dist/components/Kbd/Kbd.cjs.map +1 -0
  647. package/dist/components/Kbd/Kbd.js +15 -0
  648. package/dist/components/Kbd/Kbd.js.map +1 -0
  649. package/dist/components/Kbd/Kbd.module.cjs +2 -0
  650. package/dist/components/Kbd/Kbd.module.cjs.map +1 -0
  651. package/dist/components/Kbd/Kbd.module.js +11 -0
  652. package/dist/components/Kbd/Kbd.module.js.map +1 -0
  653. package/dist/components/Label/Label.cjs +2 -0
  654. package/dist/components/Label/Label.cjs.map +1 -0
  655. package/dist/components/Label/Label.js +21 -0
  656. package/dist/components/Label/Label.js.map +1 -0
  657. package/dist/components/Label/Label.module.cjs +2 -0
  658. package/dist/components/Label/Label.module.cjs.map +1 -0
  659. package/dist/components/Label/Label.module.js +9 -0
  660. package/dist/components/Label/Label.module.js.map +1 -0
  661. package/dist/components/Layout/Layout.cjs +2 -0
  662. package/dist/components/Layout/Layout.cjs.map +1 -0
  663. package/dist/components/Layout/Layout.js +56 -0
  664. package/dist/components/Layout/Layout.js.map +1 -0
  665. package/dist/components/Layout/Layout.module.cjs +2 -0
  666. package/dist/components/Layout/Layout.module.cjs.map +1 -0
  667. package/dist/components/Layout/Layout.module.js +26 -0
  668. package/dist/components/Layout/Layout.module.js.map +1 -0
  669. package/dist/components/ListTile/ListTile.cjs +2 -0
  670. package/dist/components/ListTile/ListTile.cjs.map +1 -0
  671. package/dist/components/ListTile/ListTile.js +41 -0
  672. package/dist/components/ListTile/ListTile.js.map +1 -0
  673. package/dist/components/ListTile/ListTile.module.cjs +2 -0
  674. package/dist/components/ListTile/ListTile.module.cjs.map +1 -0
  675. package/dist/components/ListTile/ListTile.module.js +16 -0
  676. package/dist/components/ListTile/ListTile.module.js.map +1 -0
  677. package/dist/components/Menubar/Menubar.cjs +2 -0
  678. package/dist/components/Menubar/Menubar.cjs.map +1 -0
  679. package/dist/components/Menubar/Menubar.js +96 -0
  680. package/dist/components/Menubar/Menubar.js.map +1 -0
  681. package/dist/components/Menubar/Menubar.module.cjs +2 -0
  682. package/dist/components/Menubar/Menubar.module.cjs.map +1 -0
  683. package/dist/components/Menubar/Menubar.module.js +17 -0
  684. package/dist/components/Menubar/Menubar.module.js.map +1 -0
  685. package/dist/components/Modal/Modal.cjs +2 -0
  686. package/dist/components/Modal/Modal.cjs.map +1 -0
  687. package/dist/components/Modal/Modal.js +83 -0
  688. package/dist/components/Modal/Modal.js.map +1 -0
  689. package/dist/components/Modal/Modal.module.cjs +2 -0
  690. package/dist/components/Modal/Modal.module.cjs.map +1 -0
  691. package/dist/components/Modal/Modal.module.js +24 -0
  692. package/dist/components/Modal/Modal.module.js.map +1 -0
  693. package/dist/components/ModalsManager/ModalsManager.cjs +2 -0
  694. package/dist/components/ModalsManager/ModalsManager.cjs.map +1 -0
  695. package/dist/components/ModalsManager/ModalsManager.js +97 -0
  696. package/dist/components/ModalsManager/ModalsManager.js.map +1 -0
  697. package/dist/components/ModalsManager/ModalsManager.module.cjs +2 -0
  698. package/dist/components/ModalsManager/ModalsManager.module.cjs.map +1 -0
  699. package/dist/components/ModalsManager/ModalsManager.module.js +6 -0
  700. package/dist/components/ModalsManager/ModalsManager.module.js.map +1 -0
  701. package/dist/components/Money/Money.cjs +2 -0
  702. package/dist/components/Money/Money.cjs.map +1 -0
  703. package/dist/components/Money/Money.js +16 -0
  704. package/dist/components/Money/Money.js.map +1 -0
  705. package/dist/components/MultiSelect/MultiSelect.cjs +2 -0
  706. package/dist/components/MultiSelect/MultiSelect.cjs.map +1 -0
  707. package/dist/components/MultiSelect/MultiSelect.js +130 -0
  708. package/dist/components/MultiSelect/MultiSelect.js.map +1 -0
  709. package/dist/components/MultiSelect/MultiSelect.module.cjs +2 -0
  710. package/dist/components/MultiSelect/MultiSelect.module.cjs.map +1 -0
  711. package/dist/components/MultiSelect/MultiSelect.module.js +23 -0
  712. package/dist/components/MultiSelect/MultiSelect.module.js.map +1 -0
  713. package/dist/components/NProgress/NProgress.cjs +2 -0
  714. package/dist/components/NProgress/NProgress.cjs.map +1 -0
  715. package/dist/components/NProgress/NProgress.js +87 -0
  716. package/dist/components/NProgress/NProgress.js.map +1 -0
  717. package/dist/components/NProgress/NProgress.module.cjs +2 -0
  718. package/dist/components/NProgress/NProgress.module.cjs.map +1 -0
  719. package/dist/components/NProgress/NProgress.module.js +6 -0
  720. package/dist/components/NProgress/NProgress.module.js.map +1 -0
  721. package/dist/components/Navbar/Navbar.cjs +2 -0
  722. package/dist/components/Navbar/Navbar.cjs.map +1 -0
  723. package/dist/components/Navbar/Navbar.js +28 -0
  724. package/dist/components/Navbar/Navbar.js.map +1 -0
  725. package/dist/components/Navbar/Navbar.module.cjs +2 -0
  726. package/dist/components/Navbar/Navbar.module.cjs.map +1 -0
  727. package/dist/components/Navbar/Navbar.module.js +16 -0
  728. package/dist/components/Navbar/Navbar.module.js.map +1 -0
  729. package/dist/components/NavigationMenu/NavigationMenu.cjs +2 -0
  730. package/dist/components/NavigationMenu/NavigationMenu.cjs.map +1 -0
  731. package/dist/components/NavigationMenu/NavigationMenu.js +82 -0
  732. package/dist/components/NavigationMenu/NavigationMenu.js.map +1 -0
  733. package/dist/components/NavigationMenu/NavigationMenu.module.cjs +2 -0
  734. package/dist/components/NavigationMenu/NavigationMenu.module.cjs.map +1 -0
  735. package/dist/components/NavigationMenu/NavigationMenu.module.js +15 -0
  736. package/dist/components/NavigationMenu/NavigationMenu.module.js.map +1 -0
  737. package/dist/components/NavigationRail/NavigationRail.cjs +2 -0
  738. package/dist/components/NavigationRail/NavigationRail.cjs.map +1 -0
  739. package/dist/components/NavigationRail/NavigationRail.js +51 -0
  740. package/dist/components/NavigationRail/NavigationRail.js.map +1 -0
  741. package/dist/components/NavigationRail/NavigationRail.module.cjs +2 -0
  742. package/dist/components/NavigationRail/NavigationRail.module.cjs.map +1 -0
  743. package/dist/components/NavigationRail/NavigationRail.module.js +17 -0
  744. package/dist/components/NavigationRail/NavigationRail.module.js.map +1 -0
  745. package/dist/components/OfflineIndicator/OfflineIndicator.cjs +2 -0
  746. package/dist/components/OfflineIndicator/OfflineIndicator.cjs.map +1 -0
  747. package/dist/components/OfflineIndicator/OfflineIndicator.js +36 -0
  748. package/dist/components/OfflineIndicator/OfflineIndicator.js.map +1 -0
  749. package/dist/components/OfflineIndicator/OfflineIndicator.module.cjs +2 -0
  750. package/dist/components/OfflineIndicator/OfflineIndicator.module.cjs.map +1 -0
  751. package/dist/components/OfflineIndicator/OfflineIndicator.module.js +13 -0
  752. package/dist/components/OfflineIndicator/OfflineIndicator.module.js.map +1 -0
  753. package/dist/components/Page/Page.cjs +2 -0
  754. package/dist/components/Page/Page.cjs.map +1 -0
  755. package/dist/components/Page/Page.js +52 -0
  756. package/dist/components/Page/Page.js.map +1 -0
  757. package/dist/components/Page/Page.module.cjs +2 -0
  758. package/dist/components/Page/Page.module.cjs.map +1 -0
  759. package/dist/components/Page/Page.module.js +18 -0
  760. package/dist/components/Page/Page.module.js.map +1 -0
  761. package/dist/components/Pagination/Pagination.cjs +2 -0
  762. package/dist/components/Pagination/Pagination.cjs.map +1 -0
  763. package/dist/components/Pagination/Pagination.js +75 -0
  764. package/dist/components/Pagination/Pagination.js.map +1 -0
  765. package/dist/components/Pagination/Pagination.module.cjs +2 -0
  766. package/dist/components/Pagination/Pagination.module.cjs.map +1 -0
  767. package/dist/components/Pagination/Pagination.module.js +15 -0
  768. package/dist/components/Pagination/Pagination.module.js.map +1 -0
  769. package/dist/components/PasswordInput/PasswordInput.cjs +2 -0
  770. package/dist/components/PasswordInput/PasswordInput.cjs.map +1 -0
  771. package/dist/components/PasswordInput/PasswordInput.js +78 -0
  772. package/dist/components/PasswordInput/PasswordInput.js.map +1 -0
  773. package/dist/components/PasswordInput/PasswordInput.module.cjs +2 -0
  774. package/dist/components/PasswordInput/PasswordInput.module.cjs.map +1 -0
  775. package/dist/components/PasswordInput/PasswordInput.module.js +26 -0
  776. package/dist/components/PasswordInput/PasswordInput.module.js.map +1 -0
  777. package/dist/components/PinInput/PinInput.cjs +2 -0
  778. package/dist/components/PinInput/PinInput.cjs.map +1 -0
  779. package/dist/components/PinInput/PinInput.js +78 -0
  780. package/dist/components/PinInput/PinInput.js.map +1 -0
  781. package/dist/components/PinInput/PinInput.module.cjs +2 -0
  782. package/dist/components/PinInput/PinInput.module.cjs.map +1 -0
  783. package/dist/components/PinInput/PinInput.module.js +17 -0
  784. package/dist/components/PinInput/PinInput.module.js.map +1 -0
  785. package/dist/components/Popover/Popover.cjs +2 -0
  786. package/dist/components/Popover/Popover.cjs.map +1 -0
  787. package/dist/components/Popover/Popover.js +51 -0
  788. package/dist/components/Popover/Popover.js.map +1 -0
  789. package/dist/components/Popover/Popover.module.cjs +2 -0
  790. package/dist/components/Popover/Popover.module.cjs.map +1 -0
  791. package/dist/components/Popover/Popover.module.js +14 -0
  792. package/dist/components/Popover/Popover.module.js.map +1 -0
  793. package/dist/components/Portal/Portal.cjs +2 -0
  794. package/dist/components/Portal/Portal.cjs.map +1 -0
  795. package/dist/components/Portal/Portal.js +11 -0
  796. package/dist/components/Portal/Portal.js.map +1 -0
  797. package/dist/components/Progress/Progress.cjs +2 -0
  798. package/dist/components/Progress/Progress.cjs.map +1 -0
  799. package/dist/components/Progress/Progress.js +30 -0
  800. package/dist/components/Progress/Progress.js.map +1 -0
  801. package/dist/components/Progress/Progress.module.cjs +2 -0
  802. package/dist/components/Progress/Progress.module.cjs.map +1 -0
  803. package/dist/components/Progress/Progress.module.js +16 -0
  804. package/dist/components/Progress/Progress.module.js.map +1 -0
  805. package/dist/components/Radio/Radio.cjs +2 -0
  806. package/dist/components/Radio/Radio.cjs.map +1 -0
  807. package/dist/components/Radio/Radio.js +64 -0
  808. package/dist/components/Radio/Radio.js.map +1 -0
  809. package/dist/components/Radio/Radio.module.cjs +2 -0
  810. package/dist/components/Radio/Radio.module.cjs.map +1 -0
  811. package/dist/components/Radio/Radio.module.js +16 -0
  812. package/dist/components/Radio/Radio.module.js.map +1 -0
  813. package/dist/components/RangeSlider/RangeSlider.cjs +2 -0
  814. package/dist/components/RangeSlider/RangeSlider.cjs.map +1 -0
  815. package/dist/components/RangeSlider/RangeSlider.js +76 -0
  816. package/dist/components/RangeSlider/RangeSlider.js.map +1 -0
  817. package/dist/components/RangeSlider/RangeSlider.module.cjs +2 -0
  818. package/dist/components/RangeSlider/RangeSlider.module.cjs.map +1 -0
  819. package/dist/components/RangeSlider/RangeSlider.module.js +15 -0
  820. package/dist/components/RangeSlider/RangeSlider.module.js.map +1 -0
  821. package/dist/components/RatingStars/RatingStars.cjs +2 -0
  822. package/dist/components/RatingStars/RatingStars.cjs.map +1 -0
  823. package/dist/components/RatingStars/RatingStars.js +47 -0
  824. package/dist/components/RatingStars/RatingStars.js.map +1 -0
  825. package/dist/components/RatingStars/RatingStars.module.cjs +2 -0
  826. package/dist/components/RatingStars/RatingStars.module.cjs.map +1 -0
  827. package/dist/components/RatingStars/RatingStars.module.js +15 -0
  828. package/dist/components/RatingStars/RatingStars.module.js.map +1 -0
  829. package/dist/components/RefreshIndicator/RefreshIndicator.cjs +2 -0
  830. package/dist/components/RefreshIndicator/RefreshIndicator.cjs.map +1 -0
  831. package/dist/components/RefreshIndicator/RefreshIndicator.js +76 -0
  832. package/dist/components/RefreshIndicator/RefreshIndicator.js.map +1 -0
  833. package/dist/components/RefreshIndicator/RefreshIndicator.module.cjs +2 -0
  834. package/dist/components/RefreshIndicator/RefreshIndicator.module.cjs.map +1 -0
  835. package/dist/components/RefreshIndicator/RefreshIndicator.module.js +11 -0
  836. package/dist/components/RefreshIndicator/RefreshIndicator.module.js.map +1 -0
  837. package/dist/components/RelativeTime/RelativeTime.cjs +2 -0
  838. package/dist/components/RelativeTime/RelativeTime.cjs.map +1 -0
  839. package/dist/components/RelativeTime/RelativeTime.js +15 -0
  840. package/dist/components/RelativeTime/RelativeTime.js.map +1 -0
  841. package/dist/components/Resizable/Resizable.cjs +2 -0
  842. package/dist/components/Resizable/Resizable.cjs.map +1 -0
  843. package/dist/components/Resizable/Resizable.js +82 -0
  844. package/dist/components/Resizable/Resizable.js.map +1 -0
  845. package/dist/components/Resizable/Resizable.module.cjs +2 -0
  846. package/dist/components/Resizable/Resizable.module.cjs.map +1 -0
  847. package/dist/components/Resizable/Resizable.module.js +13 -0
  848. package/dist/components/Resizable/Resizable.module.js.map +1 -0
  849. package/dist/components/Responsive/Responsive.cjs +2 -0
  850. package/dist/components/Responsive/Responsive.cjs.map +1 -0
  851. package/dist/components/Responsive/Responsive.js +17 -0
  852. package/dist/components/Responsive/Responsive.js.map +1 -0
  853. package/dist/components/SafeArea/SafeArea.cjs +2 -0
  854. package/dist/components/SafeArea/SafeArea.cjs.map +1 -0
  855. package/dist/components/SafeArea/SafeArea.js +22 -0
  856. package/dist/components/SafeArea/SafeArea.js.map +1 -0
  857. package/dist/components/SafeArea/SafeArea.module.cjs +2 -0
  858. package/dist/components/SafeArea/SafeArea.module.cjs.map +1 -0
  859. package/dist/components/SafeArea/SafeArea.module.js +13 -0
  860. package/dist/components/SafeArea/SafeArea.module.js.map +1 -0
  861. package/dist/components/ScrollArea/ScrollArea.cjs +2 -0
  862. package/dist/components/ScrollArea/ScrollArea.cjs.map +1 -0
  863. package/dist/components/ScrollArea/ScrollArea.js +24 -0
  864. package/dist/components/ScrollArea/ScrollArea.js.map +1 -0
  865. package/dist/components/ScrollArea/ScrollArea.module.cjs +2 -0
  866. package/dist/components/ScrollArea/ScrollArea.module.cjs.map +1 -0
  867. package/dist/components/ScrollArea/ScrollArea.module.js +6 -0
  868. package/dist/components/ScrollArea/ScrollArea.module.js.map +1 -0
  869. package/dist/components/SearchBar/SearchBar.cjs +2 -0
  870. package/dist/components/SearchBar/SearchBar.cjs.map +1 -0
  871. package/dist/components/SearchBar/SearchBar.js +74 -0
  872. package/dist/components/SearchBar/SearchBar.js.map +1 -0
  873. package/dist/components/SearchBar/SearchBar.module.cjs +2 -0
  874. package/dist/components/SearchBar/SearchBar.module.cjs.map +1 -0
  875. package/dist/components/SearchBar/SearchBar.module.js +11 -0
  876. package/dist/components/SearchBar/SearchBar.module.js.map +1 -0
  877. package/dist/components/SegmentedControl/SegmentedControl.cjs +2 -0
  878. package/dist/components/SegmentedControl/SegmentedControl.cjs.map +1 -0
  879. package/dist/components/SegmentedControl/SegmentedControl.js +34 -0
  880. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -0
  881. package/dist/components/SegmentedControl/SegmentedControl.module.cjs +2 -0
  882. package/dist/components/SegmentedControl/SegmentedControl.module.cjs.map +1 -0
  883. package/dist/components/SegmentedControl/SegmentedControl.module.js +16 -0
  884. package/dist/components/SegmentedControl/SegmentedControl.module.js.map +1 -0
  885. package/dist/components/Select/Select.cjs +2 -0
  886. package/dist/components/Select/Select.cjs.map +1 -0
  887. package/dist/components/Select/Select.js +76 -0
  888. package/dist/components/Select/Select.js.map +1 -0
  889. package/dist/components/Select/Select.module.cjs +2 -0
  890. package/dist/components/Select/Select.module.cjs.map +1 -0
  891. package/dist/components/Select/Select.module.js +16 -0
  892. package/dist/components/Select/Select.module.js.map +1 -0
  893. package/dist/components/Sidebar/Sidebar.cjs +2 -0
  894. package/dist/components/Sidebar/Sidebar.cjs.map +1 -0
  895. package/dist/components/Sidebar/Sidebar.js +58 -0
  896. package/dist/components/Sidebar/Sidebar.js.map +1 -0
  897. package/dist/components/Sidebar/Sidebar.module.cjs +2 -0
  898. package/dist/components/Sidebar/Sidebar.module.cjs.map +1 -0
  899. package/dist/components/Sidebar/Sidebar.module.js +17 -0
  900. package/dist/components/Sidebar/Sidebar.module.js.map +1 -0
  901. package/dist/components/Skeleton/Skeleton.cjs +2 -0
  902. package/dist/components/Skeleton/Skeleton.cjs.map +1 -0
  903. package/dist/components/Skeleton/Skeleton.js +19 -0
  904. package/dist/components/Skeleton/Skeleton.js.map +1 -0
  905. package/dist/components/Skeleton/Skeleton.module.cjs +2 -0
  906. package/dist/components/Skeleton/Skeleton.module.cjs.map +1 -0
  907. package/dist/components/Skeleton/Skeleton.module.js +12 -0
  908. package/dist/components/Skeleton/Skeleton.module.js.map +1 -0
  909. package/dist/components/Slider/Slider.cjs +2 -0
  910. package/dist/components/Slider/Slider.cjs.map +1 -0
  911. package/dist/components/Slider/Slider.js +59 -0
  912. package/dist/components/Slider/Slider.js.map +1 -0
  913. package/dist/components/Slider/Slider.module.cjs +2 -0
  914. package/dist/components/Slider/Slider.module.cjs.map +1 -0
  915. package/dist/components/Slider/Slider.module.js +15 -0
  916. package/dist/components/Slider/Slider.module.js.map +1 -0
  917. package/dist/components/Spacer/Spacer.cjs +2 -0
  918. package/dist/components/Spacer/Spacer.cjs.map +1 -0
  919. package/dist/components/Spacer/Spacer.js +14 -0
  920. package/dist/components/Spacer/Spacer.js.map +1 -0
  921. package/dist/components/Spacer/Spacer.module.cjs +2 -0
  922. package/dist/components/Spacer/Spacer.module.cjs.map +1 -0
  923. package/dist/components/Spacer/Spacer.module.js +11 -0
  924. package/dist/components/Spacer/Spacer.module.js.map +1 -0
  925. package/dist/components/Spinner/Spinner.cjs +2 -0
  926. package/dist/components/Spinner/Spinner.cjs.map +1 -0
  927. package/dist/components/Spinner/Spinner.js +28 -0
  928. package/dist/components/Spinner/Spinner.js.map +1 -0
  929. package/dist/components/Spinner/Spinner.module.cjs +2 -0
  930. package/dist/components/Spinner/Spinner.module.cjs.map +1 -0
  931. package/dist/components/Spinner/Spinner.module.js +17 -0
  932. package/dist/components/Spinner/Spinner.module.js.map +1 -0
  933. package/dist/components/Stat/Stat.cjs +2 -0
  934. package/dist/components/Stat/Stat.cjs.map +1 -0
  935. package/dist/components/Stat/Stat.js +47 -0
  936. package/dist/components/Stat/Stat.js.map +1 -0
  937. package/dist/components/Stat/Stat.module.cjs +2 -0
  938. package/dist/components/Stat/Stat.module.cjs.map +1 -0
  939. package/dist/components/Stat/Stat.module.js +18 -0
  940. package/dist/components/Stat/Stat.module.js.map +1 -0
  941. package/dist/components/Stepper/Stepper.cjs +2 -0
  942. package/dist/components/Stepper/Stepper.cjs.map +1 -0
  943. package/dist/components/Stepper/Stepper.js +31 -0
  944. package/dist/components/Stepper/Stepper.js.map +1 -0
  945. package/dist/components/Stepper/Stepper.module.cjs +2 -0
  946. package/dist/components/Stepper/Stepper.module.cjs.map +1 -0
  947. package/dist/components/Stepper/Stepper.module.js +15 -0
  948. package/dist/components/Stepper/Stepper.module.js.map +1 -0
  949. package/dist/components/StepperInput/StepperInput.cjs +2 -0
  950. package/dist/components/StepperInput/StepperInput.cjs.map +1 -0
  951. package/dist/components/StepperInput/StepperInput.js +54 -0
  952. package/dist/components/StepperInput/StepperInput.js.map +1 -0
  953. package/dist/components/StepperInput/StepperInput.module.cjs +2 -0
  954. package/dist/components/StepperInput/StepperInput.module.cjs.map +1 -0
  955. package/dist/components/StepperInput/StepperInput.module.js +16 -0
  956. package/dist/components/StepperInput/StepperInput.module.js.map +1 -0
  957. package/dist/components/Switch/Switch.cjs +2 -0
  958. package/dist/components/Switch/Switch.cjs.map +1 -0
  959. package/dist/components/Switch/Switch.js +33 -0
  960. package/dist/components/Switch/Switch.js.map +1 -0
  961. package/dist/components/Switch/Switch.module.cjs +2 -0
  962. package/dist/components/Switch/Switch.module.cjs.map +1 -0
  963. package/dist/components/Switch/Switch.module.js +13 -0
  964. package/dist/components/Switch/Switch.module.js.map +1 -0
  965. package/dist/components/SyncStatusBadge/SyncStatusBadge.cjs +2 -0
  966. package/dist/components/SyncStatusBadge/SyncStatusBadge.cjs.map +1 -0
  967. package/dist/components/SyncStatusBadge/SyncStatusBadge.js +62 -0
  968. package/dist/components/SyncStatusBadge/SyncStatusBadge.js.map +1 -0
  969. package/dist/components/SyncStatusBadge/SyncStatusBadge.module.cjs +2 -0
  970. package/dist/components/SyncStatusBadge/SyncStatusBadge.module.cjs.map +1 -0
  971. package/dist/components/SyncStatusBadge/SyncStatusBadge.module.js +18 -0
  972. package/dist/components/SyncStatusBadge/SyncStatusBadge.module.js.map +1 -0
  973. package/dist/components/Table/Table.cjs +2 -0
  974. package/dist/components/Table/Table.cjs.map +1 -0
  975. package/dist/components/Table/Table.js +43 -0
  976. package/dist/components/Table/Table.js.map +1 -0
  977. package/dist/components/Table/Table.module.cjs +2 -0
  978. package/dist/components/Table/Table.module.cjs.map +1 -0
  979. package/dist/components/Table/Table.module.js +21 -0
  980. package/dist/components/Table/Table.module.js.map +1 -0
  981. package/dist/components/Tabs/Tabs.cjs +2 -0
  982. package/dist/components/Tabs/Tabs.cjs.map +1 -0
  983. package/dist/components/Tabs/Tabs.js +42 -0
  984. package/dist/components/Tabs/Tabs.js.map +1 -0
  985. package/dist/components/Tabs/Tabs.module.cjs +2 -0
  986. package/dist/components/Tabs/Tabs.module.cjs.map +1 -0
  987. package/dist/components/Tabs/Tabs.module.js +12 -0
  988. package/dist/components/Tabs/Tabs.module.js.map +1 -0
  989. package/dist/components/Tag/Tag.cjs +2 -0
  990. package/dist/components/Tag/Tag.cjs.map +1 -0
  991. package/dist/components/Tag/Tag.js +24 -0
  992. package/dist/components/Tag/Tag.js.map +1 -0
  993. package/dist/components/Tag/Tag.module.cjs +2 -0
  994. package/dist/components/Tag/Tag.module.cjs.map +1 -0
  995. package/dist/components/Tag/Tag.module.js +19 -0
  996. package/dist/components/Tag/Tag.module.js.map +1 -0
  997. package/dist/components/Textarea/Textarea.cjs +2 -0
  998. package/dist/components/Textarea/Textarea.cjs.map +1 -0
  999. package/dist/components/Textarea/Textarea.js +40 -0
  1000. package/dist/components/Textarea/Textarea.js.map +1 -0
  1001. package/dist/components/Textarea/Textarea.module.cjs +2 -0
  1002. package/dist/components/Textarea/Textarea.module.cjs.map +1 -0
  1003. package/dist/components/Textarea/Textarea.module.js +14 -0
  1004. package/dist/components/Textarea/Textarea.module.js.map +1 -0
  1005. package/dist/components/TimePicker/TimePicker.cjs +2 -0
  1006. package/dist/components/TimePicker/TimePicker.cjs.map +1 -0
  1007. package/dist/components/TimePicker/TimePicker.js +135 -0
  1008. package/dist/components/TimePicker/TimePicker.js.map +1 -0
  1009. package/dist/components/TimePicker/TimePicker.module.cjs +2 -0
  1010. package/dist/components/TimePicker/TimePicker.module.cjs.map +1 -0
  1011. package/dist/components/TimePicker/TimePicker.module.js +16 -0
  1012. package/dist/components/TimePicker/TimePicker.module.js.map +1 -0
  1013. package/dist/components/Timeline/Timeline.cjs +2 -0
  1014. package/dist/components/Timeline/Timeline.cjs.map +1 -0
  1015. package/dist/components/Timeline/Timeline.js +46 -0
  1016. package/dist/components/Timeline/Timeline.js.map +1 -0
  1017. package/dist/components/Timeline/Timeline.module.cjs +2 -0
  1018. package/dist/components/Timeline/Timeline.module.cjs.map +1 -0
  1019. package/dist/components/Timeline/Timeline.module.js +22 -0
  1020. package/dist/components/Timeline/Timeline.module.js.map +1 -0
  1021. package/dist/components/Toast/Toast.module.cjs +2 -0
  1022. package/dist/components/Toast/Toast.module.cjs.map +1 -0
  1023. package/dist/components/Toast/Toast.module.js +23 -0
  1024. package/dist/components/Toast/Toast.module.js.map +1 -0
  1025. package/dist/components/Toast/ToastProvider.cjs +2 -0
  1026. package/dist/components/Toast/ToastProvider.cjs.map +1 -0
  1027. package/dist/components/Toast/ToastProvider.js +123 -0
  1028. package/dist/components/Toast/ToastProvider.js.map +1 -0
  1029. package/dist/components/Toggle/Toggle.cjs +2 -0
  1030. package/dist/components/Toggle/Toggle.cjs.map +1 -0
  1031. package/dist/components/Toggle/Toggle.js +32 -0
  1032. package/dist/components/Toggle/Toggle.js.map +1 -0
  1033. package/dist/components/Toggle/Toggle.module.cjs +2 -0
  1034. package/dist/components/Toggle/Toggle.module.cjs.map +1 -0
  1035. package/dist/components/Toggle/Toggle.module.js +13 -0
  1036. package/dist/components/Toggle/Toggle.module.js.map +1 -0
  1037. package/dist/components/ToggleGroup/ToggleGroup.cjs +2 -0
  1038. package/dist/components/ToggleGroup/ToggleGroup.cjs.map +1 -0
  1039. package/dist/components/ToggleGroup/ToggleGroup.js +65 -0
  1040. package/dist/components/ToggleGroup/ToggleGroup.js.map +1 -0
  1041. package/dist/components/ToggleGroup/ToggleGroup.module.cjs +2 -0
  1042. package/dist/components/ToggleGroup/ToggleGroup.module.cjs.map +1 -0
  1043. package/dist/components/ToggleGroup/ToggleGroup.module.js +10 -0
  1044. package/dist/components/ToggleGroup/ToggleGroup.module.js.map +1 -0
  1045. package/dist/components/Tooltip/Tooltip.cjs +2 -0
  1046. package/dist/components/Tooltip/Tooltip.cjs.map +1 -0
  1047. package/dist/components/Tooltip/Tooltip.js +34 -0
  1048. package/dist/components/Tooltip/Tooltip.js.map +1 -0
  1049. package/dist/components/Tooltip/Tooltip.module.cjs +2 -0
  1050. package/dist/components/Tooltip/Tooltip.module.cjs.map +1 -0
  1051. package/dist/components/Tooltip/Tooltip.module.js +14 -0
  1052. package/dist/components/Tooltip/Tooltip.module.js.map +1 -0
  1053. package/dist/components/TruncateText/TruncateText.cjs +2 -0
  1054. package/dist/components/TruncateText/TruncateText.cjs.map +1 -0
  1055. package/dist/components/TruncateText/TruncateText.js +20 -0
  1056. package/dist/components/TruncateText/TruncateText.js.map +1 -0
  1057. package/dist/components/TruncateText/TruncateText.module.cjs +2 -0
  1058. package/dist/components/TruncateText/TruncateText.module.cjs.map +1 -0
  1059. package/dist/components/TruncateText/TruncateText.module.js +6 -0
  1060. package/dist/components/TruncateText/TruncateText.module.js.map +1 -0
  1061. package/dist/components/UpdatePrompt/UpdatePrompt.cjs +2 -0
  1062. package/dist/components/UpdatePrompt/UpdatePrompt.cjs.map +1 -0
  1063. package/dist/components/UpdatePrompt/UpdatePrompt.js +44 -0
  1064. package/dist/components/UpdatePrompt/UpdatePrompt.js.map +1 -0
  1065. package/dist/components/UpdatePrompt/UpdatePrompt.module.cjs +2 -0
  1066. package/dist/components/UpdatePrompt/UpdatePrompt.module.cjs.map +1 -0
  1067. package/dist/components/UpdatePrompt/UpdatePrompt.module.js +14 -0
  1068. package/dist/components/UpdatePrompt/UpdatePrompt.module.js.map +1 -0
  1069. package/dist/components/VirtualList/VirtualList.cjs +2 -0
  1070. package/dist/components/VirtualList/VirtualList.cjs.map +1 -0
  1071. package/dist/components/VirtualList/VirtualList.js +45 -0
  1072. package/dist/components/VirtualList/VirtualList.js.map +1 -0
  1073. package/dist/components/VirtualList/VirtualList.module.cjs +2 -0
  1074. package/dist/components/VirtualList/VirtualList.module.cjs.map +1 -0
  1075. package/dist/components/VirtualList/VirtualList.module.js +10 -0
  1076. package/dist/components/VirtualList/VirtualList.module.js.map +1 -0
  1077. package/dist/components/VisuallyHidden/VisuallyHidden.cjs +2 -0
  1078. package/dist/components/VisuallyHidden/VisuallyHidden.cjs.map +1 -0
  1079. package/dist/components/VisuallyHidden/VisuallyHidden.js +14 -0
  1080. package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -0
  1081. package/dist/components/VisuallyHidden/VisuallyHidden.module.cjs +2 -0
  1082. package/dist/components/VisuallyHidden/VisuallyHidden.module.cjs.map +1 -0
  1083. package/dist/components/VisuallyHidden/VisuallyHidden.module.js +6 -0
  1084. package/dist/components/VisuallyHidden/VisuallyHidden.module.js.map +1 -0
  1085. package/dist/data/create-data-provider.cjs +2 -0
  1086. package/dist/data/create-data-provider.cjs.map +1 -0
  1087. package/dist/data/create-data-provider.js +37 -0
  1088. package/dist/data/create-data-provider.js.map +1 -0
  1089. package/dist/data/data-provider-context.cjs +2 -0
  1090. package/dist/data/data-provider-context.cjs.map +1 -0
  1091. package/dist/data/data-provider-context.js +19 -0
  1092. package/dist/data/data-provider-context.js.map +1 -0
  1093. package/dist/data/use-resource.cjs +2 -0
  1094. package/dist/data/use-resource.cjs.map +1 -0
  1095. package/dist/data/use-resource.js +83 -0
  1096. package/dist/data/use-resource.js.map +1 -0
  1097. package/dist/editor/RichTextEditor.cjs +2 -0
  1098. package/dist/editor/RichTextEditor.cjs.map +1 -0
  1099. package/dist/editor/RichTextEditor.js +190 -0
  1100. package/dist/editor/RichTextEditor.js.map +1 -0
  1101. package/dist/editor/RichTextEditor.module.cjs +2 -0
  1102. package/dist/editor/RichTextEditor.module.cjs.map +1 -0
  1103. package/dist/editor/RichTextEditor.module.js +13 -0
  1104. package/dist/editor/RichTextEditor.module.js.map +1 -0
  1105. package/dist/editor.cjs +1 -2
  1106. package/dist/editor.d.ts +14 -1
  1107. package/dist/editor.js +2 -190
  1108. package/dist/error-boundary/ErrorBoundary.cjs +2 -0
  1109. package/dist/error-boundary/ErrorBoundary.cjs.map +1 -0
  1110. package/dist/error-boundary/ErrorBoundary.js +35 -0
  1111. package/dist/error-boundary/ErrorBoundary.js.map +1 -0
  1112. package/dist/error-boundary/use-error-handler.cjs +2 -0
  1113. package/dist/error-boundary/use-error-handler.cjs.map +1 -0
  1114. package/dist/error-boundary/use-error-handler.js +14 -0
  1115. package/dist/error-boundary/use-error-handler.js.map +1 -0
  1116. package/dist/feature-flags/FeatureFlagsProvider.cjs +2 -0
  1117. package/dist/feature-flags/FeatureFlagsProvider.cjs.map +1 -0
  1118. package/dist/feature-flags/FeatureFlagsProvider.js +28 -0
  1119. package/dist/feature-flags/FeatureFlagsProvider.js.map +1 -0
  1120. package/dist/feature-flags/growthbook-adapter.cjs +2 -0
  1121. package/dist/feature-flags/growthbook-adapter.cjs.map +1 -0
  1122. package/dist/feature-flags/growthbook-adapter.js +27 -0
  1123. package/dist/feature-flags/growthbook-adapter.js.map +1 -0
  1124. package/dist/feature-flags/in-memory-adapter.cjs +2 -0
  1125. package/dist/feature-flags/in-memory-adapter.cjs.map +1 -0
  1126. package/dist/feature-flags/in-memory-adapter.js +25 -0
  1127. package/dist/feature-flags/in-memory-adapter.js.map +1 -0
  1128. package/dist/feature-flags/launchdarkly-adapter.cjs +2 -0
  1129. package/dist/feature-flags/launchdarkly-adapter.cjs.map +1 -0
  1130. package/dist/feature-flags/launchdarkly-adapter.js +21 -0
  1131. package/dist/feature-flags/launchdarkly-adapter.js.map +1 -0
  1132. package/dist/forms/FormField.cjs +2 -0
  1133. package/dist/forms/FormField.cjs.map +1 -0
  1134. package/dist/forms/FormField.js +32 -0
  1135. package/dist/forms/FormField.js.map +1 -0
  1136. package/dist/forms/br-validators.cjs +2 -0
  1137. package/dist/forms/br-validators.cjs.map +1 -0
  1138. package/dist/forms/br-validators.js +66 -0
  1139. package/dist/forms/br-validators.js.map +1 -0
  1140. package/dist/forms/index.js +9 -0
  1141. package/dist/forms/masked-inputs.cjs +2 -0
  1142. package/dist/forms/masked-inputs.cjs.map +1 -0
  1143. package/dist/forms/masked-inputs.js +42 -0
  1144. package/dist/forms/masked-inputs.js.map +1 -0
  1145. package/dist/forms/use-viacep.cjs +2 -0
  1146. package/dist/forms/use-viacep.cjs.map +1 -0
  1147. package/dist/forms/use-viacep.js +30 -0
  1148. package/dist/forms/use-viacep.js.map +1 -0
  1149. package/dist/forms/use-zod-form.cjs +2 -0
  1150. package/dist/forms/use-zod-form.cjs.map +1 -0
  1151. package/dist/forms/use-zod-form.js +13 -0
  1152. package/dist/forms/use-zod-form.js.map +1 -0
  1153. package/dist/forms/validate-form.cjs +2 -0
  1154. package/dist/forms/validate-form.cjs.map +1 -0
  1155. package/dist/forms/validate-form.js +22 -0
  1156. package/dist/forms/validate-form.js.map +1 -0
  1157. package/dist/forms/zod-resolver.cjs +2 -0
  1158. package/dist/forms/zod-resolver.cjs.map +1 -0
  1159. package/dist/forms/zod-resolver.js +26 -0
  1160. package/dist/forms/zod-resolver.js.map +1 -0
  1161. package/dist/geo/TrajectoryMap.cjs +2 -0
  1162. package/dist/geo/TrajectoryMap.cjs.map +1 -0
  1163. package/dist/geo/TrajectoryMap.js +241 -0
  1164. package/dist/geo/TrajectoryMap.js.map +1 -0
  1165. package/dist/geo/TrajectoryMap.module.cjs +2 -0
  1166. package/dist/geo/TrajectoryMap.module.cjs.map +1 -0
  1167. package/dist/geo/TrajectoryMap.module.js +20 -0
  1168. package/dist/geo/TrajectoryMap.module.js.map +1 -0
  1169. package/dist/geo/bounds.cjs +2 -0
  1170. package/dist/geo/bounds.cjs.map +1 -0
  1171. package/dist/geo/bounds.js +31 -0
  1172. package/dist/geo/bounds.js.map +1 -0
  1173. package/dist/geo/create-position-tracker.cjs +2 -0
  1174. package/dist/geo/create-position-tracker.cjs.map +1 -0
  1175. package/dist/geo/create-position-tracker.js +58 -0
  1176. package/dist/geo/create-position-tracker.js.map +1 -0
  1177. package/dist/geo/distance.cjs +2 -0
  1178. package/dist/geo/distance.cjs.map +1 -0
  1179. package/dist/geo/distance.js +22 -0
  1180. package/dist/geo/distance.js.map +1 -0
  1181. package/dist/geo/estimate.cjs +2 -0
  1182. package/dist/geo/estimate.cjs.map +1 -0
  1183. package/dist/geo/estimate.js +26 -0
  1184. package/dist/geo/estimate.js.map +1 -0
  1185. package/dist/geo/leaflet-map.cjs +2 -0
  1186. package/dist/geo/leaflet-map.cjs.map +1 -0
  1187. package/dist/geo/leaflet-map.js +63 -0
  1188. package/dist/geo/leaflet-map.js.map +1 -0
  1189. package/dist/geo/projection.cjs +2 -0
  1190. package/dist/geo/projection.cjs.map +1 -0
  1191. package/dist/geo/projection.js +42 -0
  1192. package/dist/geo/projection.js.map +1 -0
  1193. package/dist/geo/routing.cjs +2 -0
  1194. package/dist/geo/routing.cjs.map +1 -0
  1195. package/dist/geo/routing.js +25 -0
  1196. package/dist/geo/routing.js.map +1 -0
  1197. package/dist/geo/types.cjs +2 -0
  1198. package/dist/geo/types.cjs.map +1 -0
  1199. package/dist/geo/types.js +22 -0
  1200. package/dist/geo/types.js.map +1 -0
  1201. package/dist/geo/use-position-tracker.cjs +2 -0
  1202. package/dist/geo/use-position-tracker.cjs.map +1 -0
  1203. package/dist/geo/use-position-tracker.js +36 -0
  1204. package/dist/geo/use-position-tracker.js.map +1 -0
  1205. package/dist/hooks/pwa-env.cjs +2 -0
  1206. package/dist/hooks/pwa-env.cjs.map +1 -0
  1207. package/dist/hooks/pwa-env.js +24 -0
  1208. package/dist/hooks/pwa-env.js.map +1 -0
  1209. package/dist/hooks/use-async.cjs +2 -0
  1210. package/dist/hooks/use-async.cjs.map +1 -0
  1211. package/dist/hooks/use-async.js +58 -0
  1212. package/dist/hooks/use-async.js.map +1 -0
  1213. package/dist/hooks/use-before-install-prompt.cjs +2 -0
  1214. package/dist/hooks/use-before-install-prompt.cjs.map +1 -0
  1215. package/dist/hooks/use-before-install-prompt.js +41 -0
  1216. package/dist/hooks/use-before-install-prompt.js.map +1 -0
  1217. package/dist/hooks/use-breakpoint.cjs +2 -0
  1218. package/dist/hooks/use-breakpoint.cjs.map +1 -0
  1219. package/dist/hooks/use-breakpoint.js +44 -0
  1220. package/dist/hooks/use-breakpoint.js.map +1 -0
  1221. package/dist/hooks/use-click-outside.cjs +2 -0
  1222. package/dist/hooks/use-click-outside.cjs.map +1 -0
  1223. package/dist/hooks/use-click-outside.js +19 -0
  1224. package/dist/hooks/use-click-outside.js.map +1 -0
  1225. package/dist/hooks/use-client-filter.cjs +2 -0
  1226. package/dist/hooks/use-client-filter.cjs.map +1 -0
  1227. package/dist/hooks/use-client-filter.js +19 -0
  1228. package/dist/hooks/use-client-filter.js.map +1 -0
  1229. package/dist/hooks/use-clipboard.cjs +2 -0
  1230. package/dist/hooks/use-clipboard.cjs.map +1 -0
  1231. package/dist/hooks/use-clipboard.js +27 -0
  1232. package/dist/hooks/use-clipboard.js.map +1 -0
  1233. package/dist/hooks/use-counter.cjs +2 -0
  1234. package/dist/hooks/use-counter.cjs.map +1 -0
  1235. package/dist/hooks/use-counter.js +36 -0
  1236. package/dist/hooks/use-counter.js.map +1 -0
  1237. package/dist/hooks/use-debounce.cjs +2 -0
  1238. package/dist/hooks/use-debounce.cjs.map +1 -0
  1239. package/dist/hooks/use-debounce.js +13 -0
  1240. package/dist/hooks/use-debounce.js.map +1 -0
  1241. package/dist/hooks/use-deep-memo.cjs +2 -0
  1242. package/dist/hooks/use-deep-memo.cjs.map +1 -0
  1243. package/dist/hooks/use-deep-memo.js +17 -0
  1244. package/dist/hooks/use-deep-memo.js.map +1 -0
  1245. package/dist/hooks/use-disclosure.cjs +2 -0
  1246. package/dist/hooks/use-disclosure.cjs.map +1 -0
  1247. package/dist/hooks/use-disclosure.js +18 -0
  1248. package/dist/hooks/use-disclosure.js.map +1 -0
  1249. package/dist/hooks/use-document-title.cjs +2 -0
  1250. package/dist/hooks/use-document-title.cjs.map +1 -0
  1251. package/dist/hooks/use-document-title.js +15 -0
  1252. package/dist/hooks/use-document-title.js.map +1 -0
  1253. package/dist/hooks/use-document-visibility.cjs +2 -0
  1254. package/dist/hooks/use-document-visibility.cjs.map +1 -0
  1255. package/dist/hooks/use-document-visibility.js +14 -0
  1256. package/dist/hooks/use-document-visibility.js.map +1 -0
  1257. package/dist/hooks/use-event-listener.cjs +2 -0
  1258. package/dist/hooks/use-event-listener.cjs.map +1 -0
  1259. package/dist/hooks/use-event-listener.js +19 -0
  1260. package/dist/hooks/use-event-listener.js.map +1 -0
  1261. package/dist/hooks/use-favicon.cjs +2 -0
  1262. package/dist/hooks/use-favicon.cjs.map +1 -0
  1263. package/dist/hooks/use-favicon.js +13 -0
  1264. package/dist/hooks/use-favicon.js.map +1 -0
  1265. package/dist/hooks/use-focus-trap.cjs +2 -0
  1266. package/dist/hooks/use-focus-trap.cjs.map +1 -0
  1267. package/dist/hooks/use-focus-trap.js +42 -0
  1268. package/dist/hooks/use-focus-trap.js.map +1 -0
  1269. package/dist/hooks/use-geolocation.cjs +2 -0
  1270. package/dist/hooks/use-geolocation.cjs.map +1 -0
  1271. package/dist/hooks/use-geolocation.js +48 -0
  1272. package/dist/hooks/use-geolocation.js.map +1 -0
  1273. package/dist/hooks/use-hover.cjs +2 -0
  1274. package/dist/hooks/use-hover.cjs.map +1 -0
  1275. package/dist/hooks/use-hover.js +17 -0
  1276. package/dist/hooks/use-hover.js.map +1 -0
  1277. package/dist/hooks/use-idle.cjs +2 -0
  1278. package/dist/hooks/use-idle.cjs.map +1 -0
  1279. package/dist/hooks/use-idle.js +29 -0
  1280. package/dist/hooks/use-idle.js.map +1 -0
  1281. package/dist/hooks/use-install-prompt.cjs +2 -0
  1282. package/dist/hooks/use-install-prompt.cjs.map +1 -0
  1283. package/dist/hooks/use-install-prompt.js +63 -0
  1284. package/dist/hooks/use-install-prompt.js.map +1 -0
  1285. package/dist/hooks/use-intersection-observer.cjs +2 -0
  1286. package/dist/hooks/use-intersection-observer.cjs.map +1 -0
  1287. package/dist/hooks/use-intersection-observer.js +27 -0
  1288. package/dist/hooks/use-intersection-observer.js.map +1 -0
  1289. package/dist/hooks/use-interval.cjs +2 -0
  1290. package/dist/hooks/use-interval.cjs.map +1 -0
  1291. package/dist/hooks/use-interval.js +14 -0
  1292. package/dist/hooks/use-interval.js.map +1 -0
  1293. package/dist/hooks/use-is-first-render.cjs +2 -0
  1294. package/dist/hooks/use-is-first-render.cjs.map +1 -0
  1295. package/dist/hooks/use-is-first-render.js +10 -0
  1296. package/dist/hooks/use-is-first-render.js.map +1 -0
  1297. package/dist/hooks/use-keyboard-shortcut.cjs +2 -0
  1298. package/dist/hooks/use-keyboard-shortcut.cjs.map +1 -0
  1299. package/dist/hooks/use-keyboard-shortcut.js +39 -0
  1300. package/dist/hooks/use-keyboard-shortcut.js.map +1 -0
  1301. package/dist/hooks/use-list-state.cjs +2 -0
  1302. package/dist/hooks/use-list-state.cjs.map +1 -0
  1303. package/dist/hooks/use-list-state.js +52 -0
  1304. package/dist/hooks/use-list-state.js.map +1 -0
  1305. package/dist/hooks/use-local-storage.cjs +2 -0
  1306. package/dist/hooks/use-local-storage.cjs.map +1 -0
  1307. package/dist/hooks/use-local-storage.js +62 -0
  1308. package/dist/hooks/use-local-storage.js.map +1 -0
  1309. package/dist/hooks/use-long-press-handlers.cjs +2 -0
  1310. package/dist/hooks/use-long-press-handlers.cjs.map +1 -0
  1311. package/dist/hooks/use-long-press-handlers.js +33 -0
  1312. package/dist/hooks/use-long-press-handlers.js.map +1 -0
  1313. package/dist/hooks/use-long-press.cjs +2 -0
  1314. package/dist/hooks/use-long-press.cjs.map +1 -0
  1315. package/dist/hooks/use-long-press.js +31 -0
  1316. package/dist/hooks/use-long-press.js.map +1 -0
  1317. package/dist/hooks/use-map.cjs +2 -0
  1318. package/dist/hooks/use-map.cjs.map +1 -0
  1319. package/dist/hooks/use-map.js +38 -0
  1320. package/dist/hooks/use-map.js.map +1 -0
  1321. package/dist/hooks/use-media-query.cjs +2 -0
  1322. package/dist/hooks/use-media-query.cjs.map +1 -0
  1323. package/dist/hooks/use-media-query.js +14 -0
  1324. package/dist/hooks/use-media-query.js.map +1 -0
  1325. package/dist/hooks/use-object-url.cjs +2 -0
  1326. package/dist/hooks/use-object-url.cjs.map +1 -0
  1327. package/dist/hooks/use-object-url.js +17 -0
  1328. package/dist/hooks/use-object-url.js.map +1 -0
  1329. package/dist/hooks/use-online.cjs +2 -0
  1330. package/dist/hooks/use-online.cjs.map +1 -0
  1331. package/dist/hooks/use-online.js +47 -0
  1332. package/dist/hooks/use-online.js.map +1 -0
  1333. package/dist/hooks/use-pagination.cjs +2 -0
  1334. package/dist/hooks/use-pagination.cjs.map +1 -0
  1335. package/dist/hooks/use-pagination.js +16 -0
  1336. package/dist/hooks/use-pagination.js.map +1 -0
  1337. package/dist/hooks/use-previous.cjs +2 -0
  1338. package/dist/hooks/use-previous.cjs.map +1 -0
  1339. package/dist/hooks/use-previous.js +12 -0
  1340. package/dist/hooks/use-previous.js.map +1 -0
  1341. package/dist/hooks/use-queue.cjs +2 -0
  1342. package/dist/hooks/use-queue.cjs.map +1 -0
  1343. package/dist/hooks/use-queue.js +49 -0
  1344. package/dist/hooks/use-queue.js.map +1 -0
  1345. package/dist/hooks/use-resize-observer.cjs +2 -0
  1346. package/dist/hooks/use-resize-observer.cjs.map +1 -0
  1347. package/dist/hooks/use-resize-observer.js +23 -0
  1348. package/dist/hooks/use-resize-observer.js.map +1 -0
  1349. package/dist/hooks/use-scroll-lock.cjs +2 -0
  1350. package/dist/hooks/use-scroll-lock.cjs.map +1 -0
  1351. package/dist/hooks/use-scroll-lock.js +15 -0
  1352. package/dist/hooks/use-scroll-lock.js.map +1 -0
  1353. package/dist/hooks/use-service-worker-update.cjs +2 -0
  1354. package/dist/hooks/use-service-worker-update.cjs.map +1 -0
  1355. package/dist/hooks/use-service-worker-update.js +37 -0
  1356. package/dist/hooks/use-service-worker-update.js.map +1 -0
  1357. package/dist/hooks/use-set.cjs +2 -0
  1358. package/dist/hooks/use-set.cjs.map +1 -0
  1359. package/dist/hooks/use-set.js +44 -0
  1360. package/dist/hooks/use-set.js.map +1 -0
  1361. package/dist/hooks/use-stable-callback.cjs +2 -0
  1362. package/dist/hooks/use-stable-callback.cjs.map +1 -0
  1363. package/dist/hooks/use-stable-callback.js +10 -0
  1364. package/dist/hooks/use-stable-callback.js.map +1 -0
  1365. package/dist/hooks/use-storage-estimate.cjs +2 -0
  1366. package/dist/hooks/use-storage-estimate.cjs.map +1 -0
  1367. package/dist/hooks/use-storage-estimate.js +61 -0
  1368. package/dist/hooks/use-storage-estimate.js.map +1 -0
  1369. package/dist/hooks/use-throttle.cjs +2 -0
  1370. package/dist/hooks/use-throttle.cjs.map +1 -0
  1371. package/dist/hooks/use-throttle.js +17 -0
  1372. package/dist/hooks/use-throttle.js.map +1 -0
  1373. package/dist/hooks/use-timeout.cjs +2 -0
  1374. package/dist/hooks/use-timeout.cjs.map +1 -0
  1375. package/dist/hooks/use-timeout.js +14 -0
  1376. package/dist/hooks/use-timeout.js.map +1 -0
  1377. package/dist/hooks/use-toggle.cjs +2 -0
  1378. package/dist/hooks/use-toggle.cjs.map +1 -0
  1379. package/dist/hooks/use-toggle.js +15 -0
  1380. package/dist/hooks/use-toggle.js.map +1 -0
  1381. package/dist/hooks/use-window-size.cjs +2 -0
  1382. package/dist/hooks/use-window-size.cjs.map +1 -0
  1383. package/dist/hooks/use-window-size.js +23 -0
  1384. package/dist/hooks/use-window-size.js.map +1 -0
  1385. package/dist/http/api-client.cjs +2 -0
  1386. package/dist/http/api-client.cjs.map +1 -0
  1387. package/dist/http/api-client.js +91 -0
  1388. package/dist/http/api-client.js.map +1 -0
  1389. package/dist/http/errors.cjs +2 -0
  1390. package/dist/http/errors.cjs.map +1 -0
  1391. package/dist/http/errors.js +36 -0
  1392. package/dist/http/errors.js.map +1 -0
  1393. package/dist/http/idempotency.cjs +2 -0
  1394. package/dist/http/idempotency.cjs.map +1 -0
  1395. package/dist/http/idempotency.js +11 -0
  1396. package/dist/http/idempotency.js.map +1 -0
  1397. package/dist/http/parse-response.cjs +3 -0
  1398. package/dist/http/parse-response.cjs.map +1 -0
  1399. package/dist/http/parse-response.js +14 -0
  1400. package/dist/http/parse-response.js.map +1 -0
  1401. package/dist/http/retry.cjs +2 -0
  1402. package/dist/http/retry.cjs.map +1 -0
  1403. package/dist/http/retry.js +35 -0
  1404. package/dist/http/retry.js.map +1 -0
  1405. package/dist/http/upload-with-progress.cjs +2 -0
  1406. package/dist/http/upload-with-progress.cjs.map +1 -0
  1407. package/dist/http/upload-with-progress.js +67 -0
  1408. package/dist/http/upload-with-progress.js.map +1 -0
  1409. package/dist/http/use-poll.cjs +2 -0
  1410. package/dist/http/use-poll.cjs.map +1 -0
  1411. package/dist/http/use-poll.js +42 -0
  1412. package/dist/http/use-poll.js.map +1 -0
  1413. package/dist/i18n/I18nProvider.cjs +2 -0
  1414. package/dist/i18n/I18nProvider.cjs.map +1 -0
  1415. package/dist/i18n/I18nProvider.js +55 -0
  1416. package/dist/i18n/I18nProvider.js.map +1 -0
  1417. package/dist/i18n/create-i18n.cjs +2 -0
  1418. package/dist/i18n/create-i18n.cjs.map +1 -0
  1419. package/dist/i18n/create-i18n.js +54 -0
  1420. package/dist/i18n/create-i18n.js.map +1 -0
  1421. package/dist/logger/logger.cjs +2 -0
  1422. package/dist/logger/logger.cjs.map +1 -0
  1423. package/dist/logger/logger.js +44 -0
  1424. package/dist/logger/logger.js.map +1 -0
  1425. package/dist/oauth/GoogleSignIn.cjs +2 -0
  1426. package/dist/oauth/GoogleSignIn.cjs.map +1 -0
  1427. package/dist/oauth/GoogleSignIn.js +42 -0
  1428. package/dist/oauth/GoogleSignIn.js.map +1 -0
  1429. package/dist/oauth/use-oauth-callback.cjs +2 -0
  1430. package/dist/oauth/use-oauth-callback.cjs.map +1 -0
  1431. package/dist/oauth/use-oauth-callback.js +30 -0
  1432. package/dist/oauth/use-oauth-callback.js.map +1 -0
  1433. package/dist/offline/conflict.cjs +2 -0
  1434. package/dist/offline/conflict.cjs.map +1 -0
  1435. package/dist/offline/conflict.js +17 -0
  1436. package/dist/offline/conflict.js.map +1 -0
  1437. package/dist/offline/create-offline-store.cjs +2 -0
  1438. package/dist/offline/create-offline-store.cjs.map +1 -0
  1439. package/dist/offline/create-offline-store.js +49 -0
  1440. package/dist/offline/create-offline-store.js.map +1 -0
  1441. package/dist/offline/create-offline-sync.cjs +2 -0
  1442. package/dist/offline/create-offline-sync.cjs.map +1 -0
  1443. package/dist/offline/create-offline-sync.js +138 -0
  1444. package/dist/offline/create-offline-sync.js.map +1 -0
  1445. package/dist/offline/use-offline-sync.cjs +2 -0
  1446. package/dist/offline/use-offline-sync.cjs.map +1 -0
  1447. package/dist/offline/use-offline-sync.js +42 -0
  1448. package/dist/offline/use-offline-sync.js.map +1 -0
  1449. package/dist/push/use-push-subscription.cjs +2 -0
  1450. package/dist/push/use-push-subscription.cjs.map +1 -0
  1451. package/dist/push/use-push-subscription.js +62 -0
  1452. package/dist/push/use-push-subscription.js.map +1 -0
  1453. package/dist/push/utils.cjs +2 -0
  1454. package/dist/push/utils.cjs.map +1 -0
  1455. package/dist/push/utils.js +13 -0
  1456. package/dist/push/utils.js.map +1 -0
  1457. package/dist/push/web-push-client.cjs +2 -0
  1458. package/dist/push/web-push-client.cjs.map +1 -0
  1459. package/dist/push/web-push-client.js +54 -0
  1460. package/dist/push/web-push-client.js.map +1 -0
  1461. package/dist/query/QueryProvider.cjs +2 -0
  1462. package/dist/query/QueryProvider.cjs.map +1 -0
  1463. package/dist/query/QueryProvider.js +28 -0
  1464. package/dist/query/QueryProvider.js.map +1 -0
  1465. package/dist/query/constants.cjs +2 -0
  1466. package/dist/query/constants.cjs.map +1 -0
  1467. package/dist/query/constants.js +20 -0
  1468. package/dist/query/constants.js.map +1 -0
  1469. package/dist/query/create-query-keys.cjs +2 -0
  1470. package/dist/query/create-query-keys.cjs.map +1 -0
  1471. package/dist/query/create-query-keys.js +10 -0
  1472. package/dist/query/create-query-keys.js.map +1 -0
  1473. package/dist/query/offline-persistence.cjs +2 -0
  1474. package/dist/query/offline-persistence.cjs.map +1 -0
  1475. package/dist/query/offline-persistence.js +44 -0
  1476. package/dist/query/offline-persistence.js.map +1 -0
  1477. package/dist/query/optimistic.cjs +2 -0
  1478. package/dist/query/optimistic.cjs.map +1 -0
  1479. package/dist/query/optimistic.js +22 -0
  1480. package/dist/query/optimistic.js.map +1 -0
  1481. package/dist/query/pagination.cjs +2 -0
  1482. package/dist/query/pagination.cjs.map +1 -0
  1483. package/dist/query/pagination.js +24 -0
  1484. package/dist/query/pagination.js.map +1 -0
  1485. package/dist/query/use-cursor-query.cjs +2 -0
  1486. package/dist/query/use-cursor-query.cjs.map +1 -0
  1487. package/dist/query/use-cursor-query.js +34 -0
  1488. package/dist/query/use-cursor-query.js.map +1 -0
  1489. package/dist/query/use-offline-mutation.cjs +2 -0
  1490. package/dist/query/use-offline-mutation.cjs.map +1 -0
  1491. package/dist/query/use-offline-mutation.js +31 -0
  1492. package/dist/query/use-offline-mutation.js.map +1 -0
  1493. package/dist/query/use-paginated-query.cjs +2 -0
  1494. package/dist/query/use-paginated-query.cjs.map +1 -0
  1495. package/dist/query/use-paginated-query.js +43 -0
  1496. package/dist/query/use-paginated-query.js.map +1 -0
  1497. package/dist/router/AppRouter.cjs +2 -0
  1498. package/dist/router/AppRouter.cjs.map +1 -0
  1499. package/dist/router/AppRouter.js +61 -0
  1500. package/dist/router/AppRouter.js.map +1 -0
  1501. package/dist/router/RouteGuard.cjs +2 -0
  1502. package/dist/router/RouteGuard.cjs.map +1 -0
  1503. package/dist/router/RouteGuard.js +13 -0
  1504. package/dist/router/RouteGuard.js.map +1 -0
  1505. package/dist/router/index.js +4 -0
  1506. package/dist/share/share-or-download.cjs +2 -0
  1507. package/dist/share/share-or-download.cjs.map +1 -0
  1508. package/dist/share/share-or-download.js +15 -0
  1509. package/dist/share/share-or-download.js.map +1 -0
  1510. package/dist/share/share.cjs +2 -0
  1511. package/dist/share/share.cjs.map +1 -0
  1512. package/dist/share/share.js +33 -0
  1513. package/dist/share/share.js.map +1 -0
  1514. package/dist/sse/create-event-stream.cjs +2 -0
  1515. package/dist/sse/create-event-stream.cjs.map +1 -0
  1516. package/dist/sse/create-event-stream.js +61 -0
  1517. package/dist/sse/create-event-stream.js.map +1 -0
  1518. package/dist/sse/use-event-stream.cjs +2 -0
  1519. package/dist/sse/use-event-stream.cjs.map +1 -0
  1520. package/dist/sse/use-event-stream.js +30 -0
  1521. package/dist/sse/use-event-stream.js.map +1 -0
  1522. package/dist/store/create-selectors.cjs +2 -0
  1523. package/dist/store/create-selectors.cjs.map +1 -0
  1524. package/dist/store/create-selectors.js +11 -0
  1525. package/dist/store/create-selectors.js.map +1 -0
  1526. package/dist/store/create-store.cjs +2 -0
  1527. package/dist/store/create-store.cjs.map +1 -0
  1528. package/dist/store/create-store.js +18 -0
  1529. package/dist/store/create-store.js.map +1 -0
  1530. package/dist/styles.css +2 -1
  1531. package/dist/sw/background-sync.cjs +2 -0
  1532. package/dist/sw/background-sync.cjs.map +1 -0
  1533. package/dist/sw/background-sync.js +98 -0
  1534. package/dist/sw/background-sync.js.map +1 -0
  1535. package/dist/sw/cache-inspect.cjs +2 -0
  1536. package/dist/sw/cache-inspect.cjs.map +1 -0
  1537. package/dist/sw/cache-inspect.js +49 -0
  1538. package/dist/sw/cache-inspect.js.map +1 -0
  1539. package/dist/sw/cache.cjs +2 -0
  1540. package/dist/sw/cache.cjs.map +1 -0
  1541. package/dist/sw/cache.js +144 -0
  1542. package/dist/sw/cache.js.map +1 -0
  1543. package/dist/sw/create-push-handler.cjs +2 -0
  1544. package/dist/sw/create-push-handler.cjs.map +1 -0
  1545. package/dist/sw/create-push-handler.js +65 -0
  1546. package/dist/sw/create-push-handler.js.map +1 -0
  1547. package/dist/sw/periodic-sync.cjs +2 -0
  1548. package/dist/sw/periodic-sync.cjs.map +1 -0
  1549. package/dist/sw/periodic-sync.js +16 -0
  1550. package/dist/sw/periodic-sync.js.map +1 -0
  1551. package/dist/sw/register-service-worker.cjs +2 -0
  1552. package/dist/sw/register-service-worker.cjs.map +1 -0
  1553. package/dist/sw/register-service-worker.js +44 -0
  1554. package/dist/sw/register-service-worker.js.map +1 -0
  1555. package/dist/sw.cjs +1 -2
  1556. package/dist/sw.d.ts +99 -0
  1557. package/dist/sw.js +7 -377
  1558. package/dist/telemetry/TelemetryProvider.cjs +2 -0
  1559. package/dist/telemetry/TelemetryProvider.cjs.map +1 -0
  1560. package/dist/telemetry/TelemetryProvider.js +21 -0
  1561. package/dist/telemetry/TelemetryProvider.js.map +1 -0
  1562. package/dist/telemetry/console-adapter.cjs +2 -0
  1563. package/dist/telemetry/console-adapter.cjs.map +1 -0
  1564. package/dist/telemetry/console-adapter.js +16 -0
  1565. package/dist/telemetry/console-adapter.js.map +1 -0
  1566. package/dist/telemetry/posthog-adapter.cjs +2 -0
  1567. package/dist/telemetry/posthog-adapter.cjs.map +1 -0
  1568. package/dist/telemetry/posthog-adapter.js +44 -0
  1569. package/dist/telemetry/posthog-adapter.js.map +1 -0
  1570. package/dist/telemetry/sentry-adapter.cjs +2 -0
  1571. package/dist/telemetry/sentry-adapter.cjs.map +1 -0
  1572. package/dist/telemetry/sentry-adapter.js +40 -0
  1573. package/dist/telemetry/sentry-adapter.js.map +1 -0
  1574. package/dist/tempest-react-sdk.cjs +1 -15
  1575. package/dist/tempest-react-sdk.d.ts +1094 -333
  1576. package/dist/tempest-react-sdk.js +255 -9473
  1577. package/dist/testing/create-mock-handlers.cjs +2 -0
  1578. package/dist/testing/create-mock-handlers.cjs.map +1 -0
  1579. package/dist/testing/create-mock-handlers.js +15 -0
  1580. package/dist/testing/create-mock-handlers.js.map +1 -0
  1581. package/dist/testing.cjs +1 -2
  1582. package/dist/testing.js +2 -14
  1583. package/dist/theme/ThemeProvider.cjs +2 -0
  1584. package/dist/theme/ThemeProvider.cjs.map +1 -0
  1585. package/dist/theme/ThemeProvider.js +74 -0
  1586. package/dist/theme/ThemeProvider.js.map +1 -0
  1587. package/dist/theme/initial-theme.cjs +11 -0
  1588. package/dist/theme/initial-theme.cjs.map +1 -0
  1589. package/dist/theme/initial-theme.js +30 -0
  1590. package/dist/theme/initial-theme.js.map +1 -0
  1591. package/dist/utils/arrays.cjs +2 -0
  1592. package/dist/utils/arrays.cjs.map +1 -0
  1593. package/dist/utils/arrays.js +34 -0
  1594. package/dist/utils/arrays.js.map +1 -0
  1595. package/dist/utils/cn.cjs +2 -0
  1596. package/dist/utils/cn.cjs.map +1 -0
  1597. package/dist/utils/cn.js +17 -0
  1598. package/dist/utils/cn.js.map +1 -0
  1599. package/dist/utils/format.cjs +2 -0
  1600. package/dist/utils/format.cjs.map +1 -0
  1601. package/dist/utils/format.js +36 -0
  1602. package/dist/utils/format.js.map +1 -0
  1603. package/dist/utils/functions.cjs +2 -0
  1604. package/dist/utils/functions.cjs.map +1 -0
  1605. package/dist/utils/functions.js +43 -0
  1606. package/dist/utils/functions.js.map +1 -0
  1607. package/dist/utils/guards.cjs +2 -0
  1608. package/dist/utils/guards.cjs.map +1 -0
  1609. package/dist/utils/guards.js +22 -0
  1610. package/dist/utils/guards.js.map +1 -0
  1611. package/dist/utils/ids.cjs +2 -0
  1612. package/dist/utils/ids.cjs.map +1 -0
  1613. package/dist/utils/ids.js +9 -0
  1614. package/dist/utils/ids.js.map +1 -0
  1615. package/dist/utils/numbers.cjs +2 -0
  1616. package/dist/utils/numbers.cjs.map +1 -0
  1617. package/dist/utils/numbers.js +30 -0
  1618. package/dist/utils/numbers.js.map +1 -0
  1619. package/dist/utils/objects.cjs +2 -0
  1620. package/dist/utils/objects.cjs.map +1 -0
  1621. package/dist/utils/objects.js +32 -0
  1622. package/dist/utils/objects.js.map +1 -0
  1623. package/dist/utils/promises.cjs +2 -0
  1624. package/dist/utils/promises.cjs.map +1 -0
  1625. package/dist/utils/promises.js +21 -0
  1626. package/dist/utils/promises.js.map +1 -0
  1627. package/dist/utils/relative-time.cjs +2 -0
  1628. package/dist/utils/relative-time.cjs.map +1 -0
  1629. package/dist/utils/relative-time.js +71 -0
  1630. package/dist/utils/relative-time.js.map +1 -0
  1631. package/dist/utils/storage.cjs +2 -0
  1632. package/dist/utils/storage.cjs.map +1 -0
  1633. package/dist/utils/storage.js +26 -0
  1634. package/dist/utils/storage.js.map +1 -0
  1635. package/dist/utils/strings.cjs +2 -0
  1636. package/dist/utils/strings.cjs.map +1 -0
  1637. package/dist/utils/strings.js +29 -0
  1638. package/dist/utils/strings.js.map +1 -0
  1639. package/dist/utils/xlsx.cjs +2 -0
  1640. package/dist/utils/xlsx.cjs.map +1 -0
  1641. package/dist/utils/xlsx.js +52 -0
  1642. package/dist/utils/xlsx.js.map +1 -0
  1643. package/dist/vision/core/canvas.cjs +2 -0
  1644. package/dist/vision/core/canvas.cjs.map +1 -0
  1645. package/dist/vision/core/canvas.js +32 -0
  1646. package/dist/vision/core/canvas.js.map +1 -0
  1647. package/dist/vision/core/exceptions.cjs +2 -0
  1648. package/dist/vision/core/exceptions.cjs.map +1 -0
  1649. package/dist/vision/core/exceptions.js +10 -0
  1650. package/dist/vision/core/exceptions.js.map +1 -0
  1651. package/dist/vision/core/providers.cjs +2 -0
  1652. package/dist/vision/core/providers.cjs.map +1 -0
  1653. package/dist/vision/core/providers.js +9 -0
  1654. package/dist/vision/core/providers.js.map +1 -0
  1655. package/dist/vision/core/session.cjs +2 -0
  1656. package/dist/vision/core/session.cjs.map +1 -0
  1657. package/dist/vision/core/session.js +48 -0
  1658. package/dist/vision/core/session.js.map +1 -0
  1659. package/dist/vision/index.cjs +2 -0
  1660. package/dist/vision/index.cjs.map +1 -0
  1661. package/dist/vision/index.js +21 -0
  1662. package/dist/vision/index.js.map +1 -0
  1663. package/dist/vision/io/image.cjs +2 -0
  1664. package/dist/vision/io/image.cjs.map +1 -0
  1665. package/dist/vision/io/image.js +57 -0
  1666. package/dist/vision/io/image.js.map +1 -0
  1667. package/dist/vision/labels.cjs +2 -0
  1668. package/dist/vision/labels.cjs.map +1 -0
  1669. package/dist/vision/labels.js +31 -0
  1670. package/dist/vision/labels.js.map +1 -0
  1671. package/dist/vision/luminance.cjs +2 -0
  1672. package/dist/vision/luminance.cjs.map +1 -0
  1673. package/dist/vision/luminance.js +40 -0
  1674. package/dist/vision/luminance.js.map +1 -0
  1675. package/dist/vision/postprocess/classification.cjs +2 -0
  1676. package/dist/vision/postprocess/classification.cjs.map +1 -0
  1677. package/dist/vision/postprocess/classification.js +33 -0
  1678. package/dist/vision/postprocess/classification.js.map +1 -0
  1679. package/dist/vision/postprocess/detection.cjs +2 -0
  1680. package/dist/vision/postprocess/detection.cjs.map +1 -0
  1681. package/dist/vision/postprocess/detection.js +129 -0
  1682. package/dist/vision/postprocess/detection.js.map +1 -0
  1683. package/dist/vision/postprocess/segmentation.cjs +2 -0
  1684. package/dist/vision/postprocess/segmentation.cjs.map +1 -0
  1685. package/dist/vision/postprocess/segmentation.js +103 -0
  1686. package/dist/vision/postprocess/segmentation.js.map +1 -0
  1687. package/dist/vision/preprocess/image.cjs +2 -0
  1688. package/dist/vision/preprocess/image.cjs.map +1 -0
  1689. package/dist/vision/preprocess/image.js +72 -0
  1690. package/dist/vision/preprocess/image.js.map +1 -0
  1691. package/dist/vision/results.cjs +2 -0
  1692. package/dist/vision/results.cjs.map +1 -0
  1693. package/dist/vision/results.js +165 -0
  1694. package/dist/vision/results.js.map +1 -0
  1695. package/dist/vision/tasks/base.cjs +2 -0
  1696. package/dist/vision/tasks/base.cjs.map +1 -0
  1697. package/dist/vision/tasks/base.js +14 -0
  1698. package/dist/vision/tasks/base.js.map +1 -0
  1699. package/dist/vision/tasks/classifier.cjs +2 -0
  1700. package/dist/vision/tasks/classifier.cjs.map +1 -0
  1701. package/dist/vision/tasks/classifier.js +90 -0
  1702. package/dist/vision/tasks/classifier.js.map +1 -0
  1703. package/dist/vision/tasks/detector.cjs +2 -0
  1704. package/dist/vision/tasks/detector.cjs.map +1 -0
  1705. package/dist/vision/tasks/detector.js +112 -0
  1706. package/dist/vision/tasks/detector.js.map +1 -0
  1707. package/dist/vision/tasks/segmenter.cjs +2 -0
  1708. package/dist/vision/tasks/segmenter.cjs.map +1 -0
  1709. package/dist/vision/tasks/segmenter.js +144 -0
  1710. package/dist/vision/tasks/segmenter.js.map +1 -0
  1711. package/dist/vision/types.cjs +2 -0
  1712. package/dist/vision/types.cjs.map +1 -0
  1713. package/dist/vision/types.js +108 -0
  1714. package/dist/vision/types.js.map +1 -0
  1715. package/dist/vision/use-camera-stream.cjs +2 -0
  1716. package/dist/vision/use-camera-stream.cjs.map +1 -0
  1717. package/dist/vision/use-camera-stream.js +82 -0
  1718. package/dist/vision/use-camera-stream.js.map +1 -0
  1719. package/dist/vision/use-live-luminance.cjs +2 -0
  1720. package/dist/vision/use-live-luminance.cjs.map +1 -0
  1721. package/dist/vision/use-live-luminance.js +27 -0
  1722. package/dist/vision/use-live-luminance.js.map +1 -0
  1723. package/dist/vision.cjs +1 -2
  1724. package/dist/vision.js +20 -1561
  1725. package/dist/vite/create-vite-config.cjs +2 -0
  1726. package/dist/vite/create-vite-config.cjs.map +1 -0
  1727. package/dist/vite/create-vite-config.js +44 -0
  1728. package/dist/vite/create-vite-config.js.map +1 -0
  1729. package/dist/vite/tempest-pwa-dev-sw.cjs +2 -0
  1730. package/dist/vite/tempest-pwa-dev-sw.cjs.map +1 -0
  1731. package/dist/vite/tempest-pwa-dev-sw.js +47 -0
  1732. package/dist/vite/tempest-pwa-dev-sw.js.map +1 -0
  1733. package/dist/vite/tempest-pwa-icons.cjs +2 -0
  1734. package/dist/vite/tempest-pwa-icons.cjs.map +1 -0
  1735. package/dist/vite/tempest-pwa-icons.js +181 -0
  1736. package/dist/vite/tempest-pwa-icons.js.map +1 -0
  1737. package/dist/vite/tempest-pwa-manifest.cjs +3 -0
  1738. package/dist/vite/tempest-pwa-manifest.cjs.map +1 -0
  1739. package/dist/vite/tempest-pwa-manifest.js +37 -0
  1740. package/dist/vite/tempest-pwa-manifest.js.map +1 -0
  1741. package/dist/vite.cjs +1 -4
  1742. package/dist/vite.js +5 -265
  1743. package/dist/ws/create-web-socket.cjs +2 -0
  1744. package/dist/ws/create-web-socket.cjs.map +1 -0
  1745. package/dist/ws/create-web-socket.js +70 -0
  1746. package/dist/ws/create-web-socket.js.map +1 -0
  1747. package/dist/ws/use-web-socket.cjs +2 -0
  1748. package/dist/ws/use-web-socket.cjs.map +1 -0
  1749. package/dist/ws/use-web-socket.js +33 -0
  1750. package/dist/ws/use-web-socket.js.map +1 -0
  1751. package/package.json +26 -19
  1752. package/template/eslint.config.js +8 -1
  1753. package/template/package.json +15 -15
  1754. package/template/src/App.tsx +1 -0
  1755. package/template/src/layouts/RootLayout.tsx +1 -0
  1756. package/template/src/lib/api.ts +1 -0
  1757. package/template/src/main.tsx +3 -1
  1758. package/template/src/pages/Login.tsx +1 -0
  1759. package/template/src/routes.tsx +2 -1
  1760. package/template-pwa/package.json +1 -1
  1761. package/template-pwa/src/main.tsx +11 -20
  1762. package/template-pwa/src/pwa.tsx +42 -0
  1763. package/dist/AC-Brw7ZrEs.cjs +0 -2
  1764. package/dist/AC-Brw7ZrEs.cjs.map +0 -1
  1765. package/dist/AC-DLl3Z4oj.js +0 -12
  1766. package/dist/AC-DLl3Z4oj.js.map +0 -1
  1767. package/dist/AL-DPGoZjht.cjs +0 -2
  1768. package/dist/AL-DPGoZjht.cjs.map +0 -1
  1769. package/dist/AL-gswGaWlj.js +0 -12
  1770. package/dist/AL-gswGaWlj.js.map +0 -1
  1771. package/dist/AM-QN1eL4Tn.js +0 -12
  1772. package/dist/AM-QN1eL4Tn.js.map +0 -1
  1773. package/dist/AM-VqNWvsI-.cjs +0 -2
  1774. package/dist/AM-VqNWvsI-.cjs.map +0 -1
  1775. package/dist/AP-CPvBa_FK.cjs +0 -2
  1776. package/dist/AP-CPvBa_FK.cjs.map +0 -1
  1777. package/dist/AP-CRAbh1js.js +0 -12
  1778. package/dist/AP-CRAbh1js.js.map +0 -1
  1779. package/dist/BA-CKy_HnnV.js +0 -12
  1780. package/dist/BA-CKy_HnnV.js.map +0 -1
  1781. package/dist/BA-DoMQ6slK.cjs +0 -2
  1782. package/dist/BA-DoMQ6slK.cjs.map +0 -1
  1783. package/dist/CE-Ca-XMDFW.js +0 -12
  1784. package/dist/CE-Ca-XMDFW.js.map +0 -1
  1785. package/dist/CE-as-pGPQa.cjs +0 -2
  1786. package/dist/CE-as-pGPQa.cjs.map +0 -1
  1787. package/dist/DF-8kzFoovF.js +0 -12
  1788. package/dist/DF-8kzFoovF.js.map +0 -1
  1789. package/dist/DF-Wr8WNxSX.cjs +0 -2
  1790. package/dist/DF-Wr8WNxSX.cjs.map +0 -1
  1791. package/dist/ES-B4uWNG6s.js +0 -12
  1792. package/dist/ES-B4uWNG6s.js.map +0 -1
  1793. package/dist/ES-wKVjD_TM.cjs +0 -2
  1794. package/dist/ES-wKVjD_TM.cjs.map +0 -1
  1795. package/dist/GO-D4m4rOqy.cjs +0 -2
  1796. package/dist/GO-D4m4rOqy.cjs.map +0 -1
  1797. package/dist/GO-DuaAgIfo.js +0 -12
  1798. package/dist/GO-DuaAgIfo.js.map +0 -1
  1799. package/dist/MA-BmaUZZKe.cjs +0 -2
  1800. package/dist/MA-BmaUZZKe.cjs.map +0 -1
  1801. package/dist/MA-wOyPxG_M.js +0 -12
  1802. package/dist/MA-wOyPxG_M.js.map +0 -1
  1803. package/dist/MG-BYsqJd-S.js +0 -12
  1804. package/dist/MG-BYsqJd-S.js.map +0 -1
  1805. package/dist/MG-BchdfJXp.cjs +0 -2
  1806. package/dist/MG-BchdfJXp.cjs.map +0 -1
  1807. package/dist/MS-DZkgtN_7.js +0 -12
  1808. package/dist/MS-DZkgtN_7.js.map +0 -1
  1809. package/dist/MS-Dz9lDw37.cjs +0 -2
  1810. package/dist/MS-Dz9lDw37.cjs.map +0 -1
  1811. package/dist/MT-BkVchoah.cjs +0 -2
  1812. package/dist/MT-BkVchoah.cjs.map +0 -1
  1813. package/dist/MT-GmMwFWw2.js +0 -12
  1814. package/dist/MT-GmMwFWw2.js.map +0 -1
  1815. package/dist/PA-C2FpT6Ew.cjs +0 -2
  1816. package/dist/PA-C2FpT6Ew.cjs.map +0 -1
  1817. package/dist/PA-DgyDzDFi.js +0 -12
  1818. package/dist/PA-DgyDzDFi.js.map +0 -1
  1819. package/dist/PB-BGkzbQup.cjs +0 -2
  1820. package/dist/PB-BGkzbQup.cjs.map +0 -1
  1821. package/dist/PB-D-6NE6KM.js +0 -12
  1822. package/dist/PB-D-6NE6KM.js.map +0 -1
  1823. package/dist/PE-D8V7gWY-.cjs +0 -2
  1824. package/dist/PE-D8V7gWY-.cjs.map +0 -1
  1825. package/dist/PE-vqm-t7Nh.js +0 -12
  1826. package/dist/PE-vqm-t7Nh.js.map +0 -1
  1827. package/dist/PI-CILuGJlW.js +0 -12
  1828. package/dist/PI-CILuGJlW.js.map +0 -1
  1829. package/dist/PI-dJYCbXQM.cjs +0 -2
  1830. package/dist/PI-dJYCbXQM.cjs.map +0 -1
  1831. package/dist/PR-DN8AV__r.js +0 -12
  1832. package/dist/PR-DN8AV__r.js.map +0 -1
  1833. package/dist/PR-P17oBdNH.cjs +0 -2
  1834. package/dist/PR-P17oBdNH.cjs.map +0 -1
  1835. package/dist/RJ-Bccz05Em.js +0 -12
  1836. package/dist/RJ-Bccz05Em.js.map +0 -1
  1837. package/dist/RJ-Budqx7QP.cjs +0 -2
  1838. package/dist/RJ-Budqx7QP.cjs.map +0 -1
  1839. package/dist/RN-DLcJBxo3.cjs +0 -2
  1840. package/dist/RN-DLcJBxo3.cjs.map +0 -1
  1841. package/dist/RN-DTqFP-Nm.js +0 -12
  1842. package/dist/RN-DTqFP-Nm.js.map +0 -1
  1843. package/dist/RO-BCC54UTU.js +0 -12
  1844. package/dist/RO-BCC54UTU.js.map +0 -1
  1845. package/dist/RO-B_IDyci4.cjs +0 -2
  1846. package/dist/RO-B_IDyci4.cjs.map +0 -1
  1847. package/dist/RR-CDGUEyla.cjs +0 -2
  1848. package/dist/RR-CDGUEyla.cjs.map +0 -1
  1849. package/dist/RR-OCnI_XpU.js +0 -12
  1850. package/dist/RR-OCnI_XpU.js.map +0 -1
  1851. package/dist/RS-DiBeY_u5.cjs +0 -2
  1852. package/dist/RS-DiBeY_u5.cjs.map +0 -1
  1853. package/dist/RS-Dy7gBbbH.js +0 -12
  1854. package/dist/RS-Dy7gBbbH.js.map +0 -1
  1855. package/dist/SC-CEMoj8g2.cjs +0 -2
  1856. package/dist/SC-CEMoj8g2.cjs.map +0 -1
  1857. package/dist/SC-trCqQDXz.js +0 -12
  1858. package/dist/SC-trCqQDXz.js.map +0 -1
  1859. package/dist/SE-DAfFbZcK.cjs +0 -2
  1860. package/dist/SE-DAfFbZcK.cjs.map +0 -1
  1861. package/dist/SE-DBdfSrGk.js +0 -12
  1862. package/dist/SE-DBdfSrGk.js.map +0 -1
  1863. package/dist/SP-Cse4d68i.cjs +0 -2
  1864. package/dist/SP-Cse4d68i.cjs.map +0 -1
  1865. package/dist/SP-qPZjJDOT.js +0 -12
  1866. package/dist/SP-qPZjJDOT.js.map +0 -1
  1867. package/dist/TO-CZtMDVug.js +0 -12
  1868. package/dist/TO-CZtMDVug.js.map +0 -1
  1869. package/dist/TO-Dwi5zIyF.cjs +0 -2
  1870. package/dist/TO-Dwi5zIyF.cjs.map +0 -1
  1871. package/dist/br-centroids--O7-1KXz.cjs +0 -2
  1872. package/dist/br-centroids--O7-1KXz.cjs.map +0 -1
  1873. package/dist/br-centroids-IHN7PIzD.js +0 -10
  1874. package/dist/br-centroids-IHN7PIzD.js.map +0 -1
  1875. package/dist/br-geo-BYynYOwK.cjs +0 -2
  1876. package/dist/br-geo-BYynYOwK.cjs.map +0 -1
  1877. package/dist/br-geo-DFRuvjuU.js +0 -8
  1878. package/dist/br-geo-DFRuvjuU.js.map +0 -1
  1879. package/dist/charts.cjs.map +0 -1
  1880. package/dist/charts.js.map +0 -1
  1881. package/dist/cn-C0Sxc9eb.js +0 -19
  1882. package/dist/cn-C0Sxc9eb.js.map +0 -1
  1883. package/dist/cn-CNScIEB4.cjs +0 -2
  1884. package/dist/cn-CNScIEB4.cjs.map +0 -1
  1885. package/dist/editor.cjs.map +0 -1
  1886. package/dist/editor.js.map +0 -1
  1887. package/dist/leaflet-map-BHBcL_7k.js +0 -51
  1888. package/dist/leaflet-map-BHBcL_7k.js.map +0 -1
  1889. package/dist/leaflet-map-BzYV9czG.cjs +0 -2
  1890. package/dist/leaflet-map-BzYV9czG.cjs.map +0 -1
  1891. package/dist/projection-CILVBdpd.cjs +0 -2
  1892. package/dist/projection-CILVBdpd.cjs.map +0 -1
  1893. package/dist/projection-Wnqr_svy.js +0 -215
  1894. package/dist/projection-Wnqr_svy.js.map +0 -1
  1895. package/dist/sw.cjs.map +0 -1
  1896. package/dist/sw.js.map +0 -1
  1897. package/dist/tempest-react-sdk.cjs.map +0 -1
  1898. package/dist/tempest-react-sdk.js.map +0 -1
  1899. package/dist/testing.cjs.map +0 -1
  1900. package/dist/testing.js.map +0 -1
  1901. package/dist/vision.cjs.map +0 -1
  1902. package/dist/vision.js.map +0 -1
  1903. package/dist/vite.cjs.map +0 -1
  1904. package/dist/vite.js.map +0 -1
package/dist/br.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"br.js","sources":["../src/br/locations.ts","../src/br/state-geo.ts","../src/br/geocode.ts","../src/br/MapMarkers.tsx","../src/br/MapTooltip.tsx","../src/br/regions.ts","../src/br/use-map-zoom.ts","../src/br/svg-utils.ts","../src/br/use-map-hover.ts","../src/br/BrazilMap.tsx","../src/br/BrazilStateMap.tsx","../src/br/BrazilStateCitySelect.tsx","../src/br/MunicipalitySearch.tsx","../src/br/scales.ts","../src/br/MapLegend.tsx","../src/br/index.ts"],"sourcesContent":["import rawLocations from \"./data/br-locations.json\";\n\n/** The 27 Brazilian federative units (26 states + Federal District). */\nexport type UF =\n | \"AC\"\n | \"AL\"\n | \"AP\"\n | \"AM\"\n | \"BA\"\n | \"CE\"\n | \"DF\"\n | \"ES\"\n | \"GO\"\n | \"MA\"\n | \"MT\"\n | \"MS\"\n | \"MG\"\n | \"PA\"\n | \"PB\"\n | \"PR\"\n | \"PE\"\n | \"PI\"\n | \"RJ\"\n | \"RN\"\n | \"RS\"\n | \"RO\"\n | \"RR\"\n | \"SC\"\n | \"SP\"\n | \"SE\"\n | \"TO\";\n\n/** The five Brazilian macro-regions (IBGE). */\nexport type BrRegion = \"Norte\" | \"Nordeste\" | \"Centro-Oeste\" | \"Sudeste\" | \"Sul\";\n\n/** A federative unit with its display name and city list. */\nexport interface BrazilState {\n /** Two-letter acronym, e.g. `\"SP\"`. */\n uf: UF;\n /** Full name, e.g. `\"São Paulo\"`. */\n name: string;\n /** Macro-region the state belongs to. */\n region: BrRegion;\n /** City names within the state, alphabetically. */\n cities: string[];\n}\n\n/** A `{ value, label }` option, handy for `<Select>` / `<Combobox>`. */\nexport interface Choice {\n value: string;\n label: string;\n}\n\n/** IBGE macro-region of each federative unit. */\nconst REGION_BY_UF: Record<UF, BrRegion> = {\n AC: \"Norte\",\n AP: \"Norte\",\n AM: \"Norte\",\n PA: \"Norte\",\n RO: \"Norte\",\n RR: \"Norte\",\n TO: \"Norte\",\n AL: \"Nordeste\",\n BA: \"Nordeste\",\n CE: \"Nordeste\",\n MA: \"Nordeste\",\n PB: \"Nordeste\",\n PE: \"Nordeste\",\n PI: \"Nordeste\",\n RN: \"Nordeste\",\n SE: \"Nordeste\",\n DF: \"Centro-Oeste\",\n GO: \"Centro-Oeste\",\n MT: \"Centro-Oeste\",\n MS: \"Centro-Oeste\",\n ES: \"Sudeste\",\n MG: \"Sudeste\",\n RJ: \"Sudeste\",\n SP: \"Sudeste\",\n PR: \"Sul\",\n RS: \"Sul\",\n SC: \"Sul\",\n};\n\ninterface RawState {\n sigla: string;\n estado: string;\n cidades: string[];\n}\n\nconst RAW = rawLocations as unknown as { dataLocals: RawState[] };\n\n/** Normalized, frozen list of all 27 states (built once at module load). */\nconst STATES: readonly BrazilState[] = RAW.dataLocals\n .map((entry) => {\n const uf = entry.sigla as UF;\n return {\n uf,\n name: entry.estado,\n region: REGION_BY_UF[uf],\n cities: entry.cidades,\n };\n })\n .sort((a, b) => a.name.localeCompare(b.name, \"pt-BR\"));\n\nconst STATE_BY_UF = new Map<UF, BrazilState>(STATES.map((s) => [s.uf, s]));\n\n/** All 27 federative units, sorted by name. */\nexport function listStates(): readonly BrazilState[] {\n return STATES;\n}\n\n/** Look up a single state by acronym (case-insensitive). Returns `null` if unknown. */\nexport function getState(uf: string): BrazilState | null {\n const normalized = normalizeUf(uf);\n return normalized ? (STATE_BY_UF.get(normalized) ?? null) : null;\n}\n\n/**\n * City names for a federative unit (case-insensitive acronym). Returns an empty\n * array for an unknown UF — \"no matches\" is a valid result, not an error.\n */\nexport function citiesByUf(uf: string): string[] {\n return getState(uf)?.cities ?? [];\n}\n\n/** States belonging to a macro-region. */\nexport function statesByRegion(region: BrRegion): readonly BrazilState[] {\n return STATES.filter((s) => s.region === region);\n}\n\n/** True when `value` is one of the 27 valid acronyms (case-insensitive). */\nexport function isValidUf(value: string): boolean {\n return normalizeUf(value) !== null;\n}\n\n/**\n * Normalize an acronym to canonical uppercase form, or `null` if it is not a\n * valid UF. `\"sp\"` → `\"SP\"`, `\"xx\"` → `null`.\n */\nexport function normalizeUf(value: string): UF | null {\n const upper = value.trim().toUpperCase();\n return (REGION_BY_UF as Record<string, BrRegion>)[upper] ? (upper as UF) : null;\n}\n\n/** True when `city` exists within `uf` (both case-insensitive). */\nexport function isValidCity(uf: string, city: string): boolean {\n const target = city.trim().toLowerCase();\n return citiesByUf(uf).some((c) => c.toLowerCase() === target);\n}\n\n/** `{ value: uf, label: name }` options for every state, for a `<Select>`. */\nexport function ufChoices(): Choice[] {\n return STATES.map((s) => ({ value: s.uf, label: s.name }));\n}\n\n/** `{ value, label }` options for every city in a UF (value === label). */\nexport function cityChoices(uf: string): Choice[] {\n return citiesByUf(uf).map((c) => ({ value: c, label: c }));\n}\n","import type { BrUfGeometry } from \"./br-geo\";\nimport type { UF } from \"./locations\";\n\n/** One municipality feature within a state. */\nexport interface MunicipalityFeature {\n type: \"Feature\";\n properties: {\n /** 7-digit IBGE municipality code. */\n id: string;\n /** Municipality name. */\n name: string;\n /** Representative point `[longitude, latitude]` (area-weighted centroid). */\n centroid: [number, number];\n };\n geometry: BrUfGeometry;\n}\n\n/** Municipality boundaries for a single federative unit. */\nexport interface StateMunicipalities {\n type: \"FeatureCollection\";\n /** The federative unit these municipalities belong to. */\n uf: UF;\n features: MunicipalityFeature[];\n}\n\ntype GeoModule = { default: StateMunicipalities };\n\n// One explicit dynamic import per UF — each `data/mun/<UF>.json` becomes its own\n// lazy chunk, so `loadStateMunicipalities(\"SP\")` fetches only São Paulo's\n// geometry and the full ~2 MB municipal dataset never lands in one bundle.\nconst LOADERS: Record<UF, () => Promise<GeoModule>> = {\n AC: () => import(\"./data/mun/AC.json\") as unknown as Promise<GeoModule>,\n AL: () => import(\"./data/mun/AL.json\") as unknown as Promise<GeoModule>,\n AP: () => import(\"./data/mun/AP.json\") as unknown as Promise<GeoModule>,\n AM: () => import(\"./data/mun/AM.json\") as unknown as Promise<GeoModule>,\n BA: () => import(\"./data/mun/BA.json\") as unknown as Promise<GeoModule>,\n CE: () => import(\"./data/mun/CE.json\") as unknown as Promise<GeoModule>,\n DF: () => import(\"./data/mun/DF.json\") as unknown as Promise<GeoModule>,\n ES: () => import(\"./data/mun/ES.json\") as unknown as Promise<GeoModule>,\n GO: () => import(\"./data/mun/GO.json\") as unknown as Promise<GeoModule>,\n MA: () => import(\"./data/mun/MA.json\") as unknown as Promise<GeoModule>,\n MT: () => import(\"./data/mun/MT.json\") as unknown as Promise<GeoModule>,\n MS: () => import(\"./data/mun/MS.json\") as unknown as Promise<GeoModule>,\n MG: () => import(\"./data/mun/MG.json\") as unknown as Promise<GeoModule>,\n PA: () => import(\"./data/mun/PA.json\") as unknown as Promise<GeoModule>,\n PB: () => import(\"./data/mun/PB.json\") as unknown as Promise<GeoModule>,\n PR: () => import(\"./data/mun/PR.json\") as unknown as Promise<GeoModule>,\n PE: () => import(\"./data/mun/PE.json\") as unknown as Promise<GeoModule>,\n PI: () => import(\"./data/mun/PI.json\") as unknown as Promise<GeoModule>,\n RJ: () => import(\"./data/mun/RJ.json\") as unknown as Promise<GeoModule>,\n RN: () => import(\"./data/mun/RN.json\") as unknown as Promise<GeoModule>,\n RS: () => import(\"./data/mun/RS.json\") as unknown as Promise<GeoModule>,\n RO: () => import(\"./data/mun/RO.json\") as unknown as Promise<GeoModule>,\n RR: () => import(\"./data/mun/RR.json\") as unknown as Promise<GeoModule>,\n SC: () => import(\"./data/mun/SC.json\") as unknown as Promise<GeoModule>,\n SP: () => import(\"./data/mun/SP.json\") as unknown as Promise<GeoModule>,\n SE: () => import(\"./data/mun/SE.json\") as unknown as Promise<GeoModule>,\n TO: () => import(\"./data/mun/TO.json\") as unknown as Promise<GeoModule>,\n};\n\n/**\n * Lazily load the simplified municipality GeoJSON for a federative unit. Each\n * state's geometry is a separate chunk (~40-70 KB gzip), fetched on demand —\n * the full ~2 MB municipal dataset never lands in one bundle.\n *\n * @param uf - Federative unit acronym (e.g. `\"SP\"`).\n * @returns The municipality collection, or `null` for an unknown UF.\n *\n * @example\n * const sp = await loadStateMunicipalities(\"SP\");\n * sp?.features.length; // 644\n */\nexport async function loadStateMunicipalities(uf: UF): Promise<StateMunicipalities | null> {\n const loader = LOADERS[uf];\n if (!loader) return null;\n const mod = await loader();\n return mod.default ?? (mod as unknown as StateMunicipalities);\n}\n","import { haversineKm } from \"@/geo/distance\";\nimport type { Coordinate } from \"@/geo/types\";\nimport type { BrUfGeometry, Ring } from \"./br-geo\";\nimport type { UF } from \"./locations\";\nimport { loadStateMunicipalities } from \"./state-geo\";\n\n/** A municipality with its representative coordinate (IBGE centroid). */\nexport interface MunicipalityCentroid {\n /** 7-digit IBGE code. */\n id: string;\n /** Municipality name. */\n name: string;\n /** Federative unit. */\n uf: UF;\n latitude: number;\n longitude: number;\n}\n\n/** {@link MunicipalityCentroid} plus the distance from the query point. */\nexport interface NearestMunicipality extends MunicipalityCentroid {\n /** Great-circle distance from the query coordinate, in kilometers. */\n distanceKm: number;\n}\n\n/** A municipality identified by point-in-polygon (see {@link reverseGeocode}). */\nexport interface ReverseGeocodeResult {\n id: string;\n name: string;\n uf: UF;\n}\n\ninterface RawIndex {\n states: Record<string, [number, number]>;\n municipalities: [string, string, string, number, number][];\n}\n\ninterface CentroidIndex {\n states: Partial<Record<UF, Coordinate>>;\n municipalities: MunicipalityCentroid[];\n}\n\nlet cache: CentroidIndex | null = null;\nlet pending: Promise<CentroidIndex> | null = null;\n\n/** Strip accents and lowercase, for accent-insensitive name matching. */\nfunction normalizeName(value: string): string {\n return value\n .normalize(\"NFD\")\n .replace(/\\p{Diacritic}/gu, \"\")\n .trim()\n .toLowerCase();\n}\n\n/**\n * Lazily load and cache the compact centroid index (~97 KB gzip). Kept out of\n * the synchronous barrel so importing `/br` for data/maps never pulls it — only\n * a geocode call fetches it, and only once.\n */\nasync function loadIndex(): Promise<CentroidIndex> {\n if (cache) return cache;\n if (!pending) {\n pending = import(\"./data/br-centroids.json\").then((mod) => {\n const raw = (mod.default ?? mod) as unknown as RawIndex;\n const states: Partial<Record<UF, Coordinate>> = {};\n for (const [uf, [lon, lat]] of Object.entries(raw.states)) {\n states[uf as UF] = { latitude: lat, longitude: lon };\n }\n cache = {\n states,\n municipalities: raw.municipalities.map(([id, name, uf, lon, lat]) => ({\n id,\n name,\n uf: uf as UF,\n latitude: lat,\n longitude: lon,\n })),\n };\n return cache;\n });\n }\n return pending;\n}\n\n/**\n * Nearest Brazilian municipality to a coordinate by **centroid distance** —\n * fast and geometry-free (only the small centroid index loads). Approximate:\n * near borders or inside large municipalities a neighbor's centroid can be\n * closer. For an exact containing municipality use {@link reverseGeocode}.\n *\n * @param coord - Query coordinate.\n * @returns The nearest municipality with `distanceKm`, or `null` if the index\n * is somehow empty.\n *\n * @example\n * const near = await nearestMunicipality({ latitude: -23.55, longitude: -46.63 });\n * // { id, name, uf: \"SP\", …, distanceKm }\n */\nexport async function nearestMunicipality(coord: Coordinate): Promise<NearestMunicipality | null> {\n const { municipalities } = await loadIndex();\n let best: MunicipalityCentroid | null = null;\n let bestDistance = Infinity;\n for (const m of municipalities) {\n const d = haversineKm(coord, m);\n if (d < bestDistance) {\n bestDistance = d;\n best = m;\n }\n }\n return best ? { ...best, distanceKm: bestDistance } : null;\n}\n\n/**\n * Forward-geocode a municipality by name (accent-insensitive), optionally scoped\n * to a UF. Returns every exact-name match — the same name can occur in several\n * states (e.g. \"Bonito\").\n *\n * @param name - Municipality name.\n * @param uf - Optional UF to restrict the search.\n * @returns Matching municipalities (empty array when none match).\n */\nexport async function geocodeMunicipality(name: string, uf?: UF): Promise<MunicipalityCentroid[]> {\n const { municipalities } = await loadIndex();\n const target = normalizeName(name);\n return municipalities.filter((m) => (!uf || m.uf === uf) && normalizeName(m.name) === target);\n}\n\n/**\n * Substring search over municipality names (accent-insensitive), for\n * autocomplete. Ranked prefix-first, then alphabetically.\n *\n * @param query - Partial name.\n * @param options - `uf` to scope, `limit` (default 20).\n * @returns Ranked matches.\n */\nexport async function searchMunicipalities(\n query: string,\n options: { uf?: UF; limit?: number } = {},\n): Promise<MunicipalityCentroid[]> {\n const { uf, limit = 20 } = options;\n const q = normalizeName(query);\n if (!q) return [];\n const { municipalities } = await loadIndex();\n const hits = municipalities\n .filter((m) => (!uf || m.uf === uf) && normalizeName(m.name).includes(q))\n .sort((a, b) => {\n const ap = normalizeName(a.name).startsWith(q) ? 0 : 1;\n const bp = normalizeName(b.name).startsWith(q) ? 0 : 1;\n return ap - bp || a.name.localeCompare(b.name, \"pt-BR\");\n });\n return hits.slice(0, limit);\n}\n\n/**\n * Centroid of a municipality by IBGE code.\n *\n * @param id - 7-digit IBGE code.\n * @returns The municipality centroid, or `null` if unknown.\n */\nexport async function municipalityCentroid(id: string): Promise<MunicipalityCentroid | null> {\n const { municipalities } = await loadIndex();\n return municipalities.find((m) => m.id === id) ?? null;\n}\n\n/**\n * Centroid of a federative unit.\n *\n * @param uf - Federative unit acronym.\n * @returns The state centroid, or `null` if unknown.\n */\nexport async function stateCentroid(uf: UF): Promise<Coordinate | null> {\n const { states } = await loadIndex();\n return states[uf] ?? null;\n}\n\n/** Ray-casting point-in-ring test (`ring` is `[lon, lat]` pairs). */\nfunction pointInRing(lon: number, lat: number, ring: Ring): boolean {\n let inside = false;\n for (let i = 0, j = ring.length - 1; i < ring.length; j = i, i += 1) {\n const [xi, yi] = ring[i];\n const [xj, yj] = ring[j];\n const intersects = yi > lat !== yj > lat && lon < ((xj - xi) * (lat - yi)) / (yj - yi) + xi;\n if (intersects) inside = !inside;\n }\n return inside;\n}\n\n/** True when the point lies in a polygon's outer ring and not in a hole. */\nfunction pointInPolygon(lon: number, lat: number, rings: Ring[]): boolean {\n if (rings.length === 0 || !pointInRing(lon, lat, rings[0])) return false;\n for (let i = 1; i < rings.length; i += 1) {\n if (pointInRing(lon, lat, rings[i])) return false; // inside a hole\n }\n return true;\n}\n\n/** True when the point lies inside a (multi)polygon geometry. */\nfunction pointInGeometry(lon: number, lat: number, geom: BrUfGeometry): boolean {\n if (geom.type === \"Polygon\") {\n return pointInPolygon(lon, lat, geom.coordinates as Ring[]);\n }\n return (geom.coordinates as Ring[][]).some((poly) => pointInPolygon(lon, lat, poly));\n}\n\n/**\n * Exact reverse-geocode: the municipality whose (simplified) boundary\n * **contains** the coordinate, via point-in-polygon. Loads one state's geometry\n * chunk — pass `uf` when you know it to skip the centroid lookup that picks the\n * candidate state. Boundaries are simplified (~2 km), so points within ~1-2 km\n * of a border may resolve to the neighbor; offshore points return `null`.\n *\n * @param coord - Query coordinate.\n * @param options - `uf` to force the state searched.\n * @returns The containing municipality, or `null` (falls back to the nearest\n * centroid municipality when the point is inside no polygon of the state).\n *\n * @example\n * const here = await reverseGeocode({ latitude: -23.5505, longitude: -46.6333 });\n * // { id: \"3550308\", name: \"São Paulo\", uf: \"SP\" }\n */\nexport async function reverseGeocode(\n coord: Coordinate,\n options: { uf?: UF } = {},\n): Promise<ReverseGeocodeResult | null> {\n const nearest = options.uf ? null : await nearestMunicipality(coord);\n const uf = options.uf ?? nearest?.uf;\n if (!uf) return null;\n\n const state = await loadStateMunicipalities(uf);\n const hit = state?.features.find((f) =>\n pointInGeometry(coord.longitude, coord.latitude, f.geometry),\n );\n if (hit) return { id: hit.properties.id, name: hit.properties.name, uf };\n\n // Point inside no polygon (border/offshore) — fall back to nearest centroid.\n const fallback = nearest ?? (await nearestMunicipality(coord));\n return fallback ? { id: fallback.id, name: fallback.name, uf: fallback.uf } : null;\n}\n","import type { FittedProjection } from \"@/geo/projection\";\nimport type { GeoMarker } from \"@/geo/types\";\nimport styles from \"./BrazilMap.module.css\";\n\nexport interface MapMarkersProps {\n /** Projection used by the host map (markers must share it to line up). */\n projection: FittedProjection;\n /** Pins to plot. */\n markers: readonly GeoMarker[];\n /** Fired when a marker is clicked. */\n onMarkerClick?: (marker: GeoMarker, index: number) => void;\n}\n\n/**\n * SVG overlay of point markers, projected with the host map's projection so\n * they align with its shapes. Each marker carries a native `<title>` (its\n * `label`) and is clickable when `onMarkerClick` is set.\n */\nexport function MapMarkers({ projection, markers, onMarkerClick }: MapMarkersProps) {\n return (\n <g className={styles.markers}>\n {markers.map((marker, index) => {\n const p = projection.project(marker);\n const interactive = Boolean(onMarkerClick);\n return (\n <circle\n key={marker.id ?? index}\n className={styles.marker}\n cx={p.x}\n cy={p.y}\n r={marker.radius ?? 6}\n fill={marker.color ?? \"var(--tempest-primary)\"}\n data-marker-id={marker.id ?? index}\n tabIndex={interactive ? 0 : undefined}\n role={interactive ? \"button\" : undefined}\n aria-label={marker.label}\n onClick={interactive ? () => onMarkerClick?.(marker, index) : undefined}\n onKeyDown={\n interactive\n ? (e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n onMarkerClick?.(marker, index);\n }\n }\n : undefined\n }\n >\n {marker.label ? <title>{marker.label}</title> : null}\n </circle>\n );\n })}\n </g>\n );\n}\n","import type { ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./BrazilMap.module.css\";\n\nexport interface MapTooltipProps {\n /** X position in pixels, relative to the map container. */\n x: number;\n /** Y position in pixels, relative to the map container. */\n y: number;\n /** Tooltip body. */\n children: ReactNode;\n className?: string;\n}\n\n/**\n * Floating tooltip anchored near the cursor over a map. Positioned absolutely\n * inside the map container (which is `position: relative`) and non-interactive\n * so it never steals hover from the shapes beneath it.\n */\nexport function MapTooltip({ x, y, children, className }: MapTooltipProps) {\n return (\n <div\n className={cn(styles.tooltip, className)}\n style={{ left: x, top: y }}\n data-testid=\"map-tooltip\"\n aria-hidden\n >\n {children}\n </div>\n );\n}\n","import type { LegendItem } from \"./MapLegend\";\nimport type { BrRegion } from \"./locations\";\n\n/**\n * Categorical, distinguishable colors for the five IBGE macro-regions\n * (Tableau-10 family). Swap for your brand palette if needed.\n */\nexport const REGION_COLORS: Record<BrRegion, string> = {\n Norte: \"#4e79a7\",\n Nordeste: \"#f28e2b\",\n \"Centro-Oeste\": \"#59a14f\",\n Sudeste: \"#e15759\",\n Sul: \"#b07aa1\",\n};\n\n/** Legend entries (swatch + region name) for a region-colored map. */\nexport function regionLegendItems(): LegendItem[] {\n return (Object.keys(REGION_COLORS) as BrRegion[]).map((region) => ({\n color: REGION_COLORS[region],\n label: region,\n }));\n}\n","import { useCallback, useRef, useState, type PointerEvent, type WheelEvent } from \"react\";\n\n/** Pan/zoom transform state. */\nexport interface MapTransform {\n /** Zoom factor (1 = fit). */\n k: number;\n /** X translation in pixels. */\n x: number;\n /** Y translation in pixels. */\n y: number;\n}\n\nconst MIN_K = 1;\nconst MAX_K = 12;\n\nexport interface UseMapZoom {\n /** SVG `transform` string for the content `<g>`. */\n transform: string;\n /** Current zoom factor. */\n zoom: number;\n /** True when panned/zoomed away from the initial fit. */\n isTransformed: boolean;\n /** Reset to the initial fit. */\n reset: () => void;\n /** Handlers to spread on the `<svg>` element. */\n handlers: {\n onWheel?: (e: WheelEvent) => void;\n onPointerDown?: (e: PointerEvent) => void;\n onPointerMove?: (e: PointerEvent) => void;\n onPointerUp?: (e: PointerEvent) => void;\n onPointerLeave?: (e: PointerEvent) => void;\n onDoubleClick?: () => void;\n style?: { cursor: string; touchAction: string };\n };\n}\n\n/**\n * Wheel-zoom (anchored at the cursor) + drag-pan for an SVG map. Returns a\n * `transform` to apply to a content `<g>` and handlers for the `<svg>`. A no-op\n * (identity transform, empty handlers) when `enabled` is false.\n */\nexport function useMapZoom(enabled: boolean): UseMapZoom {\n const [t, setT] = useState<MapTransform>({ k: 1, x: 0, y: 0 });\n const drag = useRef<{ x: number; y: number; ox: number; oy: number } | null>(null);\n\n const reset = useCallback(() => setT({ k: 1, x: 0, y: 0 }), []);\n\n const onWheel = useCallback((e: WheelEvent) => {\n e.preventDefault();\n const rect = e.currentTarget.getBoundingClientRect();\n const cx = e.clientX - rect.left;\n const cy = e.clientY - rect.top;\n setT((prev) => {\n const factor = e.deltaY < 0 ? 1.15 : 1 / 1.15;\n const k = Math.max(MIN_K, Math.min(MAX_K, prev.k * factor));\n const scale = k / prev.k;\n return { k, x: cx - (cx - prev.x) * scale, y: cy - (cy - prev.y) * scale };\n });\n }, []);\n\n const onPointerDown = useCallback((e: PointerEvent) => {\n drag.current = { x: e.clientX, y: e.clientY, ox: 0, oy: 0 };\n e.currentTarget.setPointerCapture?.(e.pointerId);\n }, []);\n\n const onPointerMove = useCallback((e: PointerEvent) => {\n if (!drag.current) return;\n const dx = e.clientX - drag.current.x;\n const dy = e.clientY - drag.current.y;\n drag.current.x = e.clientX;\n drag.current.y = e.clientY;\n setT((prev) => ({ ...prev, x: prev.x + dx, y: prev.y + dy }));\n }, []);\n\n const endDrag = useCallback((e: PointerEvent) => {\n drag.current = null;\n e.currentTarget.releasePointerCapture?.(e.pointerId);\n }, []);\n\n if (!enabled) {\n return {\n transform: \"\",\n zoom: 1,\n isTransformed: false,\n reset,\n handlers: {},\n };\n }\n\n const isTransformed = t.k !== 1 || t.x !== 0 || t.y !== 0;\n return {\n transform: `translate(${t.x} ${t.y}) scale(${t.k})`,\n zoom: t.k,\n isTransformed,\n reset,\n handlers: {\n onWheel,\n onPointerDown,\n onPointerMove,\n onPointerUp: endDrag,\n onPointerLeave: endDrag,\n onDoubleClick: reset,\n style: { cursor: isTransformed ? \"grab\" : \"default\", touchAction: \"none\" },\n },\n };\n}\n","import type { FittedProjection } from \"@/geo/projection\";\nimport type { GeoBounds } from \"@/geo/types\";\nimport type { BrUfGeometry, Ring } from \"./br-geo\";\n\n/** Iterate every ring of a geometry (Polygon or MultiPolygon). */\nexport function ringsOf(geometry: BrUfGeometry): Ring[] {\n return geometry.type === \"MultiPolygon\"\n ? (geometry.coordinates as Ring[][]).flat()\n : (geometry.coordinates as Ring[]);\n}\n\n/** Bounding box across every coordinate of the given geometries. */\nexport function geometriesBounds(geometries: readonly BrUfGeometry[]): GeoBounds {\n let minLat = 90;\n let maxLat = -90;\n let minLon = 180;\n let maxLon = -180;\n for (const geometry of geometries) {\n for (const ring of ringsOf(geometry)) {\n for (const [lon, lat] of ring) {\n if (lat < minLat) minLat = lat;\n if (lat > maxLat) maxLat = lat;\n if (lon < minLon) minLon = lon;\n if (lon > maxLon) maxLon = lon;\n }\n }\n }\n return { minLatitude: minLat, maxLatitude: maxLat, minLongitude: minLon, maxLongitude: maxLon };\n}\n\n/** Build the SVG `d` path for a geometry (all rings, `evenodd` handles holes). */\nexport function geometryPath(geometry: BrUfGeometry, projection: FittedProjection): string {\n return ringsOf(geometry)\n .map((ring) => {\n const pts = ring.map(([lon, lat]) => {\n const p = projection.project({ latitude: lat, longitude: lon });\n return `${p.x.toFixed(1)},${p.y.toFixed(1)}`;\n });\n return `M${pts.join(\"L\")}Z`;\n })\n .join(\"\");\n}\n\n/** Rough visual centroid of a geometry (mean of its largest ring's points). */\nexport function geometryCentroid(\n geometry: BrUfGeometry,\n projection: FittedProjection,\n): { x: number; y: number } {\n const rings = ringsOf(geometry);\n const outer = rings.reduce((a, b) => (b.length > a.length ? b : a), rings[0] ?? []);\n let sx = 0;\n let sy = 0;\n for (const [lon, lat] of outer) {\n const p = projection.project({ latitude: lat, longitude: lon });\n sx += p.x;\n sy += p.y;\n }\n const n = outer.length || 1;\n return { x: sx / n, y: sy / n };\n}\n\n/** Linearly interpolate between two hex colors, returning an `rgb(...)` string. */\nexport function lerpColor(from: string, to: string, t: number): string {\n const parse = (c: string): [number, number, number] => {\n const hex = c.replace(\"#\", \"\");\n const full =\n hex.length === 3\n ? hex\n .split(\"\")\n .map((ch) => ch + ch)\n .join(\"\")\n : hex;\n return [\n parseInt(full.slice(0, 2), 16),\n parseInt(full.slice(2, 4), 16),\n parseInt(full.slice(4, 6), 16),\n ];\n };\n const [r1, g1, b1] = parse(from);\n const [r2, g2, b2] = parse(to);\n const mix = (a: number, b: number): number => Math.round(a + (b - a) * t);\n return `rgb(${mix(r1, r2)}, ${mix(g1, g2)}, ${mix(b1, b2)})`;\n}\n","import { useCallback, useState, type MouseEvent, type RefObject } from \"react\";\n\n/** The currently hovered item plus cursor position within the map container. */\nexport interface MapHover<T> {\n item: T;\n x: number;\n y: number;\n}\n\n/**\n * Track which shape the cursor is over and where, for a floating map tooltip.\n * Positions are computed relative to `containerRef` so the tooltip can be\n * placed with plain `left`/`top` inside the (relatively positioned) container.\n */\nexport function useMapHover<T>(containerRef: RefObject<HTMLDivElement | null>): {\n hover: MapHover<T> | null;\n onMove: (item: T, event: MouseEvent) => void;\n onLeave: () => void;\n} {\n const [hover, setHover] = useState<MapHover<T> | null>(null);\n\n const onMove = useCallback(\n (item: T, event: MouseEvent): void => {\n const rect = containerRef.current?.getBoundingClientRect();\n if (!rect) return;\n setHover({ item, x: event.clientX - rect.left, y: event.clientY - rect.top });\n },\n [containerRef],\n );\n\n const onLeave = useCallback((): void => setHover(null), []);\n\n return { hover, onMove, onLeave };\n}\n","import { useEffect, useMemo, useRef, useState, type HTMLAttributes, type ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport { fitProjection } from \"@/geo/projection\";\nimport type { GeoMarker } from \"@/geo/types\";\nimport type { BrUfFeatureCollection } from \"./br-geo\";\nimport { getState, type UF } from \"./locations\";\nimport { MapMarkers } from \"./MapMarkers\";\nimport { MapTooltip } from \"./MapTooltip\";\nimport { REGION_COLORS } from \"./regions\";\nimport type { ColorScale } from \"./scales\";\nimport { useMapZoom } from \"./use-map-zoom\";\nimport { geometriesBounds, geometryCentroid, geometryPath, lerpColor } from \"./svg-utils\";\nimport { useMapHover } from \"./use-map-hover\";\nimport styles from \"./BrazilMap.module.css\";\n\n/** Data passed to a {@link BrazilMapProps.renderTooltip} callback. */\nexport interface BrazilMapTooltipData {\n uf: UF;\n name: string;\n /** Choropleth value for this UF, if `values` was provided. */\n value?: number;\n}\n\nexport interface BrazilMapProps extends Omit<HTMLAttributes<HTMLDivElement>, \"onSelect\"> {\n /** Currently selected UF(s) — highlighted. Accepts one or many. */\n selected?: UF | readonly UF[] | null;\n /** Fired when a state is clicked. */\n onSelect?: (uf: UF) => void;\n /**\n * Optional choropleth values per UF. When set, each state is tinted between\n * `minColor` and `maxColor` by its value (linear). States without a value\n * use the base surface color.\n */\n values?: Partial<Record<UF, number>>;\n /** Choropleth low-end color (2-color linear ramp). Default: a light primary tint. */\n minColor?: string;\n /** Choropleth high-end color (2-color linear ramp). Default: the primary token. */\n maxColor?: string;\n /**\n * Custom value→color scale (e.g. from `sequentialScale`/`quantizeScale`).\n * Takes precedence over `minColor`/`maxColor`. Pair with a `<MapLegend>`.\n */\n colorScale?: ColorScale;\n /**\n * Tint each state by its macro-region (categorical). Overrides\n * `values`/`colorScale`. Pair with `<MapLegend items={regionLegendItems()} />`.\n */\n colorByRegion?: boolean;\n /** Viewport height in pixels. Default: `440`. */\n height?: number;\n /** Inner padding in pixels. Default: `12`. */\n padding?: number;\n /** Render the UF acronym at each state centroid. Default: `true`. */\n showLabels?: boolean;\n /** Accessible label for the map region. Default: `\"Mapa do Brasil por estado\"`. */\n label?: string;\n /** Custom content when the geometry is still loading. */\n loadingContent?: ReactNode;\n /** Show a floating tooltip (name + region + city count + value) on hover. Default: `true`. */\n showTooltip?: boolean;\n /** Override the default tooltip content. */\n renderTooltip?: (data: BrazilMapTooltipData) => ReactNode;\n /** Point markers to overlay on the map (e.g. capitals, stores). */\n markers?: readonly GeoMarker[];\n /** Fired when a marker is clicked. */\n onMarkerClick?: (marker: GeoMarker, index: number) => void;\n /** Enable wheel-zoom + drag-pan (double-click resets). Default: `false`. */\n zoomable?: boolean;\n}\n\n/**\n * Clickable choropleth map of Brazil's 27 federative units. Renders the bundled\n * simplified UF GeoJSON as SVG paths — **no external tiles or paid API**. Click\n * a state to fire `onSelect(uf)`; pass `selected` to highlight and `values` to\n * tint states by a metric.\n *\n * The GeoJSON (~36 KB gzip) is loaded lazily, so importing this component does\n * not pull the geometry until it actually mounts.\n *\n * @example\n * const [uf, setUf] = useState<UF | null>(null);\n * <BrazilMap selected={uf} onSelect={setUf} />\n *\n * @example\n * // Choropleth by a metric per state\n * <BrazilMap values={{ SP: 120, RJ: 90, MG: 60 }} />\n */\nexport function BrazilMap({\n selected,\n onSelect,\n values,\n minColor = \"#dbeafe\",\n maxColor = \"#2563eb\",\n colorScale,\n colorByRegion = false,\n height = 440,\n padding = 12,\n showLabels = true,\n label = \"Mapa do Brasil por estado\",\n loadingContent,\n showTooltip = true,\n renderTooltip,\n markers,\n onMarkerClick,\n zoomable = false,\n className,\n style,\n ...rest\n}: BrazilMapProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n const [width, setWidth] = useState<number>(600);\n const [collection, setCollection] = useState<BrUfFeatureCollection | null>(null);\n const { hover, onMove, onLeave } = useMapHover<{ uf: UF; name: string }>(containerRef);\n const mapZoom = useMapZoom(zoomable);\n\n useEffect(() => {\n let active = true;\n void import(\"./br-geo\").then((m) => {\n if (active) setCollection(m.BR_UF_GEOJSON);\n });\n return () => {\n active = false;\n };\n }, []);\n\n useEffect(() => {\n const node = containerRef.current;\n if (!node || typeof ResizeObserver === \"undefined\") return;\n const observer = new ResizeObserver((entries) => {\n const measured = entries[0]?.contentRect.width;\n if (measured && measured > 0) setWidth(measured);\n });\n observer.observe(node);\n return () => observer.disconnect();\n }, []);\n\n const selectedSet = useMemo<Set<UF>>(() => {\n if (!selected) return new Set();\n return new Set(Array.isArray(selected) ? selected : [selected as UF]);\n }, [selected]);\n\n const valueRange = useMemo<[number, number] | null>(() => {\n if (!values) return null;\n const nums = Object.values(values).filter((v): v is number => typeof v === \"number\");\n if (nums.length === 0) return null;\n return [Math.min(...nums), Math.max(...nums)];\n }, [values]);\n\n const shapes = useMemo(() => {\n if (!collection) return null;\n const projection = fitProjection(\n geometriesBounds(collection.features.map((f) => f.geometry)),\n width,\n height,\n { padding },\n );\n const items = collection.features.map((feature) => ({\n uf: feature.properties.uf,\n name: feature.properties.name,\n region: feature.properties.region,\n d: geometryPath(feature.geometry, projection),\n centroid: geometryCentroid(feature.geometry, projection),\n }));\n return { projection, items };\n }, [collection, width, height, padding]);\n\n function fillFor(uf: UF): string | undefined {\n const v = values?.[uf];\n if (typeof v !== \"number\") return undefined;\n if (colorScale) return colorScale(v);\n if (!valueRange) return undefined;\n const [min, max] = valueRange;\n const t = max === min ? 1 : (v - min) / (max - min);\n return lerpColor(minColor, maxColor, t);\n }\n\n // Memoized so frequent re-renders (hover tooltip) don't rebuild all 27 paths.\n const stateEls = useMemo(() => {\n if (!shapes) return null;\n return shapes.items.map((shape) => {\n const isSelected = selectedSet.has(shape.uf);\n const fillColor = isSelected\n ? undefined\n : colorByRegion\n ? REGION_COLORS[shape.region]\n : fillFor(shape.uf);\n return (\n <path\n key={shape.uf}\n className={cn(styles.state, isSelected && styles.selected)}\n d={shape.d}\n fillRule=\"evenodd\"\n style={fillColor ? { fill: fillColor } : undefined}\n data-uf={shape.uf}\n tabIndex={onSelect ? 0 : undefined}\n role={onSelect ? \"button\" : undefined}\n aria-label={shape.name}\n aria-pressed={onSelect ? isSelected : undefined}\n onClick={onSelect ? () => onSelect(shape.uf) : undefined}\n onMouseMove={\n showTooltip\n ? (e) => onMove({ uf: shape.uf, name: shape.name }, e)\n : undefined\n }\n onMouseLeave={showTooltip ? onLeave : undefined}\n onKeyDown={\n onSelect\n ? (e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n onSelect(shape.uf);\n }\n }\n : undefined\n }\n />\n );\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n shapes,\n selectedSet,\n values,\n colorScale,\n colorByRegion,\n minColor,\n maxColor,\n onSelect,\n showTooltip,\n onMove,\n onLeave,\n ]);\n\n return (\n <div\n ref={containerRef}\n className={cn(styles.map, className)}\n style={{ height, ...style }}\n role=\"group\"\n aria-label={label}\n {...rest}\n >\n {!shapes ? (\n <div className={styles.loading}>{loadingContent ?? \"Carregando mapa…\"}</div>\n ) : (\n <svg\n className={styles.svg}\n width=\"100%\"\n height={height}\n viewBox={`0 0 ${width} ${height}`}\n preserveAspectRatio=\"xMidYMid meet\"\n {...mapZoom.handlers}\n >\n <g transform={mapZoom.transform || undefined}>\n {stateEls}\n\n {showLabels &&\n shapes.items.map((shape) => (\n <text\n key={`label-${shape.uf}`}\n className={styles.label}\n x={shape.centroid.x}\n y={shape.centroid.y}\n textAnchor=\"middle\"\n dominantBaseline=\"central\"\n >\n {shape.uf}\n </text>\n ))}\n\n {markers && markers.length > 0 && (\n <MapMarkers\n projection={shapes.projection}\n markers={markers}\n onMarkerClick={onMarkerClick}\n />\n )}\n </g>\n </svg>\n )}\n\n {mapZoom.isTransformed && (\n <button type=\"button\" className={styles.zoomReset} onClick={mapZoom.reset}>\n Reset\n </button>\n )}\n\n {showTooltip && hover && (\n <MapTooltip x={hover.x} y={hover.y}>\n {renderTooltip ? (\n renderTooltip({\n uf: hover.item.uf,\n name: hover.item.name,\n value: values?.[hover.item.uf],\n })\n ) : (\n <DefaultUfTooltip\n uf={hover.item.uf}\n name={hover.item.name}\n value={values?.[hover.item.uf]}\n />\n )}\n </MapTooltip>\n )}\n </div>\n );\n}\n\n/** Default UF tooltip: name (UF) + region + city count + optional value. */\nfunction DefaultUfTooltip({ uf, name, value }: { uf: UF; name: string; value?: number }) {\n const state = getState(uf);\n return (\n <>\n <div className={styles.tooltipTitle}>\n {name} ({uf})\n </div>\n <div className={styles.tooltipMeta}>\n {state ? `${state.region} · ${state.cities.length} cidades` : uf}\n {typeof value === \"number\" ? ` · ${value}` : \"\"}\n </div>\n </>\n );\n}\n","import { useEffect, useMemo, useRef, useState, type HTMLAttributes, type ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport { fitProjection } from \"@/geo/projection\";\nimport type { GeoMarker } from \"@/geo/types\";\nimport { getState, type UF } from \"./locations\";\nimport { MapMarkers } from \"./MapMarkers\";\nimport { MapTooltip } from \"./MapTooltip\";\nimport type { ColorScale } from \"./scales\";\nimport { useMapZoom } from \"./use-map-zoom\";\nimport { loadStateMunicipalities, type StateMunicipalities } from \"./state-geo\";\nimport { geometriesBounds, geometryCentroid, geometryPath, lerpColor } from \"./svg-utils\";\nimport { useMapHover } from \"./use-map-hover\";\nimport styles from \"./BrazilMap.module.css\";\n\n/** A municipality identified for selection callbacks. */\nexport interface Municipality {\n /** 7-digit IBGE code. */\n id: string;\n /** Municipality name. */\n name: string;\n}\n\n/** Data passed to a {@link BrazilStateMapProps.renderTooltip} callback. */\nexport interface BrazilStateMapTooltipData extends Municipality {\n /** Choropleth value for this municipality, if `values` was provided. */\n value?: number;\n}\n\nexport interface BrazilStateMapProps extends Omit<HTMLAttributes<HTMLDivElement>, \"onSelect\"> {\n /** Federative unit to draw (required). */\n uf: UF;\n /** Selected municipality — matched by IBGE `id` or by `name`. Accepts many. */\n selected?: string | readonly string[] | null;\n /** Fired when a municipality is clicked. */\n onSelect?: (municipality: Municipality) => void;\n /**\n * Choropleth values keyed by municipality `id` **or** `name`. When set, each\n * municipality is tinted between `minColor` and `maxColor`.\n */\n values?: Record<string, number>;\n /** Choropleth low-end color (2-color linear ramp). Default: a light primary tint. */\n minColor?: string;\n /** Choropleth high-end color (2-color linear ramp). Default: the primary token. */\n maxColor?: string;\n /**\n * Custom value→color scale (from `sequentialScale`/`quantizeScale`). Takes\n * precedence over `minColor`/`maxColor`. Pair with a `<MapLegend>`.\n */\n colorScale?: ColorScale;\n /** Viewport height in pixels. Default: `440`. */\n height?: number;\n /** Inner padding in pixels. Default: `12`. */\n padding?: number;\n /**\n * Render each municipality name at its centroid. Off by default — a state\n * can have hundreds of municipalities and labels overlap badly.\n */\n showLabels?: boolean;\n /** Accessible label. Default: derived from the state name. */\n label?: string;\n /** Content while the state geometry is loading. */\n loadingContent?: ReactNode;\n /** Show a floating tooltip (name + IBGE code + value) on hover. Default: `true`. */\n showTooltip?: boolean;\n /** Override the default tooltip content. */\n renderTooltip?: (data: BrazilStateMapTooltipData) => ReactNode;\n /** Point markers to overlay on the state (e.g. addresses, POIs). */\n markers?: readonly GeoMarker[];\n /** Fired when a marker is clicked. */\n onMarkerClick?: (marker: GeoMarker, index: number) => void;\n /** Enable wheel-zoom + drag-pan (double-click resets). Default: `false`. */\n zoomable?: boolean;\n}\n\n/**\n * Clickable submap of a single Brazilian state showing **all its\n * municipalities** as SVG paths — no external tiles or paid API. The state's\n * geometry (~40-70 KB gzip) is loaded lazily per UF, so switching states fetches\n * only what is shown.\n *\n * @example\n * const [city, setCity] = useState<string | null>(null);\n * <BrazilStateMap uf=\"SP\" selected={city} onSelect={(m) => setCity(m.name)} />\n *\n * @example\n * // Choropleth of a metric by municipality name\n * <BrazilStateMap uf=\"RJ\" values={{ \"Rio de Janeiro\": 100, Niterói: 40 }} />\n */\nexport function BrazilStateMap({\n uf,\n selected,\n onSelect,\n values,\n minColor = \"#dbeafe\",\n maxColor = \"#2563eb\",\n colorScale,\n height = 440,\n padding = 12,\n showLabels = false,\n label,\n loadingContent,\n showTooltip = true,\n renderTooltip,\n markers,\n onMarkerClick,\n zoomable = false,\n className,\n style,\n ...rest\n}: BrazilStateMapProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n const [width, setWidth] = useState<number>(600);\n const [collection, setCollection] = useState<StateMunicipalities | null>(null);\n const mapZoom = useMapZoom(zoomable);\n const { hover, onMove, onLeave } = useMapHover<Municipality>(containerRef);\n\n useEffect(() => {\n let active = true;\n setCollection(null);\n void loadStateMunicipalities(uf).then((data) => {\n if (active) setCollection(data);\n });\n return () => {\n active = false;\n };\n }, [uf]);\n\n useEffect(() => {\n const node = containerRef.current;\n if (!node || typeof ResizeObserver === \"undefined\") return;\n const observer = new ResizeObserver((entries) => {\n const measured = entries[0]?.contentRect.width;\n if (measured && measured > 0) setWidth(measured);\n });\n observer.observe(node);\n return () => observer.disconnect();\n }, []);\n\n const selectedSet = useMemo<Set<string>>(() => {\n if (!selected) return new Set();\n return new Set(Array.isArray(selected) ? selected : [selected as string]);\n }, [selected]);\n\n const valueRange = useMemo<[number, number] | null>(() => {\n if (!values) return null;\n const nums = Object.values(values).filter((v): v is number => typeof v === \"number\");\n if (nums.length === 0) return null;\n return [Math.min(...nums), Math.max(...nums)];\n }, [values]);\n\n const shapes = useMemo(() => {\n if (!collection) return null;\n const projection = fitProjection(\n geometriesBounds(collection.features.map((f) => f.geometry)),\n width,\n height,\n { padding },\n );\n const items = collection.features.map((feature) => ({\n id: feature.properties.id,\n name: feature.properties.name,\n d: geometryPath(feature.geometry, projection),\n centroid: geometryCentroid(feature.geometry, projection),\n }));\n return { projection, items };\n }, [collection, width, height, padding]);\n\n function fillFor(id: string, name: string): string | undefined {\n const v = values?.[id] ?? values?.[name];\n if (typeof v !== \"number\") return undefined;\n if (colorScale) return colorScale(v);\n if (!valueRange) return undefined;\n const [min, max] = valueRange;\n const t = max === min ? 1 : (v - min) / (max - min);\n return lerpColor(minColor, maxColor, t);\n }\n\n // Memoized so hover re-renders don't rebuild hundreds of municipality paths.\n const cityEls = useMemo(() => {\n if (!shapes) return null;\n return shapes.items.map((shape) => {\n const isSelected = selectedSet.has(shape.id) || selectedSet.has(shape.name);\n const fillColor = isSelected ? undefined : fillFor(shape.id, shape.name);\n return (\n <path\n key={shape.id}\n className={cn(styles.state, isSelected && styles.selected)}\n d={shape.d}\n fillRule=\"evenodd\"\n style={fillColor ? { fill: fillColor } : undefined}\n data-city-id={shape.id}\n data-city={shape.name}\n tabIndex={onSelect ? 0 : undefined}\n role={onSelect ? \"button\" : undefined}\n aria-label={shape.name}\n aria-pressed={onSelect ? isSelected : undefined}\n onClick={\n onSelect ? () => onSelect({ id: shape.id, name: shape.name }) : undefined\n }\n onMouseMove={\n showTooltip\n ? (e) => onMove({ id: shape.id, name: shape.name }, e)\n : undefined\n }\n onMouseLeave={showTooltip ? onLeave : undefined}\n onKeyDown={\n onSelect\n ? (e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n onSelect({ id: shape.id, name: shape.name });\n }\n }\n : undefined\n }\n />\n );\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n shapes,\n selectedSet,\n values,\n colorScale,\n minColor,\n maxColor,\n onSelect,\n showTooltip,\n onMove,\n onLeave,\n ]);\n\n const resolvedLabel = label ?? `Municípios de ${getState(uf)?.name ?? uf}`;\n\n return (\n <div\n ref={containerRef}\n className={cn(styles.map, className)}\n style={{ height, ...style }}\n role=\"group\"\n aria-label={resolvedLabel}\n {...rest}\n >\n {!shapes ? (\n <div className={styles.loading}>{loadingContent ?? \"Carregando municípios…\"}</div>\n ) : (\n <svg\n className={styles.svg}\n width=\"100%\"\n height={height}\n viewBox={`0 0 ${width} ${height}`}\n preserveAspectRatio=\"xMidYMid meet\"\n {...mapZoom.handlers}\n >\n <g transform={mapZoom.transform || undefined}>\n {cityEls}\n\n {showLabels &&\n shapes.items.map((shape) => (\n <text\n key={`label-${shape.id}`}\n className={styles.label}\n x={shape.centroid.x}\n y={shape.centroid.y}\n textAnchor=\"middle\"\n dominantBaseline=\"central\"\n >\n {shape.name}\n </text>\n ))}\n\n {markers && markers.length > 0 && (\n <MapMarkers\n projection={shapes.projection}\n markers={markers}\n onMarkerClick={onMarkerClick}\n />\n )}\n </g>\n </svg>\n )}\n\n {mapZoom.isTransformed && (\n <button type=\"button\" className={styles.zoomReset} onClick={mapZoom.reset}>\n Reset\n </button>\n )}\n\n {showTooltip && hover && (\n <MapTooltip x={hover.x} y={hover.y}>\n {renderTooltip ? (\n renderTooltip({\n ...hover.item,\n value: values?.[hover.item.id] ?? values?.[hover.item.name],\n })\n ) : (\n <>\n <div className={styles.tooltipTitle}>{hover.item.name}</div>\n <div className={styles.tooltipMeta}>\n IBGE {hover.item.id}\n {(() => {\n const v = values?.[hover.item.id] ?? values?.[hover.item.name];\n return typeof v === \"number\" ? ` · ${v}` : \"\";\n })()}\n </div>\n </>\n )}\n </MapTooltip>\n )}\n </div>\n );\n}\n","import { useMemo, useState, type ReactElement } from \"react\";\nimport { Select } from \"@/components/Select\";\nimport { cityChoices, listStates, normalizeUf, type UF } from \"./locations\";\n\n/** Current selection emitted by {@link BrazilStateCitySelect}. */\nexport interface BrazilStateCitySelection {\n /** Selected federative unit, or `null` when none. */\n uf: UF | null;\n /** Selected city, or `null` when none. */\n city: string | null;\n}\n\nexport interface BrazilStateCitySelectProps {\n /** Pre-selected UF (uncontrolled initial value). */\n defaultUf?: UF;\n /** Pre-selected city (uncontrolled initial value). */\n defaultCity?: string;\n /** Fired whenever the state or city changes. */\n onChange?: (selection: BrazilStateCitySelection) => void;\n /** Label for the state select. Default: `\"Estado\"`. */\n stateLabel?: string;\n /** Label for the city select. Default: `\"Cidade\"`. */\n cityLabel?: string;\n /** Placeholder for the state select. Default: `\"Selecione o estado\"`. */\n statePlaceholder?: string;\n /** Placeholder for the city select. Default: `\"Selecione a cidade\"`. */\n cityPlaceholder?: string;\n /** Disable both selects. */\n disabled?: boolean;\n /** Layout of the two selects. Default: `\"row\"`. */\n layout?: \"row\" | \"column\";\n}\n\n/**\n * Cascading Estado → Cidade selector backed by the bundled BR locations data —\n * pick a state and the city list narrows to that UF's municipalities. No\n * network, no external API. Complements {@link BrazilMap} (wire the map's\n * `onSelect` to drive the same UF).\n *\n * @example\n * <BrazilStateCitySelect onChange={({ uf, city }) => console.log(uf, city)} />\n */\nexport function BrazilStateCitySelect({\n defaultUf,\n defaultCity,\n onChange,\n stateLabel = \"Estado\",\n cityLabel = \"Cidade\",\n statePlaceholder = \"Selecione o estado\",\n cityPlaceholder = \"Selecione a cidade\",\n disabled = false,\n layout = \"row\",\n}: BrazilStateCitySelectProps): ReactElement {\n const [uf, setUf] = useState<UF | null>(defaultUf ?? null);\n const [city, setCity] = useState<string | null>(defaultCity ?? null);\n\n const stateOptions = useMemo(\n () => listStates().map((s) => ({ value: s.uf, label: s.name })),\n [],\n );\n const cityOptions = useMemo(() => (uf ? cityChoices(uf) : []), [uf]);\n\n function handleUf(next: string): void {\n const nextUf = normalizeUf(next);\n setUf(nextUf);\n setCity(null);\n onChange?.({ uf: nextUf, city: null });\n }\n\n function handleCity(next: string): void {\n const nextCity = next || null;\n setCity(nextCity);\n onChange?.({ uf, city: nextCity });\n }\n\n return (\n <div\n style={{\n display: \"flex\",\n flexDirection: layout === \"row\" ? \"row\" : \"column\",\n gap: \"var(--tempest-space-3, 12px)\",\n flexWrap: \"wrap\",\n }}\n >\n <Select\n label={stateLabel}\n placeholder={statePlaceholder}\n options={stateOptions}\n value={uf ?? \"\"}\n disabled={disabled}\n onChange={(e) => handleUf(e.target.value)}\n style={{ minWidth: 0 }}\n />\n <Select\n label={cityLabel}\n placeholder={cityPlaceholder}\n options={cityOptions}\n value={city ?? \"\"}\n disabled={disabled || !uf}\n onChange={(e) => handleCity(e.target.value)}\n style={{ minWidth: 0 }}\n />\n </div>\n );\n}\n","import { useEffect, useId, useRef, useState, type ReactElement } from \"react\";\nimport { Input } from \"@/components/Input\";\nimport { useDebounce } from \"@/hooks\";\nimport { searchMunicipalities, type MunicipalityCentroid } from \"./geocode\";\nimport type { UF } from \"./locations\";\nimport styles from \"./MunicipalitySearch.module.css\";\n\nexport interface MunicipalitySearchProps {\n /** Restrict the search to a single UF. */\n uf?: UF;\n /** Fired when a municipality is picked from the results. */\n onSelect: (municipality: MunicipalityCentroid) => void;\n /** Field label. */\n label?: string;\n /** Input placeholder. Default: `\"Buscar município…\"`. */\n placeholder?: string;\n /** Max results shown. Default: `8`. */\n limit?: number;\n /** Debounce in ms before searching. Default: `250`. */\n debounceMs?: number;\n /** Disable the field. */\n disabled?: boolean;\n}\n\n/**\n * Debounced municipality autocomplete backed by the offline\n * {@link searchMunicipalities} index — no network. Type a partial name, pick a\n * result, and `onSelect` fires with its `{ id, name, uf, latitude, longitude }`.\n * Wire `onSelect` to a `BrazilStateMap` `selected` to highlight it on the map.\n *\n * @example\n * const [uf, setUf] = useState<UF>(\"SP\");\n * const [city, setCity] = useState<string | null>(null);\n * <MunicipalitySearch uf={uf} onSelect={(m) => setCity(m.name)} />\n * <BrazilStateMap uf={uf} selected={city} />\n */\nexport function MunicipalitySearch({\n uf,\n onSelect,\n label,\n placeholder = \"Buscar município…\",\n limit = 8,\n debounceMs = 250,\n disabled = false,\n}: MunicipalitySearchProps): ReactElement {\n const [query, setQuery] = useState<string>(\"\");\n const [results, setResults] = useState<MunicipalityCentroid[]>([]);\n const [open, setOpen] = useState<boolean>(false);\n const debounced = useDebounce(query, debounceMs);\n const listId = useId();\n const blurTimer = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n useEffect(() => {\n let active = true;\n if (!debounced.trim()) {\n setResults([]);\n return;\n }\n void searchMunicipalities(debounced, { uf, limit }).then((hits) => {\n if (active) setResults(hits);\n });\n return () => {\n active = false;\n };\n }, [debounced, uf, limit]);\n\n function choose(municipality: MunicipalityCentroid): void {\n onSelect(municipality);\n setQuery(municipality.name);\n setOpen(false);\n }\n\n return (\n <div className={styles.search}>\n <Input\n label={label}\n value={query}\n placeholder={placeholder}\n disabled={disabled}\n role=\"combobox\"\n aria-expanded={open && results.length > 0}\n aria-controls={listId}\n autoComplete=\"off\"\n onChange={(e) => {\n setQuery(e.target.value);\n setOpen(true);\n }}\n onFocus={() => setOpen(true)}\n onBlur={() => {\n // Delay so a result click registers before the list closes.\n blurTimer.current = setTimeout(() => setOpen(false), 120);\n }}\n />\n {open && results.length > 0 && (\n <ul id={listId} className={styles.results} role=\"listbox\">\n {results.map((m) => (\n <li key={m.id}>\n <button\n type=\"button\"\n role=\"option\"\n aria-selected={false}\n className={styles.result}\n onMouseDown={(e) => e.preventDefault()}\n onClick={() => {\n if (blurTimer.current) clearTimeout(blurTimer.current);\n choose(m);\n }}\n >\n <span>{m.name}</span>\n <span className={styles.uf}>{m.uf}</span>\n </button>\n </li>\n ))}\n </ul>\n )}\n </div>\n );\n}\n","import { lerpColor } from \"./svg-utils\";\n\n/** Maps a numeric value to a CSS color string. */\nexport type ColorScale = (value: number) => string;\n\n/**\n * Sequential, colorblind-safe palettes (ColorBrewer / Viridis families, public\n * domain). Ordered light → dark. Swap for your brand ramp if needed — any\n * ordered list of hex colors works with the scale builders below.\n */\nexport const SEQUENTIAL_BLUES = [\n \"#eff3ff\",\n \"#c6dbef\",\n \"#9ecae1\",\n \"#6baed6\",\n \"#3182bd\",\n \"#08519c\",\n] as const;\n\nexport const SEQUENTIAL_GREENS = [\n \"#edf8e9\",\n \"#c7e9c0\",\n \"#a1d99b\",\n \"#74c476\",\n \"#31a354\",\n \"#006d2c\",\n] as const;\n\nexport const SEQUENTIAL_VIRIDIS = [\n \"#440154\",\n \"#414487\",\n \"#2a788e\",\n \"#22a884\",\n \"#7ad151\",\n \"#fde725\",\n] as const;\n\n/** Diverging palette (red ↔ neutral ↔ blue), for signed metrics. */\nexport const DIVERGING_RDBU = [\n \"#b2182b\",\n \"#ef8a62\",\n \"#fddbc7\",\n \"#d1e5f0\",\n \"#67a9cf\",\n \"#2166ac\",\n] as const;\n\n/**\n * Interpolate a palette at `t ∈ [0, 1]`, blending between the two nearest\n * stops. `t <= 0` → first color, `t >= 1` → last.\n */\nexport function interpolatePalette(palette: readonly string[], t: number): string {\n if (palette.length === 0) return \"#000000\";\n if (palette.length === 1) return palette[0];\n const clamped = Math.max(0, Math.min(1, t));\n const scaled = clamped * (palette.length - 1);\n const i = Math.floor(scaled);\n if (i >= palette.length - 1) return palette[palette.length - 1];\n return lerpColor(palette[i], palette[i + 1], scaled - i);\n}\n\n/**\n * Continuous scale: linearly interpolate `palette` across `[min, max]`.\n *\n * @example\n * const color = sequentialScale(0, 100, SEQUENTIAL_BLUES);\n * <BrazilMap values={data} colorScale={color} />;\n */\nexport function sequentialScale(\n min: number,\n max: number,\n palette: readonly string[] = SEQUENTIAL_BLUES,\n): ColorScale {\n const span = max - min || 1;\n return (value) => interpolatePalette(palette, (value - min) / span);\n}\n\n/**\n * Discrete scale: split `[min, max]` into `palette.length` equal buckets and\n * return the bucket's color (a classic choropleth \"quantize\" scale).\n */\nexport function quantizeScale(\n min: number,\n max: number,\n palette: readonly string[] = SEQUENTIAL_BLUES,\n): ColorScale {\n const span = max - min || 1;\n const n = palette.length;\n return (value) => {\n const idx = Math.min(n - 1, Math.max(0, Math.floor(((value - min) / span) * n)));\n return palette[idx];\n };\n}\n\n/**\n * Threshold scale: `palette[i]` applies to values in\n * `[thresholds[i-1], thresholds[i])`. `palette` must have\n * `thresholds.length + 1` entries.\n *\n * @example\n * const color = thresholdScale([10, 50, 100], SEQUENTIAL_GREENS.slice(0, 4));\n */\nexport function thresholdScale(\n thresholds: readonly number[],\n palette: readonly string[],\n): ColorScale {\n return (value) => {\n let i = 0;\n while (i < thresholds.length && value >= thresholds[i]) i += 1;\n return palette[Math.min(i, palette.length - 1)];\n };\n}\n","import type { HTMLAttributes, ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport { SEQUENTIAL_BLUES } from \"./scales\";\nimport styles from \"./MapLegend.module.css\";\n\n/** A discrete legend entry. */\nexport interface LegendItem {\n color: string;\n label: ReactNode;\n}\n\nexport interface MapLegendProps extends Omit<HTMLAttributes<HTMLDivElement>, \"title\"> {\n /** Legend heading. */\n title?: ReactNode;\n /**\n * Discrete entries (swatch + label). When provided the legend renders in\n * \"steps\" mode; otherwise it renders a continuous gradient from `min`/`max`.\n */\n items?: readonly LegendItem[];\n /** Continuous mode: low end of the domain. */\n min?: number;\n /** Continuous mode: high end of the domain. */\n max?: number;\n /** Continuous mode: palette (light → dark). Default: sequential blues. */\n palette?: readonly string[];\n /** Continuous mode: format the min/mid/max tick labels. */\n format?: (value: number) => string;\n}\n\n/**\n * Legend for a choropleth map. Renders a **continuous gradient** (with\n * min/mid/max ticks) from `min`/`max`/`palette`, or **discrete swatches** when\n * `items` is given. Pair it with a `BrazilMap`/`BrazilStateMap` `colorScale`.\n *\n * @example\n * // Continuous, matching a sequentialScale(0, 100)\n * <MapLegend title=\"Vendas\" min={0} max={100} palette={SEQUENTIAL_BLUES} />\n *\n * @example\n * // Discrete buckets\n * <MapLegend\n * title=\"Faixa\"\n * items={[\n * { color: \"#c6dbef\", label: \"< 10\" },\n * { color: \"#6baed6\", label: \"10–50\" },\n * { color: \"#08519c\", label: \"> 50\" },\n * ]}\n * />\n */\nexport function MapLegend({\n title,\n items,\n min = 0,\n max = 1,\n palette = SEQUENTIAL_BLUES,\n format = (v) => String(Math.round(v)),\n className,\n ...rest\n}: MapLegendProps) {\n return (\n <div className={cn(styles.legend, className)} {...rest}>\n {title != null && <div className={styles.title}>{title}</div>}\n\n {items ? (\n <ul className={styles.items}>\n {items.map((item, i) => (\n <li key={i} className={styles.item}>\n <span className={styles.swatch} style={{ background: item.color }} />\n <span className={styles.itemLabel}>{item.label}</span>\n </li>\n ))}\n </ul>\n ) : (\n <>\n <div\n className={styles.gradient}\n style={{ background: `linear-gradient(to right, ${palette.join(\", \")})` }}\n />\n <div className={styles.ticks}>\n <span>{format(min)}</span>\n <span>{format((min + max) / 2)}</span>\n <span>{format(max)}</span>\n </div>\n </>\n )}\n </div>\n );\n}\n","// Brazilian locations data (states + cities) — mirrors the `utils/locations`\n// module of tempest-fastapi-sdk.\nexport {\n listStates,\n getState,\n citiesByUf,\n statesByRegion,\n isValidUf,\n normalizeUf,\n isValidCity,\n ufChoices,\n cityChoices,\n} from \"./locations\";\nexport type { UF, BrRegion, BrazilState, Choice } from \"./locations\";\n\n// UF GeoJSON types (the geometry itself is lazy-loaded by BrazilMap).\nimport type { BrUfFeatureCollection } from \"./br-geo\";\nexport type { BrUfFeature, BrUfFeatureCollection, BrUfGeometry, Ring } from \"./br-geo\";\n\n/**\n * Lazily load the bundled simplified UF GeoJSON (~36 KB gzip). Kept out of the\n * synchronous barrel so a data-only import never pulls the geometry.\n */\nexport async function loadBrUfGeoJson(): Promise<BrUfFeatureCollection> {\n const mod = await import(\"./br-geo\");\n return mod.BR_UF_GEOJSON;\n}\n\n// Per-state municipality geometry (lazy, one chunk per UF).\nexport { loadStateMunicipalities } from \"./state-geo\";\nexport type { MunicipalityFeature, StateMunicipalities } from \"./state-geo\";\n\n// Offline geocoding (lazy centroid index).\nexport {\n nearestMunicipality,\n reverseGeocode,\n geocodeMunicipality,\n searchMunicipalities,\n municipalityCentroid,\n stateCentroid,\n} from \"./geocode\";\nexport type { MunicipalityCentroid, NearestMunicipality, ReverseGeocodeResult } from \"./geocode\";\n\n// Components\nexport { BrazilMap } from \"./BrazilMap\";\nexport type { BrazilMapProps, BrazilMapTooltipData } from \"./BrazilMap\";\nexport { BrazilStateMap } from \"./BrazilStateMap\";\nexport type {\n BrazilStateMapProps,\n BrazilStateMapTooltipData,\n Municipality,\n} from \"./BrazilStateMap\";\nexport { BrazilStateCitySelect } from \"./BrazilStateCitySelect\";\nexport type { BrazilStateCitySelectProps, BrazilStateCitySelection } from \"./BrazilStateCitySelect\";\nexport { MunicipalitySearch } from \"./MunicipalitySearch\";\nexport type { MunicipalitySearchProps } from \"./MunicipalitySearch\";\nexport type { GeoMarker } from \"@/geo/types\";\nexport { MapMarkers } from \"./MapMarkers\";\nexport type { MapMarkersProps } from \"./MapMarkers\";\nexport { MapLegend } from \"./MapLegend\";\nexport type { MapLegendProps, LegendItem } from \"./MapLegend\";\n\n// Color scales + palettes for choropleths.\nexport {\n interpolatePalette,\n sequentialScale,\n quantizeScale,\n thresholdScale,\n SEQUENTIAL_BLUES,\n SEQUENTIAL_GREENS,\n SEQUENTIAL_VIRIDIS,\n DIVERGING_RDBU,\n} from \"./scales\";\nexport type { ColorScale } from \"./scales\";\nexport { REGION_COLORS, regionLegendItems } from \"./regions\";\n"],"names":["REGION_BY_UF","RAW","rawLocations","STATES","entry","uf","b","STATE_BY_UF","s","listStates","getState","normalized","normalizeUf","citiesByUf","statesByRegion","region","isValidUf","value","upper","isValidCity","city","target","c","ufChoices","cityChoices","LOADERS","loadStateMunicipalities","loader","mod","cache","pending","normalizeName","loadIndex","raw","states","lon","lat","id","name","nearestMunicipality","coord","municipalities","best","bestDistance","m","d","haversineKm","geocodeMunicipality","searchMunicipalities","query","options","limit","q","a","ap","bp","municipalityCentroid","stateCentroid","pointInRing","ring","inside","i","j","xi","yi","xj","yj","pointInPolygon","rings","pointInGeometry","geom","poly","reverseGeocode","nearest","hit","f","fallback","MapMarkers","projection","markers","onMarkerClick","jsx","styles","marker","index","p","interactive","e","MapTooltip","x","y","children","className","cn","REGION_COLORS","regionLegendItems","MIN_K","MAX_K","useMapZoom","enabled","t","setT","useState","drag","useRef","reset","useCallback","onWheel","rect","cx","cy","prev","factor","k","scale","onPointerDown","onPointerMove","dx","dy","endDrag","isTransformed","ringsOf","geometry","geometriesBounds","geometries","minLat","maxLat","minLon","maxLon","geometryPath","geometryCentroid","outer","sx","sy","n","lerpColor","from","to","parse","hex","full","ch","r1","g1","b1","r2","g2","b2","mix","useMapHover","containerRef","hover","setHover","onMove","item","event","onLeave","BrazilMap","selected","onSelect","values","minColor","maxColor","colorScale","colorByRegion","height","padding","showLabels","label","loadingContent","showTooltip","renderTooltip","zoomable","style","rest","width","setWidth","collection","setCollection","mapZoom","useEffect","active","node","observer","entries","measured","selectedSet","useMemo","valueRange","nums","v","shapes","fitProjection","items","feature","fillFor","min","max","stateEls","shape","isSelected","fillColor","jsxs","DefaultUfTooltip","state","Fragment","BrazilStateMap","data","cityEls","resolvedLabel","BrazilStateCitySelect","defaultUf","defaultCity","onChange","stateLabel","cityLabel","statePlaceholder","cityPlaceholder","disabled","layout","setUf","setCity","stateOptions","cityOptions","handleUf","next","nextUf","handleCity","nextCity","Select","MunicipalitySearch","placeholder","debounceMs","setQuery","results","setResults","open","setOpen","debounced","useDebounce","listId","useId","blurTimer","hits","choose","municipality","Input","SEQUENTIAL_BLUES","SEQUENTIAL_GREENS","SEQUENTIAL_VIRIDIS","DIVERGING_RDBU","interpolatePalette","palette","scaled","sequentialScale","span","quantizeScale","idx","thresholdScale","thresholds","MapLegend","title","format","loadBrUfGeoJson"],"mappings":"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"}
1
+ {"version":3,"file":"br.js","names":[],"sources":["../src/br/index.ts"],"sourcesContent":["// Brazilian locations data (states + cities) — mirrors the `utils/locations`\n// module of tempest-fastapi-sdk.\nexport {\n listStates,\n getState,\n citiesByUf,\n statesByRegion,\n isValidUf,\n normalizeUf,\n isValidCity,\n ufChoices,\n cityChoices,\n} from \"./locations\";\nexport type { UF, BrRegion, BrazilState, Choice } from \"./locations\";\n\n// UF GeoJSON types (the geometry itself is lazy-loaded by BrazilMap).\nimport type { BrUfFeatureCollection } from \"./br-geo\";\nexport type { BrUfFeature, BrUfFeatureCollection, BrUfGeometry, Ring } from \"./br-geo\";\n\n/**\n * Lazily load the bundled simplified UF GeoJSON (~36 KB gzip). Kept out of the\n * synchronous barrel so a data-only import never pulls the geometry.\n */\nexport async function loadBrUfGeoJson(): Promise<BrUfFeatureCollection> {\n const mod = await import(\"./br-geo\");\n return mod.BR_UF_GEOJSON;\n}\n\n// Per-state municipality geometry (lazy, one chunk per UF).\nexport { loadStateMunicipalities } from \"./state-geo\";\nexport type { MunicipalityFeature, StateMunicipalities } from \"./state-geo\";\n\n// Offline geocoding (lazy centroid index).\nexport {\n nearestMunicipality,\n reverseGeocode,\n geocodeMunicipality,\n searchMunicipalities,\n municipalityCentroid,\n stateCentroid,\n} from \"./geocode\";\nexport type { MunicipalityCentroid, NearestMunicipality, ReverseGeocodeResult } from \"./geocode\";\n\n// Components\nexport { BrazilMap } from \"./BrazilMap\";\nexport type { BrazilMapProps, BrazilMapTooltipData } from \"./BrazilMap\";\nexport { BrazilStateMap } from \"./BrazilStateMap\";\nexport type {\n BrazilStateMapProps,\n BrazilStateMapTooltipData,\n Municipality,\n} from \"./BrazilStateMap\";\nexport { BrazilStateCitySelect } from \"./BrazilStateCitySelect\";\nexport type { BrazilStateCitySelectProps, BrazilStateCitySelection } from \"./BrazilStateCitySelect\";\nexport { MunicipalitySearch } from \"./MunicipalitySearch\";\nexport type { MunicipalitySearchProps } from \"./MunicipalitySearch\";\nexport type { GeoMarker } from \"@/geo/types\";\nexport { MapMarkers } from \"./MapMarkers\";\nexport type { MapMarkersProps } from \"./MapMarkers\";\nexport { MapLegend } from \"./MapLegend\";\nexport type { MapLegendProps, LegendItem } from \"./MapLegend\";\n\n// Color scales + palettes for choropleths.\nexport {\n interpolatePalette,\n sequentialScale,\n quantizeScale,\n thresholdScale,\n SEQUENTIAL_BLUES,\n SEQUENTIAL_GREENS,\n SEQUENTIAL_VIRIDIS,\n DIVERGING_RDBU,\n} from \"./scales\";\nexport type { ColorScale } from \"./scales\";\nexport { REGION_COLORS, regionLegendItems } from \"./regions\";\n"],"mappings":";;;;;;;;;;;;AAuBA,eAAsB,IAAkD;CAEpE,QAAO,MADW,OAAO,kBAAA,CACd;AACf"}
@@ -0,0 +1,2 @@
1
+ const e=require("../utils/cn.cjs"),t=require("./palette.cjs"),n=require("./types.cjs");let r=require("react/jsx-runtime"),i=require("recharts");function a({data:a,index:o,categories:s,colors:c=t.DEFAULT_CHART_COLORS,height:l=300,width:u,stack:d=!1,showLegend:f=!0,showGrid:p=!0,showTooltip:m=!0,valueFormatter:h,className:g}){let _=d?`stack`:void 0,v=(0,r.jsxs)(i.AreaChart,{data:a,width:u,height:l,children:[p?(0,r.jsx)(i.CartesianGrid,{strokeDasharray:`3 3`}):null,(0,r.jsx)(i.XAxis,{dataKey:o}),(0,r.jsx)(i.YAxis,{tickFormatter:h}),m?(0,r.jsx)(i.Tooltip,{formatter:n.toTooltipFormatter(h)}):null,f?(0,r.jsx)(i.Legend,{}):null,s.map((e,t)=>{let n=c[t%c.length];return(0,r.jsx)(i.Area,{type:`monotone`,dataKey:e,stackId:_,stroke:n,fill:n,fillOpacity:.3},e)})]});return(0,r.jsx)(`div`,{className:e.cn(g),children:u===void 0?(0,r.jsx)(i.ResponsiveContainer,{width:`100%`,height:l,children:v}):v})}exports.AreaChart=a;
2
+ //# sourceMappingURL=AreaChart.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AreaChart.cjs","names":[],"sources":["../../src/charts/AreaChart.tsx"],"sourcesContent":["import {\n Area,\n AreaChart as RAreaChart,\n CartesianGrid,\n Legend,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from \"recharts\";\nimport { cn } from \"@/utils/cn\";\nimport { DEFAULT_CHART_COLORS } from \"./palette\";\nimport { toTooltipFormatter } from \"./types\";\nimport type { CartesianChartProps } from \"./types\";\n\n/**\n * AreaChart — themed wrapper over recharts `AreaChart`.\n *\n * Plots one filled area per entry in `categories`, colored from `colors`\n * (cycling {@link DEFAULT_CHART_COLORS} by default). When `stack` is set, all\n * areas share a stackId. When `width` is provided the chart renders at that\n * fixed size without a ResponsiveContainer; otherwise it fills its parent.\n */\nexport function AreaChart({\n data,\n index,\n categories,\n colors = DEFAULT_CHART_COLORS,\n height = 300,\n width,\n stack = false,\n showLegend = true,\n showGrid = true,\n showTooltip = true,\n valueFormatter,\n className,\n}: CartesianChartProps) {\n const stackId = stack ? \"stack\" : undefined;\n\n const chart = (\n <RAreaChart data={data} width={width} height={height}>\n {showGrid ? <CartesianGrid strokeDasharray=\"3 3\" /> : null}\n <XAxis dataKey={index} />\n <YAxis tickFormatter={valueFormatter} />\n {showTooltip ? <Tooltip formatter={toTooltipFormatter(valueFormatter)} /> : null}\n {showLegend ? <Legend /> : null}\n {categories.map((category, i) => {\n const color = colors[i % colors.length];\n return (\n <Area\n key={category}\n type=\"monotone\"\n dataKey={category}\n stackId={stackId}\n stroke={color}\n fill={color}\n fillOpacity={0.3}\n />\n );\n })}\n </RAreaChart>\n );\n\n return (\n <div className={cn(className)}>\n {width !== undefined ? (\n chart\n ) : (\n <ResponsiveContainer width=\"100%\" height={height}>\n {chart}\n </ResponsiveContainer>\n )}\n </div>\n );\n}\n"],"mappings":"gJAuBA,SAAgB,EAAU,CACtB,OACA,QACA,aACA,SAAS,EAAA,qBACT,SAAS,IACT,QACA,QAAQ,GACR,aAAa,GACb,WAAW,GACX,cAAc,GACd,iBACA,aACoB,CACpB,IAAM,EAAU,EAAQ,QAAU,IAAA,GAE5B,GACF,EAAA,EAAA,KAAA,CAAC,EAAA,UAAD,CAAkB,OAAa,QAAe,kBAA9C,CACK,GAAW,EAAA,EAAA,IAAA,CAAC,EAAA,cAAD,CAAe,gBAAgB,KAAO,CAAA,EAAI,MACtD,EAAA,EAAA,IAAA,CAAC,EAAA,MAAD,CAAO,QAAS,CAAQ,CAAA,GACxB,EAAA,EAAA,IAAA,CAAC,EAAA,MAAD,CAAO,cAAe,CAAiB,CAAA,EACtC,GAAc,EAAA,EAAA,IAAA,CAAC,EAAA,QAAD,CAAS,UAAW,EAAA,mBAAmB,CAAc,CAAI,CAAA,EAAI,KAC3E,GAAa,EAAA,EAAA,IAAA,CAAC,EAAA,OAAD,CAAS,CAAA,EAAI,KAC1B,EAAW,KAAK,EAAU,IAAM,CAC7B,IAAM,EAAQ,EAAO,EAAI,EAAO,QAChC,OACI,EAAA,EAAA,IAAA,CAAC,EAAA,KAAD,CAEI,KAAK,WACL,QAAS,EACA,UACT,OAAQ,EACR,KAAM,EACN,YAAa,EAChB,EAPQ,CAOR,CAET,CAAC,CACO,IAGhB,OACI,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAW,EAAA,GAAG,CAAS,WACvB,IAAU,IAAA,IAGP,EAAA,EAAA,IAAA,CAAC,EAAA,oBAAD,CAAqB,MAAM,OAAe,kBACrC,CACgB,CAAA,EAJrB,CAMH,CAAA,CAEb"}
@@ -0,0 +1,43 @@
1
+ import { cn as e } from "../utils/cn.js";
2
+ import { DEFAULT_CHART_COLORS as t } from "./palette.js";
3
+ import { toTooltipFormatter as n } from "./types.js";
4
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
+ import { Area as a, AreaChart as o, CartesianGrid as s, Legend as c, ResponsiveContainer as l, Tooltip as u, XAxis as d, YAxis as f } from "recharts";
6
+ //#region src/charts/AreaChart.tsx
7
+ function p({ data: p, index: m, categories: h, colors: g = t, height: _ = 300, width: v, stack: y = !1, showLegend: b = !0, showGrid: x = !0, showTooltip: S = !0, valueFormatter: C, className: w }) {
8
+ let T = y ? "stack" : void 0, E = /* @__PURE__ */ i(o, {
9
+ data: p,
10
+ width: v,
11
+ height: _,
12
+ children: [
13
+ x ? /* @__PURE__ */ r(s, { strokeDasharray: "3 3" }) : null,
14
+ /* @__PURE__ */ r(d, { dataKey: m }),
15
+ /* @__PURE__ */ r(f, { tickFormatter: C }),
16
+ S ? /* @__PURE__ */ r(u, { formatter: n(C) }) : null,
17
+ b ? /* @__PURE__ */ r(c, {}) : null,
18
+ h.map((e, t) => {
19
+ let n = g[t % g.length];
20
+ return /* @__PURE__ */ r(a, {
21
+ type: "monotone",
22
+ dataKey: e,
23
+ stackId: T,
24
+ stroke: n,
25
+ fill: n,
26
+ fillOpacity: .3
27
+ }, e);
28
+ })
29
+ ]
30
+ });
31
+ return /* @__PURE__ */ r("div", {
32
+ className: e(w),
33
+ children: v === void 0 ? /* @__PURE__ */ r(l, {
34
+ width: "100%",
35
+ height: _,
36
+ children: E
37
+ }) : E
38
+ });
39
+ }
40
+ //#endregion
41
+ export { p as AreaChart };
42
+
43
+ //# sourceMappingURL=AreaChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AreaChart.js","names":[],"sources":["../../src/charts/AreaChart.tsx"],"sourcesContent":["import {\n Area,\n AreaChart as RAreaChart,\n CartesianGrid,\n Legend,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from \"recharts\";\nimport { cn } from \"@/utils/cn\";\nimport { DEFAULT_CHART_COLORS } from \"./palette\";\nimport { toTooltipFormatter } from \"./types\";\nimport type { CartesianChartProps } from \"./types\";\n\n/**\n * AreaChart — themed wrapper over recharts `AreaChart`.\n *\n * Plots one filled area per entry in `categories`, colored from `colors`\n * (cycling {@link DEFAULT_CHART_COLORS} by default). When `stack` is set, all\n * areas share a stackId. When `width` is provided the chart renders at that\n * fixed size without a ResponsiveContainer; otherwise it fills its parent.\n */\nexport function AreaChart({\n data,\n index,\n categories,\n colors = DEFAULT_CHART_COLORS,\n height = 300,\n width,\n stack = false,\n showLegend = true,\n showGrid = true,\n showTooltip = true,\n valueFormatter,\n className,\n}: CartesianChartProps) {\n const stackId = stack ? \"stack\" : undefined;\n\n const chart = (\n <RAreaChart data={data} width={width} height={height}>\n {showGrid ? <CartesianGrid strokeDasharray=\"3 3\" /> : null}\n <XAxis dataKey={index} />\n <YAxis tickFormatter={valueFormatter} />\n {showTooltip ? <Tooltip formatter={toTooltipFormatter(valueFormatter)} /> : null}\n {showLegend ? <Legend /> : null}\n {categories.map((category, i) => {\n const color = colors[i % colors.length];\n return (\n <Area\n key={category}\n type=\"monotone\"\n dataKey={category}\n stackId={stackId}\n stroke={color}\n fill={color}\n fillOpacity={0.3}\n />\n );\n })}\n </RAreaChart>\n );\n\n return (\n <div className={cn(className)}>\n {width !== undefined ? (\n chart\n ) : (\n <ResponsiveContainer width=\"100%\" height={height}>\n {chart}\n </ResponsiveContainer>\n )}\n </div>\n );\n}\n"],"mappings":";;;;;;AAuBA,SAAgB,EAAU,EACtB,SACA,UACA,eACA,YAAS,GACT,YAAS,KACT,UACA,WAAQ,IACR,gBAAa,IACb,cAAW,IACX,iBAAc,IACd,mBACA,gBACoB;CACpB,IAAM,IAAU,IAAQ,UAAU,KAAA,GAE5B,IACF,kBAAC,GAAD;EAAkB;EAAa;EAAe;YAA9C;GACK,IAAW,kBAAC,GAAD,EAAe,iBAAgB,MAAO,CAAA,IAAI;GACtD,kBAAC,GAAD,EAAO,SAAS,EAAQ,CAAA;GACxB,kBAAC,GAAD,EAAO,eAAe,EAAiB,CAAA;GACtC,IAAc,kBAAC,GAAD,EAAS,WAAW,EAAmB,CAAc,EAAI,CAAA,IAAI;GAC3E,IAAa,kBAAC,GAAD,CAAS,CAAA,IAAI;GAC1B,EAAW,KAAK,GAAU,MAAM;IAC7B,IAAM,IAAQ,EAAO,IAAI,EAAO;IAChC,OACI,kBAAC,GAAD;KAEI,MAAK;KACL,SAAS;KACA;KACT,QAAQ;KACR,MAAM;KACN,aAAa;IAChB,GAPQ,CAOR;GAET,CAAC;EACO;;CAGhB,OACI,kBAAC,OAAD;EAAK,WAAW,EAAG,CAAS;YACvB,MAAU,KAAA,IAGP,kBAAC,GAAD;GAAqB,OAAM;GAAe;aACrC;EACgB,CAAA,IAJrB;CAMH,CAAA;AAEb"}
@@ -0,0 +1,2 @@
1
+ const e=require("../utils/cn.cjs"),t=require("./palette.cjs"),n=require("./types.cjs");let r=require("react/jsx-runtime"),i=require("recharts");function a({data:a,index:o,categories:s,colors:c=t.DEFAULT_CHART_COLORS,height:l=300,width:u,stack:d=!1,showLegend:f=!0,showGrid:p=!0,showTooltip:m=!0,valueFormatter:h,className:g}){let _=d?`stack`:void 0,v=(0,r.jsxs)(i.BarChart,{data:a,width:u,height:l,children:[p?(0,r.jsx)(i.CartesianGrid,{strokeDasharray:`3 3`}):null,(0,r.jsx)(i.XAxis,{dataKey:o}),(0,r.jsx)(i.YAxis,{tickFormatter:h}),m?(0,r.jsx)(i.Tooltip,{formatter:n.toTooltipFormatter(h)}):null,f?(0,r.jsx)(i.Legend,{}):null,s.map((e,t)=>(0,r.jsx)(i.Bar,{dataKey:e,stackId:_,fill:c[t%c.length]},e))]});return(0,r.jsx)(`div`,{className:e.cn(g),children:u===void 0?(0,r.jsx)(i.ResponsiveContainer,{width:`100%`,height:l,children:v}):v})}exports.BarChart=a;
2
+ //# sourceMappingURL=BarChart.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BarChart.cjs","names":[],"sources":["../../src/charts/BarChart.tsx"],"sourcesContent":["import {\n Bar,\n BarChart as RBarChart,\n CartesianGrid,\n Legend,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from \"recharts\";\nimport { cn } from \"@/utils/cn\";\nimport { DEFAULT_CHART_COLORS } from \"./palette\";\nimport { toTooltipFormatter } from \"./types\";\nimport type { CartesianChartProps } from \"./types\";\n\n/**\n * BarChart — themed wrapper over recharts `BarChart`.\n *\n * Plots one bar series per entry in `categories`, colored from `colors`\n * (cycling {@link DEFAULT_CHART_COLORS} by default). When `stack` is set, all\n * bars share a stackId. When `width` is provided the chart renders at that\n * fixed size without a ResponsiveContainer; otherwise it fills its parent.\n */\nexport function BarChart({\n data,\n index,\n categories,\n colors = DEFAULT_CHART_COLORS,\n height = 300,\n width,\n stack = false,\n showLegend = true,\n showGrid = true,\n showTooltip = true,\n valueFormatter,\n className,\n}: CartesianChartProps) {\n const stackId = stack ? \"stack\" : undefined;\n\n const chart = (\n <RBarChart data={data} width={width} height={height}>\n {showGrid ? <CartesianGrid strokeDasharray=\"3 3\" /> : null}\n <XAxis dataKey={index} />\n <YAxis tickFormatter={valueFormatter} />\n {showTooltip ? <Tooltip formatter={toTooltipFormatter(valueFormatter)} /> : null}\n {showLegend ? <Legend /> : null}\n {categories.map((category, i) => (\n <Bar\n key={category}\n dataKey={category}\n stackId={stackId}\n fill={colors[i % colors.length]}\n />\n ))}\n </RBarChart>\n );\n\n return (\n <div className={cn(className)}>\n {width !== undefined ? (\n chart\n ) : (\n <ResponsiveContainer width=\"100%\" height={height}>\n {chart}\n </ResponsiveContainer>\n )}\n </div>\n );\n}\n"],"mappings":"gJAuBA,SAAgB,EAAS,CACrB,OACA,QACA,aACA,SAAS,EAAA,qBACT,SAAS,IACT,QACA,QAAQ,GACR,aAAa,GACb,WAAW,GACX,cAAc,GACd,iBACA,aACoB,CACpB,IAAM,EAAU,EAAQ,QAAU,IAAA,GAE5B,GACF,EAAA,EAAA,KAAA,CAAC,EAAA,SAAD,CAAiB,OAAa,QAAe,kBAA7C,CACK,GAAW,EAAA,EAAA,IAAA,CAAC,EAAA,cAAD,CAAe,gBAAgB,KAAO,CAAA,EAAI,MACtD,EAAA,EAAA,IAAA,CAAC,EAAA,MAAD,CAAO,QAAS,CAAQ,CAAA,GACxB,EAAA,EAAA,IAAA,CAAC,EAAA,MAAD,CAAO,cAAe,CAAiB,CAAA,EACtC,GAAc,EAAA,EAAA,IAAA,CAAC,EAAA,QAAD,CAAS,UAAW,EAAA,mBAAmB,CAAc,CAAI,CAAA,EAAI,KAC3E,GAAa,EAAA,EAAA,IAAA,CAAC,EAAA,OAAD,CAAS,CAAA,EAAI,KAC1B,EAAW,KAAK,EAAU,KACvB,EAAA,EAAA,IAAA,CAAC,EAAA,IAAD,CAEI,QAAS,EACA,UACT,KAAM,EAAO,EAAI,EAAO,OAC3B,EAJQ,CAIR,CACJ,CACM,IAGf,OACI,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAW,EAAA,GAAG,CAAS,WACvB,IAAU,IAAA,IAGP,EAAA,EAAA,IAAA,CAAC,EAAA,oBAAD,CAAqB,MAAM,OAAe,kBACrC,CACgB,CAAA,EAJrB,CAMH,CAAA,CAEb"}
@@ -0,0 +1,37 @@
1
+ import { cn as e } from "../utils/cn.js";
2
+ import { DEFAULT_CHART_COLORS as t } from "./palette.js";
3
+ import { toTooltipFormatter as n } from "./types.js";
4
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
+ import { Bar as a, BarChart as o, CartesianGrid as s, Legend as c, ResponsiveContainer as l, Tooltip as u, XAxis as d, YAxis as f } from "recharts";
6
+ //#region src/charts/BarChart.tsx
7
+ function p({ data: p, index: m, categories: h, colors: g = t, height: _ = 300, width: v, stack: y = !1, showLegend: b = !0, showGrid: x = !0, showTooltip: S = !0, valueFormatter: C, className: w }) {
8
+ let T = y ? "stack" : void 0, E = /* @__PURE__ */ i(o, {
9
+ data: p,
10
+ width: v,
11
+ height: _,
12
+ children: [
13
+ x ? /* @__PURE__ */ r(s, { strokeDasharray: "3 3" }) : null,
14
+ /* @__PURE__ */ r(d, { dataKey: m }),
15
+ /* @__PURE__ */ r(f, { tickFormatter: C }),
16
+ S ? /* @__PURE__ */ r(u, { formatter: n(C) }) : null,
17
+ b ? /* @__PURE__ */ r(c, {}) : null,
18
+ h.map((e, t) => /* @__PURE__ */ r(a, {
19
+ dataKey: e,
20
+ stackId: T,
21
+ fill: g[t % g.length]
22
+ }, e))
23
+ ]
24
+ });
25
+ return /* @__PURE__ */ r("div", {
26
+ className: e(w),
27
+ children: v === void 0 ? /* @__PURE__ */ r(l, {
28
+ width: "100%",
29
+ height: _,
30
+ children: E
31
+ }) : E
32
+ });
33
+ }
34
+ //#endregion
35
+ export { p as BarChart };
36
+
37
+ //# sourceMappingURL=BarChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BarChart.js","names":[],"sources":["../../src/charts/BarChart.tsx"],"sourcesContent":["import {\n Bar,\n BarChart as RBarChart,\n CartesianGrid,\n Legend,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from \"recharts\";\nimport { cn } from \"@/utils/cn\";\nimport { DEFAULT_CHART_COLORS } from \"./palette\";\nimport { toTooltipFormatter } from \"./types\";\nimport type { CartesianChartProps } from \"./types\";\n\n/**\n * BarChart — themed wrapper over recharts `BarChart`.\n *\n * Plots one bar series per entry in `categories`, colored from `colors`\n * (cycling {@link DEFAULT_CHART_COLORS} by default). When `stack` is set, all\n * bars share a stackId. When `width` is provided the chart renders at that\n * fixed size without a ResponsiveContainer; otherwise it fills its parent.\n */\nexport function BarChart({\n data,\n index,\n categories,\n colors = DEFAULT_CHART_COLORS,\n height = 300,\n width,\n stack = false,\n showLegend = true,\n showGrid = true,\n showTooltip = true,\n valueFormatter,\n className,\n}: CartesianChartProps) {\n const stackId = stack ? \"stack\" : undefined;\n\n const chart = (\n <RBarChart data={data} width={width} height={height}>\n {showGrid ? <CartesianGrid strokeDasharray=\"3 3\" /> : null}\n <XAxis dataKey={index} />\n <YAxis tickFormatter={valueFormatter} />\n {showTooltip ? <Tooltip formatter={toTooltipFormatter(valueFormatter)} /> : null}\n {showLegend ? <Legend /> : null}\n {categories.map((category, i) => (\n <Bar\n key={category}\n dataKey={category}\n stackId={stackId}\n fill={colors[i % colors.length]}\n />\n ))}\n </RBarChart>\n );\n\n return (\n <div className={cn(className)}>\n {width !== undefined ? (\n chart\n ) : (\n <ResponsiveContainer width=\"100%\" height={height}>\n {chart}\n </ResponsiveContainer>\n )}\n </div>\n );\n}\n"],"mappings":";;;;;;AAuBA,SAAgB,EAAS,EACrB,SACA,UACA,eACA,YAAS,GACT,YAAS,KACT,UACA,WAAQ,IACR,gBAAa,IACb,cAAW,IACX,iBAAc,IACd,mBACA,gBACoB;CACpB,IAAM,IAAU,IAAQ,UAAU,KAAA,GAE5B,IACF,kBAAC,GAAD;EAAiB;EAAa;EAAe;YAA7C;GACK,IAAW,kBAAC,GAAD,EAAe,iBAAgB,MAAO,CAAA,IAAI;GACtD,kBAAC,GAAD,EAAO,SAAS,EAAQ,CAAA;GACxB,kBAAC,GAAD,EAAO,eAAe,EAAiB,CAAA;GACtC,IAAc,kBAAC,GAAD,EAAS,WAAW,EAAmB,CAAc,EAAI,CAAA,IAAI;GAC3E,IAAa,kBAAC,GAAD,CAAS,CAAA,IAAI;GAC1B,EAAW,KAAK,GAAU,MACvB,kBAAC,GAAD;IAEI,SAAS;IACA;IACT,MAAM,EAAO,IAAI,EAAO;GAC3B,GAJQ,CAIR,CACJ;EACM;;CAGf,OACI,kBAAC,OAAD;EAAK,WAAW,EAAG,CAAS;YACvB,MAAU,KAAA,IAGP,kBAAC,GAAD;GAAqB,OAAM;GAAe;aACrC;EACgB,CAAA,IAJrB;CAMH,CAAA;AAEb"}
@@ -0,0 +1,2 @@
1
+ const e=require("../utils/cn.cjs"),t=require("./palette.cjs"),n=require("./types.cjs");let r=require("react/jsx-runtime"),i=require("recharts");function a({data:a,index:o,categories:s,colors:c=t.DEFAULT_CHART_COLORS,height:l=300,width:u,showLegend:d=!0,showGrid:f=!0,showTooltip:p=!0,valueFormatter:m,className:h}){let g=(0,r.jsxs)(i.LineChart,{data:a,width:u,height:l,children:[f?(0,r.jsx)(i.CartesianGrid,{strokeDasharray:`3 3`}):null,(0,r.jsx)(i.XAxis,{dataKey:o}),(0,r.jsx)(i.YAxis,{tickFormatter:m}),p?(0,r.jsx)(i.Tooltip,{formatter:n.toTooltipFormatter(m)}):null,d?(0,r.jsx)(i.Legend,{}):null,s.map((e,t)=>(0,r.jsx)(i.Line,{type:`monotone`,dataKey:e,stroke:c[t%c.length],dot:!1},e))]});return(0,r.jsx)(`div`,{className:e.cn(h),children:u===void 0?(0,r.jsx)(i.ResponsiveContainer,{width:`100%`,height:l,children:g}):g})}exports.LineChart=a;
2
+ //# sourceMappingURL=LineChart.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LineChart.cjs","names":[],"sources":["../../src/charts/LineChart.tsx"],"sourcesContent":["import {\n CartesianGrid,\n Legend,\n Line,\n LineChart as RLineChart,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from \"recharts\";\nimport { cn } from \"@/utils/cn\";\nimport { DEFAULT_CHART_COLORS } from \"./palette\";\nimport { toTooltipFormatter } from \"./types\";\nimport type { CartesianChartProps } from \"./types\";\n\n/**\n * LineChart — themed wrapper over recharts `LineChart`.\n *\n * Plots one line per entry in `categories`, colored from `colors` (cycling\n * {@link DEFAULT_CHART_COLORS} by default). `stack` is accepted for API parity\n * but does not visually stack lines. When `width` is provided the chart renders\n * at that fixed size without a ResponsiveContainer; otherwise it fills its\n * parent.\n */\nexport function LineChart({\n data,\n index,\n categories,\n colors = DEFAULT_CHART_COLORS,\n height = 300,\n width,\n showLegend = true,\n showGrid = true,\n showTooltip = true,\n valueFormatter,\n className,\n}: CartesianChartProps) {\n const chart = (\n <RLineChart data={data} width={width} height={height}>\n {showGrid ? <CartesianGrid strokeDasharray=\"3 3\" /> : null}\n <XAxis dataKey={index} />\n <YAxis tickFormatter={valueFormatter} />\n {showTooltip ? <Tooltip formatter={toTooltipFormatter(valueFormatter)} /> : null}\n {showLegend ? <Legend /> : null}\n {categories.map((category, i) => (\n <Line\n key={category}\n type=\"monotone\"\n dataKey={category}\n stroke={colors[i % colors.length]}\n dot={false}\n />\n ))}\n </RLineChart>\n );\n\n return (\n <div className={cn(className)}>\n {width !== undefined ? (\n chart\n ) : (\n <ResponsiveContainer width=\"100%\" height={height}>\n {chart}\n </ResponsiveContainer>\n )}\n </div>\n );\n}\n"],"mappings":"gJAwBA,SAAgB,EAAU,CACtB,OACA,QACA,aACA,SAAS,EAAA,qBACT,SAAS,IACT,QACA,aAAa,GACb,WAAW,GACX,cAAc,GACd,iBACA,aACoB,CACpB,IAAM,GACF,EAAA,EAAA,KAAA,CAAC,EAAA,UAAD,CAAkB,OAAa,QAAe,kBAA9C,CACK,GAAW,EAAA,EAAA,IAAA,CAAC,EAAA,cAAD,CAAe,gBAAgB,KAAO,CAAA,EAAI,MACtD,EAAA,EAAA,IAAA,CAAC,EAAA,MAAD,CAAO,QAAS,CAAQ,CAAA,GACxB,EAAA,EAAA,IAAA,CAAC,EAAA,MAAD,CAAO,cAAe,CAAiB,CAAA,EACtC,GAAc,EAAA,EAAA,IAAA,CAAC,EAAA,QAAD,CAAS,UAAW,EAAA,mBAAmB,CAAc,CAAI,CAAA,EAAI,KAC3E,GAAa,EAAA,EAAA,IAAA,CAAC,EAAA,OAAD,CAAS,CAAA,EAAI,KAC1B,EAAW,KAAK,EAAU,KACvB,EAAA,EAAA,IAAA,CAAC,EAAA,KAAD,CAEI,KAAK,WACL,QAAS,EACT,OAAQ,EAAO,EAAI,EAAO,QAC1B,IAAK,EACR,EALQ,CAKR,CACJ,CACO,IAGhB,OACI,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAW,EAAA,GAAG,CAAS,WACvB,IAAU,IAAA,IAGP,EAAA,EAAA,IAAA,CAAC,EAAA,oBAAD,CAAqB,MAAM,OAAe,kBACrC,CACgB,CAAA,EAJrB,CAMH,CAAA,CAEb"}
@@ -0,0 +1,38 @@
1
+ import { cn as e } from "../utils/cn.js";
2
+ import { DEFAULT_CHART_COLORS as t } from "./palette.js";
3
+ import { toTooltipFormatter as n } from "./types.js";
4
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
+ import { CartesianGrid as a, Legend as o, Line as s, LineChart as c, ResponsiveContainer as l, Tooltip as u, XAxis as d, YAxis as f } from "recharts";
6
+ //#region src/charts/LineChart.tsx
7
+ function p({ data: p, index: m, categories: h, colors: g = t, height: _ = 300, width: v, showLegend: y = !0, showGrid: b = !0, showTooltip: x = !0, valueFormatter: S, className: C }) {
8
+ let w = /* @__PURE__ */ i(c, {
9
+ data: p,
10
+ width: v,
11
+ height: _,
12
+ children: [
13
+ b ? /* @__PURE__ */ r(a, { strokeDasharray: "3 3" }) : null,
14
+ /* @__PURE__ */ r(d, { dataKey: m }),
15
+ /* @__PURE__ */ r(f, { tickFormatter: S }),
16
+ x ? /* @__PURE__ */ r(u, { formatter: n(S) }) : null,
17
+ y ? /* @__PURE__ */ r(o, {}) : null,
18
+ h.map((e, t) => /* @__PURE__ */ r(s, {
19
+ type: "monotone",
20
+ dataKey: e,
21
+ stroke: g[t % g.length],
22
+ dot: !1
23
+ }, e))
24
+ ]
25
+ });
26
+ return /* @__PURE__ */ r("div", {
27
+ className: e(C),
28
+ children: v === void 0 ? /* @__PURE__ */ r(l, {
29
+ width: "100%",
30
+ height: _,
31
+ children: w
32
+ }) : w
33
+ });
34
+ }
35
+ //#endregion
36
+ export { p as LineChart };
37
+
38
+ //# sourceMappingURL=LineChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LineChart.js","names":[],"sources":["../../src/charts/LineChart.tsx"],"sourcesContent":["import {\n CartesianGrid,\n Legend,\n Line,\n LineChart as RLineChart,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from \"recharts\";\nimport { cn } from \"@/utils/cn\";\nimport { DEFAULT_CHART_COLORS } from \"./palette\";\nimport { toTooltipFormatter } from \"./types\";\nimport type { CartesianChartProps } from \"./types\";\n\n/**\n * LineChart — themed wrapper over recharts `LineChart`.\n *\n * Plots one line per entry in `categories`, colored from `colors` (cycling\n * {@link DEFAULT_CHART_COLORS} by default). `stack` is accepted for API parity\n * but does not visually stack lines. When `width` is provided the chart renders\n * at that fixed size without a ResponsiveContainer; otherwise it fills its\n * parent.\n */\nexport function LineChart({\n data,\n index,\n categories,\n colors = DEFAULT_CHART_COLORS,\n height = 300,\n width,\n showLegend = true,\n showGrid = true,\n showTooltip = true,\n valueFormatter,\n className,\n}: CartesianChartProps) {\n const chart = (\n <RLineChart data={data} width={width} height={height}>\n {showGrid ? <CartesianGrid strokeDasharray=\"3 3\" /> : null}\n <XAxis dataKey={index} />\n <YAxis tickFormatter={valueFormatter} />\n {showTooltip ? <Tooltip formatter={toTooltipFormatter(valueFormatter)} /> : null}\n {showLegend ? <Legend /> : null}\n {categories.map((category, i) => (\n <Line\n key={category}\n type=\"monotone\"\n dataKey={category}\n stroke={colors[i % colors.length]}\n dot={false}\n />\n ))}\n </RLineChart>\n );\n\n return (\n <div className={cn(className)}>\n {width !== undefined ? (\n chart\n ) : (\n <ResponsiveContainer width=\"100%\" height={height}>\n {chart}\n </ResponsiveContainer>\n )}\n </div>\n );\n}\n"],"mappings":";;;;;;AAwBA,SAAgB,EAAU,EACtB,SACA,UACA,eACA,YAAS,GACT,YAAS,KACT,UACA,gBAAa,IACb,cAAW,IACX,iBAAc,IACd,mBACA,gBACoB;CACpB,IAAM,IACF,kBAAC,GAAD;EAAkB;EAAa;EAAe;YAA9C;GACK,IAAW,kBAAC,GAAD,EAAe,iBAAgB,MAAO,CAAA,IAAI;GACtD,kBAAC,GAAD,EAAO,SAAS,EAAQ,CAAA;GACxB,kBAAC,GAAD,EAAO,eAAe,EAAiB,CAAA;GACtC,IAAc,kBAAC,GAAD,EAAS,WAAW,EAAmB,CAAc,EAAI,CAAA,IAAI;GAC3E,IAAa,kBAAC,GAAD,CAAS,CAAA,IAAI;GAC1B,EAAW,KAAK,GAAU,MACvB,kBAAC,GAAD;IAEI,MAAK;IACL,SAAS;IACT,QAAQ,EAAO,IAAI,EAAO;IAC1B,KAAK;GACR,GALQ,CAKR,CACJ;EACO;;CAGhB,OACI,kBAAC,OAAD;EAAK,WAAW,EAAG,CAAS;YACvB,MAAU,KAAA,IAGP,kBAAC,GAAD;GAAqB,OAAM;GAAe;aACrC;EACgB,CAAA,IAJrB;CAMH,CAAA;AAEb"}
@@ -0,0 +1,2 @@
1
+ const e=require("../utils/cn.cjs"),t=require("./palette.cjs"),n=require("./types.cjs");let r=require("react/jsx-runtime"),i=require("recharts");function a({data:a,category:o,index:s,colors:c=t.DEFAULT_CHART_COLORS,height:l=300,width:u,donut:d=!1,showLegend:f=!0,showTooltip:p=!0,valueFormatter:m,className:h}){let g=(0,r.jsxs)(i.PieChart,{width:u,height:l,children:[p?(0,r.jsx)(i.Tooltip,{formatter:n.toTooltipFormatter(m)}):null,f?(0,r.jsx)(i.Legend,{}):null,(0,r.jsx)(i.Pie,{data:a,dataKey:o,nameKey:s,innerRadius:d?`60%`:0,outerRadius:`80%`,children:a.map((e,t)=>(0,r.jsx)(i.Cell,{fill:c[t%c.length]},`${String(e[s])}-${t}`))})]});return(0,r.jsx)(`div`,{className:e.cn(h),children:u===void 0?(0,r.jsx)(i.ResponsiveContainer,{width:`100%`,height:l,children:g}):g})}exports.PieChart=a;
2
+ //# sourceMappingURL=PieChart.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PieChart.cjs","names":[],"sources":["../../src/charts/PieChart.tsx"],"sourcesContent":["import { Cell, Legend, Pie, PieChart as RPieChart, ResponsiveContainer, Tooltip } from \"recharts\";\nimport { cn } from \"@/utils/cn\";\nimport { DEFAULT_CHART_COLORS } from \"./palette\";\nimport { toTooltipFormatter } from \"./types\";\nimport type { PieChartProps } from \"./types\";\n\n/**\n * PieChart — themed wrapper over recharts `PieChart`.\n *\n * Renders one slice per row, reading the numeric value from `category` and the\n * label from `index`. Each slice is colored from `colors` (cycling\n * {@link DEFAULT_CHART_COLORS} by default). When `donut` is set the pie gets a\n * non-zero inner radius. When `width` is provided the chart renders at that\n * fixed size without a ResponsiveContainer; otherwise it fills its parent.\n */\nexport function PieChart({\n data,\n category,\n index,\n colors = DEFAULT_CHART_COLORS,\n height = 300,\n width,\n donut = false,\n showLegend = true,\n showTooltip = true,\n valueFormatter,\n className,\n}: PieChartProps) {\n const chart = (\n <RPieChart width={width} height={height}>\n {showTooltip ? <Tooltip formatter={toTooltipFormatter(valueFormatter)} /> : null}\n {showLegend ? <Legend /> : null}\n <Pie\n data={data}\n dataKey={category}\n nameKey={index}\n innerRadius={donut ? \"60%\" : 0}\n outerRadius=\"80%\"\n >\n {data.map((row, i) => (\n <Cell key={`${String(row[index])}-${i}`} fill={colors[i % colors.length]} />\n ))}\n </Pie>\n </RPieChart>\n );\n\n return (\n <div className={cn(className)}>\n {width !== undefined ? (\n chart\n ) : (\n <ResponsiveContainer width=\"100%\" height={height}>\n {chart}\n </ResponsiveContainer>\n )}\n </div>\n );\n}\n"],"mappings":"gJAeA,SAAgB,EAAS,CACrB,OACA,WACA,QACA,SAAS,EAAA,qBACT,SAAS,IACT,QACA,QAAQ,GACR,aAAa,GACb,cAAc,GACd,iBACA,aACc,CACd,IAAM,GACF,EAAA,EAAA,KAAA,CAAC,EAAA,SAAD,CAAkB,QAAe,kBAAjC,CACK,GAAc,EAAA,EAAA,IAAA,CAAC,EAAA,QAAD,CAAS,UAAW,EAAA,mBAAmB,CAAc,CAAI,CAAA,EAAI,KAC3E,GAAa,EAAA,EAAA,IAAA,CAAC,EAAA,OAAD,CAAS,CAAA,EAAI,MAC3B,EAAA,EAAA,IAAA,CAAC,EAAA,IAAD,CACU,OACN,QAAS,EACT,QAAS,EACT,YAAa,EAAQ,MAAQ,EAC7B,YAAY,eAEX,EAAK,KAAK,EAAK,KACZ,EAAA,EAAA,IAAA,CAAC,EAAA,KAAD,CAAyC,KAAM,EAAO,EAAI,EAAO,OAAU,EAAhE,GAAG,OAAO,EAAI,EAAM,EAAE,GAAG,GAAuC,CAC9E,CACA,CAAA,CACE,IAGf,OACI,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAW,EAAA,GAAG,CAAS,WACvB,IAAU,IAAA,IAGP,EAAA,EAAA,IAAA,CAAC,EAAA,oBAAD,CAAqB,MAAM,OAAe,kBACrC,CACgB,CAAA,EAJrB,CAMH,CAAA,CAEb"}
@@ -0,0 +1,36 @@
1
+ import { cn as e } from "../utils/cn.js";
2
+ import { DEFAULT_CHART_COLORS as t } from "./palette.js";
3
+ import { toTooltipFormatter as n } from "./types.js";
4
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
+ import { Cell as a, Legend as o, Pie as s, PieChart as c, ResponsiveContainer as l, Tooltip as u } from "recharts";
6
+ //#region src/charts/PieChart.tsx
7
+ function d({ data: d, category: f, index: p, colors: m = t, height: h = 300, width: g, donut: _ = !1, showLegend: v = !0, showTooltip: y = !0, valueFormatter: b, className: x }) {
8
+ let S = /* @__PURE__ */ i(c, {
9
+ width: g,
10
+ height: h,
11
+ children: [
12
+ y ? /* @__PURE__ */ r(u, { formatter: n(b) }) : null,
13
+ v ? /* @__PURE__ */ r(o, {}) : null,
14
+ /* @__PURE__ */ r(s, {
15
+ data: d,
16
+ dataKey: f,
17
+ nameKey: p,
18
+ innerRadius: _ ? "60%" : 0,
19
+ outerRadius: "80%",
20
+ children: d.map((e, t) => /* @__PURE__ */ r(a, { fill: m[t % m.length] }, `${String(e[p])}-${t}`))
21
+ })
22
+ ]
23
+ });
24
+ return /* @__PURE__ */ r("div", {
25
+ className: e(x),
26
+ children: g === void 0 ? /* @__PURE__ */ r(l, {
27
+ width: "100%",
28
+ height: h,
29
+ children: S
30
+ }) : S
31
+ });
32
+ }
33
+ //#endregion
34
+ export { d as PieChart };
35
+
36
+ //# sourceMappingURL=PieChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PieChart.js","names":[],"sources":["../../src/charts/PieChart.tsx"],"sourcesContent":["import { Cell, Legend, Pie, PieChart as RPieChart, ResponsiveContainer, Tooltip } from \"recharts\";\nimport { cn } from \"@/utils/cn\";\nimport { DEFAULT_CHART_COLORS } from \"./palette\";\nimport { toTooltipFormatter } from \"./types\";\nimport type { PieChartProps } from \"./types\";\n\n/**\n * PieChart — themed wrapper over recharts `PieChart`.\n *\n * Renders one slice per row, reading the numeric value from `category` and the\n * label from `index`. Each slice is colored from `colors` (cycling\n * {@link DEFAULT_CHART_COLORS} by default). When `donut` is set the pie gets a\n * non-zero inner radius. When `width` is provided the chart renders at that\n * fixed size without a ResponsiveContainer; otherwise it fills its parent.\n */\nexport function PieChart({\n data,\n category,\n index,\n colors = DEFAULT_CHART_COLORS,\n height = 300,\n width,\n donut = false,\n showLegend = true,\n showTooltip = true,\n valueFormatter,\n className,\n}: PieChartProps) {\n const chart = (\n <RPieChart width={width} height={height}>\n {showTooltip ? <Tooltip formatter={toTooltipFormatter(valueFormatter)} /> : null}\n {showLegend ? <Legend /> : null}\n <Pie\n data={data}\n dataKey={category}\n nameKey={index}\n innerRadius={donut ? \"60%\" : 0}\n outerRadius=\"80%\"\n >\n {data.map((row, i) => (\n <Cell key={`${String(row[index])}-${i}`} fill={colors[i % colors.length]} />\n ))}\n </Pie>\n </RPieChart>\n );\n\n return (\n <div className={cn(className)}>\n {width !== undefined ? (\n chart\n ) : (\n <ResponsiveContainer width=\"100%\" height={height}>\n {chart}\n </ResponsiveContainer>\n )}\n </div>\n );\n}\n"],"mappings":";;;;;;AAeA,SAAgB,EAAS,EACrB,SACA,aACA,UACA,YAAS,GACT,YAAS,KACT,UACA,WAAQ,IACR,gBAAa,IACb,iBAAc,IACd,mBACA,gBACc;CACd,IAAM,IACF,kBAAC,GAAD;EAAkB;EAAe;YAAjC;GACK,IAAc,kBAAC,GAAD,EAAS,WAAW,EAAmB,CAAc,EAAI,CAAA,IAAI;GAC3E,IAAa,kBAAC,GAAD,CAAS,CAAA,IAAI;GAC3B,kBAAC,GAAD;IACU;IACN,SAAS;IACT,SAAS;IACT,aAAa,IAAQ,QAAQ;IAC7B,aAAY;cAEX,EAAK,KAAK,GAAK,MACZ,kBAAC,GAAD,EAAyC,MAAM,EAAO,IAAI,EAAO,QAAU,GAAhE,GAAG,OAAO,EAAI,EAAM,EAAE,GAAG,GAAuC,CAC9E;GACA,CAAA;EACE;;CAGf,OACI,kBAAC,OAAD;EAAK,WAAW,EAAG,CAAS;YACvB,MAAU,KAAA,IAGP,kBAAC,GAAD;GAAqB,OAAM;GAAe;aACrC;EACgB,CAAA,IAJrB;CAMH,CAAA;AAEb"}
@@ -0,0 +1,2 @@
1
+ const e=require("../utils/cn.cjs"),t=require("./palette.cjs"),n=require("./types.cjs");let r=require("react/jsx-runtime"),i=require("recharts");function a({data:a,index:o,categories:s,colors:c=t.DEFAULT_CHART_COLORS,height:l=300,width:u,showLegend:d=!0,showTooltip:f=!0,valueFormatter:p,className:m}){let h=(0,r.jsxs)(i.RadarChart,{data:a,width:u,height:l,children:[(0,r.jsx)(i.PolarGrid,{}),(0,r.jsx)(i.PolarAngleAxis,{dataKey:o}),(0,r.jsx)(i.PolarRadiusAxis,{}),f?(0,r.jsx)(i.Tooltip,{formatter:n.toTooltipFormatter(p)}):null,d?(0,r.jsx)(i.Legend,{}):null,s.map((e,t)=>{let n=c[t%c.length];return(0,r.jsx)(i.Radar,{dataKey:e,stroke:n,fill:n,fillOpacity:.3},e)})]});return(0,r.jsx)(`div`,{className:e.cn(m),children:u===void 0?(0,r.jsx)(i.ResponsiveContainer,{width:`100%`,height:l,children:h}):h})}exports.RadarChart=a;
2
+ //# sourceMappingURL=RadarChart.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadarChart.cjs","names":[],"sources":["../../src/charts/RadarChart.tsx"],"sourcesContent":["import {\n Legend,\n PolarAngleAxis,\n PolarGrid,\n PolarRadiusAxis,\n RadarChart as RRadarChart,\n Radar,\n ResponsiveContainer,\n Tooltip,\n} from \"recharts\";\nimport { cn } from \"@/utils/cn\";\nimport { DEFAULT_CHART_COLORS } from \"./palette\";\nimport { toTooltipFormatter } from \"./types\";\nimport type { CartesianChartProps } from \"./types\";\n\n/**\n * RadarChart — themed wrapper over recharts `RadarChart`.\n *\n * Plots one radar polygon per entry in `categories`, colored from `colors`\n * (cycling {@link DEFAULT_CHART_COLORS} by default). `index` drives the angle\n * axis. When `width` is provided the chart renders at that fixed size without a\n * ResponsiveContainer; otherwise it fills its parent.\n */\nexport function RadarChart({\n data,\n index,\n categories,\n colors = DEFAULT_CHART_COLORS,\n height = 300,\n width,\n showLegend = true,\n showTooltip = true,\n valueFormatter,\n className,\n}: CartesianChartProps) {\n const chart = (\n <RRadarChart data={data} width={width} height={height}>\n <PolarGrid />\n <PolarAngleAxis dataKey={index} />\n <PolarRadiusAxis />\n {showTooltip ? <Tooltip formatter={toTooltipFormatter(valueFormatter)} /> : null}\n {showLegend ? <Legend /> : null}\n {categories.map((category, i) => {\n const color = colors[i % colors.length];\n return (\n <Radar\n key={category}\n dataKey={category}\n stroke={color}\n fill={color}\n fillOpacity={0.3}\n />\n );\n })}\n </RRadarChart>\n );\n\n return (\n <div className={cn(className)}>\n {width !== undefined ? (\n chart\n ) : (\n <ResponsiveContainer width=\"100%\" height={height}>\n {chart}\n </ResponsiveContainer>\n )}\n </div>\n );\n}\n"],"mappings":"gJAuBA,SAAgB,EAAW,CACvB,OACA,QACA,aACA,SAAS,EAAA,qBACT,SAAS,IACT,QACA,aAAa,GACb,cAAc,GACd,iBACA,aACoB,CACpB,IAAM,GACF,EAAA,EAAA,KAAA,CAAC,EAAA,WAAD,CAAmB,OAAa,QAAe,kBAA/C,EACI,EAAA,EAAA,IAAA,CAAC,EAAA,UAAD,CAAY,CAAA,GACZ,EAAA,EAAA,IAAA,CAAC,EAAA,eAAD,CAAgB,QAAS,CAAQ,CAAA,GACjC,EAAA,EAAA,IAAA,CAAC,EAAA,gBAAD,CAAkB,CAAA,EACjB,GAAc,EAAA,EAAA,IAAA,CAAC,EAAA,QAAD,CAAS,UAAW,EAAA,mBAAmB,CAAc,CAAI,CAAA,EAAI,KAC3E,GAAa,EAAA,EAAA,IAAA,CAAC,EAAA,OAAD,CAAS,CAAA,EAAI,KAC1B,EAAW,KAAK,EAAU,IAAM,CAC7B,IAAM,EAAQ,EAAO,EAAI,EAAO,QAChC,OACI,EAAA,EAAA,IAAA,CAAC,EAAA,MAAD,CAEI,QAAS,EACT,OAAQ,EACR,KAAM,EACN,YAAa,EAChB,EALQ,CAKR,CAET,CAAC,CACQ,IAGjB,OACI,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAW,EAAA,GAAG,CAAS,WACvB,IAAU,IAAA,IAGP,EAAA,EAAA,IAAA,CAAC,EAAA,oBAAD,CAAqB,MAAM,OAAe,kBACrC,CACgB,CAAA,EAJrB,CAMH,CAAA,CAEb"}
@@ -0,0 +1,41 @@
1
+ import { cn as e } from "../utils/cn.js";
2
+ import { DEFAULT_CHART_COLORS as t } from "./palette.js";
3
+ import { toTooltipFormatter as n } from "./types.js";
4
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
+ import { Legend as a, PolarAngleAxis as o, PolarGrid as s, PolarRadiusAxis as c, Radar as l, RadarChart as u, ResponsiveContainer as d, Tooltip as f } from "recharts";
6
+ //#region src/charts/RadarChart.tsx
7
+ function p({ data: p, index: m, categories: h, colors: g = t, height: _ = 300, width: v, showLegend: y = !0, showTooltip: b = !0, valueFormatter: x, className: S }) {
8
+ let C = /* @__PURE__ */ i(u, {
9
+ data: p,
10
+ width: v,
11
+ height: _,
12
+ children: [
13
+ /* @__PURE__ */ r(s, {}),
14
+ /* @__PURE__ */ r(o, { dataKey: m }),
15
+ /* @__PURE__ */ r(c, {}),
16
+ b ? /* @__PURE__ */ r(f, { formatter: n(x) }) : null,
17
+ y ? /* @__PURE__ */ r(a, {}) : null,
18
+ h.map((e, t) => {
19
+ let n = g[t % g.length];
20
+ return /* @__PURE__ */ r(l, {
21
+ dataKey: e,
22
+ stroke: n,
23
+ fill: n,
24
+ fillOpacity: .3
25
+ }, e);
26
+ })
27
+ ]
28
+ });
29
+ return /* @__PURE__ */ r("div", {
30
+ className: e(S),
31
+ children: v === void 0 ? /* @__PURE__ */ r(d, {
32
+ width: "100%",
33
+ height: _,
34
+ children: C
35
+ }) : C
36
+ });
37
+ }
38
+ //#endregion
39
+ export { p as RadarChart };
40
+
41
+ //# sourceMappingURL=RadarChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadarChart.js","names":[],"sources":["../../src/charts/RadarChart.tsx"],"sourcesContent":["import {\n Legend,\n PolarAngleAxis,\n PolarGrid,\n PolarRadiusAxis,\n RadarChart as RRadarChart,\n Radar,\n ResponsiveContainer,\n Tooltip,\n} from \"recharts\";\nimport { cn } from \"@/utils/cn\";\nimport { DEFAULT_CHART_COLORS } from \"./palette\";\nimport { toTooltipFormatter } from \"./types\";\nimport type { CartesianChartProps } from \"./types\";\n\n/**\n * RadarChart — themed wrapper over recharts `RadarChart`.\n *\n * Plots one radar polygon per entry in `categories`, colored from `colors`\n * (cycling {@link DEFAULT_CHART_COLORS} by default). `index` drives the angle\n * axis. When `width` is provided the chart renders at that fixed size without a\n * ResponsiveContainer; otherwise it fills its parent.\n */\nexport function RadarChart({\n data,\n index,\n categories,\n colors = DEFAULT_CHART_COLORS,\n height = 300,\n width,\n showLegend = true,\n showTooltip = true,\n valueFormatter,\n className,\n}: CartesianChartProps) {\n const chart = (\n <RRadarChart data={data} width={width} height={height}>\n <PolarGrid />\n <PolarAngleAxis dataKey={index} />\n <PolarRadiusAxis />\n {showTooltip ? <Tooltip formatter={toTooltipFormatter(valueFormatter)} /> : null}\n {showLegend ? <Legend /> : null}\n {categories.map((category, i) => {\n const color = colors[i % colors.length];\n return (\n <Radar\n key={category}\n dataKey={category}\n stroke={color}\n fill={color}\n fillOpacity={0.3}\n />\n );\n })}\n </RRadarChart>\n );\n\n return (\n <div className={cn(className)}>\n {width !== undefined ? (\n chart\n ) : (\n <ResponsiveContainer width=\"100%\" height={height}>\n {chart}\n </ResponsiveContainer>\n )}\n </div>\n );\n}\n"],"mappings":";;;;;;AAuBA,SAAgB,EAAW,EACvB,SACA,UACA,eACA,YAAS,GACT,YAAS,KACT,UACA,gBAAa,IACb,iBAAc,IACd,mBACA,gBACoB;CACpB,IAAM,IACF,kBAAC,GAAD;EAAmB;EAAa;EAAe;YAA/C;GACI,kBAAC,GAAD,CAAY,CAAA;GACZ,kBAAC,GAAD,EAAgB,SAAS,EAAQ,CAAA;GACjC,kBAAC,GAAD,CAAkB,CAAA;GACjB,IAAc,kBAAC,GAAD,EAAS,WAAW,EAAmB,CAAc,EAAI,CAAA,IAAI;GAC3E,IAAa,kBAAC,GAAD,CAAS,CAAA,IAAI;GAC1B,EAAW,KAAK,GAAU,MAAM;IAC7B,IAAM,IAAQ,EAAO,IAAI,EAAO;IAChC,OACI,kBAAC,GAAD;KAEI,SAAS;KACT,QAAQ;KACR,MAAM;KACN,aAAa;IAChB,GALQ,CAKR;GAET,CAAC;EACQ;;CAGjB,OACI,kBAAC,OAAD;EAAK,WAAW,EAAG,CAAS;YACvB,MAAU,KAAA,IAGP,kBAAC,GAAD;GAAqB,OAAM;GAAe;aACrC;EACgB,CAAA,IAJrB;CAMH,CAAA;AAEb"}
@@ -0,0 +1,2 @@
1
+ var e=[`#2563eb`,`#16a34a`,`#f59e0b`,`#7c3aed`,`#ec4899`,`#06b6d4`];exports.DEFAULT_CHART_COLORS=e;
2
+ //# sourceMappingURL=palette.cjs.map