tempest-react-sdk 0.22.0 → 0.23.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 (1887) hide show
  1. package/README.md +67 -64
  2. package/dist/access/Can.cjs +2 -0
  3. package/dist/access/Can.cjs.map +1 -0
  4. package/dist/access/Can.js +10 -0
  5. package/dist/access/Can.js.map +1 -0
  6. package/dist/access/access-control-context.cjs +2 -0
  7. package/dist/access/access-control-context.cjs.map +1 -0
  8. package/dist/access/access-control-context.js +14 -0
  9. package/dist/access/access-control-context.js.map +1 -0
  10. package/dist/access/create-role-access-control.cjs +2 -0
  11. package/dist/access/create-role-access-control.cjs.map +1 -0
  12. package/dist/access/create-role-access-control.js +19 -0
  13. package/dist/access/create-role-access-control.js.map +1 -0
  14. package/dist/access/permissions-from-token.cjs +2 -0
  15. package/dist/access/permissions-from-token.cjs.map +1 -0
  16. package/dist/access/permissions-from-token.js +21 -0
  17. package/dist/access/permissions-from-token.js.map +1 -0
  18. package/dist/access/use-can.cjs +2 -0
  19. package/dist/access/use-can.cjs.map +1 -0
  20. package/dist/access/use-can.js +34 -0
  21. package/dist/access/use-can.js.map +1 -0
  22. package/dist/app/AppProviders.cjs +2 -0
  23. package/dist/app/AppProviders.cjs.map +1 -0
  24. package/dist/app/AppProviders.js +13 -0
  25. package/dist/app/AppProviders.js.map +1 -0
  26. package/dist/audio/audio-player.cjs +2 -0
  27. package/dist/audio/audio-player.cjs.map +1 -0
  28. package/dist/audio/audio-player.js +39 -0
  29. package/dist/audio/audio-player.js.map +1 -0
  30. package/dist/audio/use-audio.cjs +2 -0
  31. package/dist/audio/use-audio.cjs.map +1 -0
  32. package/dist/audio/use-audio.js +18 -0
  33. package/dist/audio/use-audio.js.map +1 -0
  34. package/dist/auth/AuthGuard.cjs +2 -0
  35. package/dist/auth/AuthGuard.cjs.map +1 -0
  36. package/dist/auth/AuthGuard.js +8 -0
  37. package/dist/auth/AuthGuard.js.map +1 -0
  38. package/dist/auth/create-auth-store.cjs +2 -0
  39. package/dist/auth/create-auth-store.cjs.map +1 -0
  40. package/dist/auth/create-auth-store.js +30 -0
  41. package/dist/auth/create-auth-store.js.map +1 -0
  42. package/dist/auth/create-tempest-auth.cjs +2 -0
  43. package/dist/auth/create-tempest-auth.cjs.map +1 -0
  44. package/dist/auth/create-tempest-auth.js +70 -0
  45. package/dist/auth/create-tempest-auth.js.map +1 -0
  46. package/dist/auth/jwt.cjs +2 -0
  47. package/dist/auth/jwt.cjs.map +1 -0
  48. package/dist/auth/jwt.js +33 -0
  49. package/dist/auth/jwt.js.map +1 -0
  50. package/dist/auth/lazy-with-retry.cjs +2 -0
  51. package/dist/auth/lazy-with-retry.cjs.map +1 -0
  52. package/dist/auth/lazy-with-retry.js +18 -0
  53. package/dist/auth/lazy-with-retry.js.map +1 -0
  54. package/dist/auth/refresh-queue.cjs +2 -0
  55. package/dist/auth/refresh-queue.cjs.map +1 -0
  56. package/dist/auth/refresh-queue.js +14 -0
  57. package/dist/auth/refresh-queue.js.map +1 -0
  58. package/dist/br/BrazilMap.cjs +2 -0
  59. package/dist/br/BrazilMap.cjs.map +1 -0
  60. package/dist/br/BrazilMap.js +195 -0
  61. package/dist/br/BrazilMap.js.map +1 -0
  62. package/dist/br/BrazilMap.module.css.cjs +2 -0
  63. package/dist/br/BrazilMap.module.css.cjs.map +1 -0
  64. package/dist/br/BrazilMap.module.css.js +28 -0
  65. package/dist/br/BrazilMap.module.css.js.map +1 -0
  66. package/dist/br/BrazilStateCitySelect.cjs +2 -0
  67. package/dist/br/BrazilStateCitySelect.cjs.map +1 -0
  68. package/dist/br/BrazilStateCitySelect.js +69 -0
  69. package/dist/br/BrazilStateCitySelect.js.map +1 -0
  70. package/dist/br/BrazilStateMap.cjs +2 -0
  71. package/dist/br/BrazilStateMap.cjs.map +1 -0
  72. package/dist/br/BrazilStateMap.js +181 -0
  73. package/dist/br/BrazilStateMap.js.map +1 -0
  74. package/dist/br/MapLegend.cjs +2 -0
  75. package/dist/br/MapLegend.cjs.map +1 -0
  76. package/dist/br/MapLegend.js +39 -0
  77. package/dist/br/MapLegend.js.map +1 -0
  78. package/dist/br/MapLegend.module.css.cjs +2 -0
  79. package/dist/br/MapLegend.module.css.cjs.map +1 -0
  80. package/dist/br/MapLegend.module.css.js +22 -0
  81. package/dist/br/MapLegend.module.css.js.map +1 -0
  82. package/dist/br/MapMarkers.cjs +2 -0
  83. package/dist/br/MapMarkers.cjs.map +1 -0
  84. package/dist/br/MapMarkers.js +31 -0
  85. package/dist/br/MapMarkers.js.map +1 -0
  86. package/dist/br/MapTooltip.cjs +2 -0
  87. package/dist/br/MapTooltip.cjs.map +1 -0
  88. package/dist/br/MapTooltip.js +19 -0
  89. package/dist/br/MapTooltip.js.map +1 -0
  90. package/dist/br/MunicipalitySearch.cjs +2 -0
  91. package/dist/br/MunicipalitySearch.cjs.map +1 -0
  92. package/dist/br/MunicipalitySearch.js +75 -0
  93. package/dist/br/MunicipalitySearch.js.map +1 -0
  94. package/dist/br/MunicipalitySearch.module.css.cjs +2 -0
  95. package/dist/br/MunicipalitySearch.module.css.cjs.map +1 -0
  96. package/dist/br/MunicipalitySearch.module.css.js +14 -0
  97. package/dist/br/MunicipalitySearch.module.css.js.map +1 -0
  98. package/dist/br/br-geo.cjs +2 -0
  99. package/dist/br/br-geo.cjs.map +1 -0
  100. package/dist/br/br-geo.js +6 -0
  101. package/dist/br/br-geo.js.map +1 -0
  102. package/dist/br/data/br-centroids.json.cjs +2 -0
  103. package/dist/br/data/br-centroids.json.cjs.map +1 -0
  104. package/dist/br/data/br-centroids.json.js +10 -0
  105. package/dist/br/data/br-centroids.json.js.map +1 -0
  106. package/dist/br/data/br-locations.json.cjs +2 -0
  107. package/dist/br/data/br-locations.json.cjs.map +1 -0
  108. package/dist/br/data/br-locations.json.js +8 -0
  109. package/dist/br/data/br-locations.json.js.map +1 -0
  110. package/dist/br/data/br-uf-geo.json.cjs +2 -0
  111. package/dist/br/data/br-uf-geo.json.cjs.map +1 -0
  112. package/dist/br/data/br-uf-geo.json.js +10 -0
  113. package/dist/br/data/br-uf-geo.json.js.map +1 -0
  114. package/dist/br/data/mun/AC.json.cjs +2 -0
  115. package/dist/br/data/mun/AC.json.cjs.map +1 -0
  116. package/dist/br/data/mun/AC.json.js +12 -0
  117. package/dist/br/data/mun/AC.json.js.map +1 -0
  118. package/dist/br/data/mun/AL.json.cjs +2 -0
  119. package/dist/br/data/mun/AL.json.cjs.map +1 -0
  120. package/dist/br/data/mun/AL.json.js +12 -0
  121. package/dist/br/data/mun/AL.json.js.map +1 -0
  122. package/dist/br/data/mun/AM.json.cjs +2 -0
  123. package/dist/br/data/mun/AM.json.cjs.map +1 -0
  124. package/dist/br/data/mun/AM.json.js +12 -0
  125. package/dist/br/data/mun/AM.json.js.map +1 -0
  126. package/dist/br/data/mun/AP.json.cjs +2 -0
  127. package/dist/br/data/mun/AP.json.cjs.map +1 -0
  128. package/dist/br/data/mun/AP.json.js +12 -0
  129. package/dist/br/data/mun/AP.json.js.map +1 -0
  130. package/dist/br/data/mun/BA.json.cjs +2 -0
  131. package/dist/br/data/mun/BA.json.cjs.map +1 -0
  132. package/dist/br/data/mun/BA.json.js +12 -0
  133. package/dist/br/data/mun/BA.json.js.map +1 -0
  134. package/dist/br/data/mun/CE.json.cjs +2 -0
  135. package/dist/br/data/mun/CE.json.cjs.map +1 -0
  136. package/dist/br/data/mun/CE.json.js +12 -0
  137. package/dist/br/data/mun/CE.json.js.map +1 -0
  138. package/dist/br/data/mun/DF.json.cjs +2 -0
  139. package/dist/br/data/mun/DF.json.cjs.map +1 -0
  140. package/dist/br/data/mun/DF.json.js +12 -0
  141. package/dist/br/data/mun/DF.json.js.map +1 -0
  142. package/dist/br/data/mun/ES.json.cjs +2 -0
  143. package/dist/br/data/mun/ES.json.cjs.map +1 -0
  144. package/dist/br/data/mun/ES.json.js +12 -0
  145. package/dist/br/data/mun/ES.json.js.map +1 -0
  146. package/dist/br/data/mun/GO.json.cjs +2 -0
  147. package/dist/br/data/mun/GO.json.cjs.map +1 -0
  148. package/dist/br/data/mun/GO.json.js +12 -0
  149. package/dist/br/data/mun/GO.json.js.map +1 -0
  150. package/dist/br/data/mun/MA.json.cjs +2 -0
  151. package/dist/br/data/mun/MA.json.cjs.map +1 -0
  152. package/dist/br/data/mun/MA.json.js +12 -0
  153. package/dist/br/data/mun/MA.json.js.map +1 -0
  154. package/dist/br/data/mun/MG.json.cjs +2 -0
  155. package/dist/br/data/mun/MG.json.cjs.map +1 -0
  156. package/dist/br/data/mun/MG.json.js +12 -0
  157. package/dist/br/data/mun/MG.json.js.map +1 -0
  158. package/dist/br/data/mun/MS.json.cjs +2 -0
  159. package/dist/br/data/mun/MS.json.cjs.map +1 -0
  160. package/dist/br/data/mun/MS.json.js +12 -0
  161. package/dist/br/data/mun/MS.json.js.map +1 -0
  162. package/dist/br/data/mun/MT.json.cjs +2 -0
  163. package/dist/br/data/mun/MT.json.cjs.map +1 -0
  164. package/dist/br/data/mun/MT.json.js +12 -0
  165. package/dist/br/data/mun/MT.json.js.map +1 -0
  166. package/dist/br/data/mun/PA.json.cjs +2 -0
  167. package/dist/br/data/mun/PA.json.cjs.map +1 -0
  168. package/dist/br/data/mun/PA.json.js +12 -0
  169. package/dist/br/data/mun/PA.json.js.map +1 -0
  170. package/dist/br/data/mun/PB.json.cjs +2 -0
  171. package/dist/br/data/mun/PB.json.cjs.map +1 -0
  172. package/dist/br/data/mun/PB.json.js +12 -0
  173. package/dist/br/data/mun/PB.json.js.map +1 -0
  174. package/dist/br/data/mun/PE.json.cjs +2 -0
  175. package/dist/br/data/mun/PE.json.cjs.map +1 -0
  176. package/dist/br/data/mun/PE.json.js +12 -0
  177. package/dist/br/data/mun/PE.json.js.map +1 -0
  178. package/dist/br/data/mun/PI.json.cjs +2 -0
  179. package/dist/br/data/mun/PI.json.cjs.map +1 -0
  180. package/dist/br/data/mun/PI.json.js +12 -0
  181. package/dist/br/data/mun/PI.json.js.map +1 -0
  182. package/dist/br/data/mun/PR.json.cjs +2 -0
  183. package/dist/br/data/mun/PR.json.cjs.map +1 -0
  184. package/dist/br/data/mun/PR.json.js +12 -0
  185. package/dist/br/data/mun/PR.json.js.map +1 -0
  186. package/dist/br/data/mun/RJ.json.cjs +2 -0
  187. package/dist/br/data/mun/RJ.json.cjs.map +1 -0
  188. package/dist/br/data/mun/RJ.json.js +12 -0
  189. package/dist/br/data/mun/RJ.json.js.map +1 -0
  190. package/dist/br/data/mun/RN.json.cjs +2 -0
  191. package/dist/br/data/mun/RN.json.cjs.map +1 -0
  192. package/dist/br/data/mun/RN.json.js +12 -0
  193. package/dist/br/data/mun/RN.json.js.map +1 -0
  194. package/dist/br/data/mun/RO.json.cjs +2 -0
  195. package/dist/br/data/mun/RO.json.cjs.map +1 -0
  196. package/dist/br/data/mun/RO.json.js +12 -0
  197. package/dist/br/data/mun/RO.json.js.map +1 -0
  198. package/dist/br/data/mun/RR.json.cjs +2 -0
  199. package/dist/br/data/mun/RR.json.cjs.map +1 -0
  200. package/dist/br/data/mun/RR.json.js +12 -0
  201. package/dist/br/data/mun/RR.json.js.map +1 -0
  202. package/dist/br/data/mun/RS.json.cjs +2 -0
  203. package/dist/br/data/mun/RS.json.cjs.map +1 -0
  204. package/dist/br/data/mun/RS.json.js +12 -0
  205. package/dist/br/data/mun/RS.json.js.map +1 -0
  206. package/dist/br/data/mun/SC.json.cjs +2 -0
  207. package/dist/br/data/mun/SC.json.cjs.map +1 -0
  208. package/dist/br/data/mun/SC.json.js +12 -0
  209. package/dist/br/data/mun/SC.json.js.map +1 -0
  210. package/dist/br/data/mun/SE.json.cjs +2 -0
  211. package/dist/br/data/mun/SE.json.cjs.map +1 -0
  212. package/dist/br/data/mun/SE.json.js +12 -0
  213. package/dist/br/data/mun/SE.json.js.map +1 -0
  214. package/dist/br/data/mun/SP.json.cjs +2 -0
  215. package/dist/br/data/mun/SP.json.cjs.map +1 -0
  216. package/dist/br/data/mun/SP.json.js +12 -0
  217. package/dist/br/data/mun/SP.json.js.map +1 -0
  218. package/dist/br/data/mun/TO.json.cjs +2 -0
  219. package/dist/br/data/mun/TO.json.cjs.map +1 -0
  220. package/dist/br/data/mun/TO.json.js +12 -0
  221. package/dist/br/data/mun/TO.json.js.map +1 -0
  222. package/dist/br/geocode.cjs +2 -0
  223. package/dist/br/geocode.cjs.map +1 -0
  224. package/dist/br/geocode.js +89 -0
  225. package/dist/br/geocode.js.map +1 -0
  226. package/dist/br/locations.cjs +2 -0
  227. package/dist/br/locations.cjs.map +1 -0
  228. package/dist/br/locations.js +80 -0
  229. package/dist/br/locations.js.map +1 -0
  230. package/dist/br/regions.cjs +2 -0
  231. package/dist/br/regions.cjs.map +1 -0
  232. package/dist/br/regions.js +18 -0
  233. package/dist/br/regions.js.map +1 -0
  234. package/dist/br/scales.cjs +2 -0
  235. package/dist/br/scales.cjs.map +1 -0
  236. package/dist/br/scales.js +65 -0
  237. package/dist/br/scales.js.map +1 -0
  238. package/dist/br/state-geo.cjs +2 -0
  239. package/dist/br/state-geo.cjs.map +1 -0
  240. package/dist/br/state-geo.js +39 -0
  241. package/dist/br/state-geo.js.map +1 -0
  242. package/dist/br/svg-utils.cjs +2 -0
  243. package/dist/br/svg-utils.cjs.map +1 -0
  244. package/dist/br/svg-utils.js +46 -0
  245. package/dist/br/svg-utils.js.map +1 -0
  246. package/dist/br/use-map-hover.cjs +2 -0
  247. package/dist/br/use-map-hover.cjs.map +1 -0
  248. package/dist/br/use-map-hover.js +15 -0
  249. package/dist/br/use-map-hover.js.map +1 -0
  250. package/dist/br/use-map-zoom.cjs +2 -0
  251. package/dist/br/use-map-zoom.cjs.map +1 -0
  252. package/dist/br/use-map-zoom.js +48 -0
  253. package/dist/br/use-map-zoom.js.map +1 -0
  254. package/dist/br.cjs +1 -1
  255. package/dist/br.cjs.map +1 -1
  256. package/dist/br.js +46 -945
  257. package/dist/br.js.map +1 -1
  258. package/dist/charts/AreaChart.cjs +2 -0
  259. package/dist/charts/AreaChart.cjs.map +1 -0
  260. package/dist/charts/AreaChart.js +47 -0
  261. package/dist/charts/AreaChart.js.map +1 -0
  262. package/dist/charts/BarChart.cjs +2 -0
  263. package/dist/charts/BarChart.cjs.map +1 -0
  264. package/dist/charts/BarChart.js +41 -0
  265. package/dist/charts/BarChart.js.map +1 -0
  266. package/dist/charts/LineChart.cjs +2 -0
  267. package/dist/charts/LineChart.cjs.map +1 -0
  268. package/dist/charts/LineChart.js +41 -0
  269. package/dist/charts/LineChart.js.map +1 -0
  270. package/dist/charts/PieChart.cjs +2 -0
  271. package/dist/charts/PieChart.cjs.map +1 -0
  272. package/dist/charts/PieChart.js +39 -0
  273. package/dist/charts/PieChart.js.map +1 -0
  274. package/dist/charts/RadarChart.cjs +2 -0
  275. package/dist/charts/RadarChart.cjs.map +1 -0
  276. package/dist/charts/RadarChart.js +43 -0
  277. package/dist/charts/RadarChart.js.map +1 -0
  278. package/dist/charts/palette.cjs +2 -0
  279. package/dist/charts/palette.cjs.map +1 -0
  280. package/dist/charts/palette.js +18 -0
  281. package/dist/charts/palette.js.map +1 -0
  282. package/dist/charts/types.cjs +2 -0
  283. package/dist/charts/types.cjs.map +1 -0
  284. package/dist/charts/types.js +8 -0
  285. package/dist/charts/types.js.map +1 -0
  286. package/dist/charts.cjs +1 -1
  287. package/dist/charts.cjs.map +1 -1
  288. package/dist/charts.js +12 -193
  289. package/dist/charts.js.map +1 -1
  290. package/dist/components/Accordion/Accordion.cjs +2 -0
  291. package/dist/components/Accordion/Accordion.cjs.map +1 -0
  292. package/dist/components/Accordion/Accordion.js +78 -0
  293. package/dist/components/Accordion/Accordion.js.map +1 -0
  294. package/dist/components/Accordion/Accordion.module.css.cjs +2 -0
  295. package/dist/components/Accordion/Accordion.module.css.cjs.map +1 -0
  296. package/dist/components/Accordion/Accordion.module.css.js +20 -0
  297. package/dist/components/Accordion/Accordion.module.css.js.map +1 -0
  298. package/dist/components/Alert/Alert.cjs +2 -0
  299. package/dist/components/Alert/Alert.cjs.map +1 -0
  300. package/dist/components/Alert/Alert.js +63 -0
  301. package/dist/components/Alert/Alert.js.map +1 -0
  302. package/dist/components/Alert/Alert.module.css.cjs +2 -0
  303. package/dist/components/Alert/Alert.module.css.cjs.map +1 -0
  304. package/dist/components/Alert/Alert.module.css.js +32 -0
  305. package/dist/components/Alert/Alert.module.css.js.map +1 -0
  306. package/dist/components/AppBar/AppBar.cjs +2 -0
  307. package/dist/components/AppBar/AppBar.cjs.map +1 -0
  308. package/dist/components/AppBar/AppBar.js +59 -0
  309. package/dist/components/AppBar/AppBar.js.map +1 -0
  310. package/dist/components/AppBar/AppBar.module.css.cjs +2 -0
  311. package/dist/components/AppBar/AppBar.module.css.cjs.map +1 -0
  312. package/dist/components/AppBar/AppBar.module.css.js +32 -0
  313. package/dist/components/AppBar/AppBar.module.css.js.map +1 -0
  314. package/dist/components/AppShell/AppShell.cjs +2 -0
  315. package/dist/components/AppShell/AppShell.cjs.map +1 -0
  316. package/dist/components/AppShell/AppShell.js +29 -0
  317. package/dist/components/AppShell/AppShell.js.map +1 -0
  318. package/dist/components/AppShell/AppShell.module.css.cjs +2 -0
  319. package/dist/components/AppShell/AppShell.module.css.cjs.map +1 -0
  320. package/dist/components/AppShell/AppShell.module.css.js +20 -0
  321. package/dist/components/AppShell/AppShell.module.css.js.map +1 -0
  322. package/dist/components/AspectRatio/AspectRatio.cjs +2 -0
  323. package/dist/components/AspectRatio/AspectRatio.cjs.map +1 -0
  324. package/dist/components/AspectRatio/AspectRatio.js +17 -0
  325. package/dist/components/AspectRatio/AspectRatio.js.map +1 -0
  326. package/dist/components/AspectRatio/AspectRatio.module.css.cjs +2 -0
  327. package/dist/components/AspectRatio/AspectRatio.module.css.cjs.map +1 -0
  328. package/dist/components/AspectRatio/AspectRatio.module.css.js +8 -0
  329. package/dist/components/AspectRatio/AspectRatio.module.css.js.map +1 -0
  330. package/dist/components/Avatar/Avatar.cjs +2 -0
  331. package/dist/components/Avatar/Avatar.cjs.map +1 -0
  332. package/dist/components/Avatar/Avatar.js +47 -0
  333. package/dist/components/Avatar/Avatar.js.map +1 -0
  334. package/dist/components/Avatar/Avatar.module.css.cjs +2 -0
  335. package/dist/components/Avatar/Avatar.module.css.cjs.map +1 -0
  336. package/dist/components/Avatar/Avatar.module.css.js +30 -0
  337. package/dist/components/Avatar/Avatar.module.css.js.map +1 -0
  338. package/dist/components/Badge/Badge.cjs +2 -0
  339. package/dist/components/Badge/Badge.cjs.map +1 -0
  340. package/dist/components/Badge/Badge.js +37 -0
  341. package/dist/components/Badge/Badge.js.map +1 -0
  342. package/dist/components/Badge/Badge.module.css.cjs +2 -0
  343. package/dist/components/Badge/Badge.module.css.cjs.map +1 -0
  344. package/dist/components/Badge/Badge.module.css.js +34 -0
  345. package/dist/components/Badge/Badge.module.css.js.map +1 -0
  346. package/dist/components/Banner/Banner.cjs +2 -0
  347. package/dist/components/Banner/Banner.cjs.map +1 -0
  348. package/dist/components/Banner/Banner.js +41 -0
  349. package/dist/components/Banner/Banner.js.map +1 -0
  350. package/dist/components/Banner/Banner.module.css.cjs +2 -0
  351. package/dist/components/Banner/Banner.module.css.cjs.map +1 -0
  352. package/dist/components/Banner/Banner.module.css.js +28 -0
  353. package/dist/components/Banner/Banner.module.css.js.map +1 -0
  354. package/dist/components/BottomNavigation/BottomNavigation.cjs +2 -0
  355. package/dist/components/BottomNavigation/BottomNavigation.cjs.map +1 -0
  356. package/dist/components/BottomNavigation/BottomNavigation.js +37 -0
  357. package/dist/components/BottomNavigation/BottomNavigation.js.map +1 -0
  358. package/dist/components/BottomNavigation/BottomNavigation.module.css.cjs +2 -0
  359. package/dist/components/BottomNavigation/BottomNavigation.module.css.cjs.map +1 -0
  360. package/dist/components/BottomNavigation/BottomNavigation.module.css.js +20 -0
  361. package/dist/components/BottomNavigation/BottomNavigation.module.css.js.map +1 -0
  362. package/dist/components/BottomSheet/BottomSheet.cjs +2 -0
  363. package/dist/components/BottomSheet/BottomSheet.cjs.map +1 -0
  364. package/dist/components/BottomSheet/BottomSheet.js +60 -0
  365. package/dist/components/BottomSheet/BottomSheet.js.map +1 -0
  366. package/dist/components/BottomSheet/BottomSheet.module.css.cjs +2 -0
  367. package/dist/components/BottomSheet/BottomSheet.module.css.cjs.map +1 -0
  368. package/dist/components/BottomSheet/BottomSheet.module.css.js +20 -0
  369. package/dist/components/BottomSheet/BottomSheet.module.css.js.map +1 -0
  370. package/dist/components/Breadcrumbs/Breadcrumbs.cjs +2 -0
  371. package/dist/components/Breadcrumbs/Breadcrumbs.cjs.map +1 -0
  372. package/dist/components/Breadcrumbs/Breadcrumbs.js +34 -0
  373. package/dist/components/Breadcrumbs/Breadcrumbs.js.map +1 -0
  374. package/dist/components/Breadcrumbs/Breadcrumbs.module.css.cjs +2 -0
  375. package/dist/components/Breadcrumbs/Breadcrumbs.module.css.cjs.map +1 -0
  376. package/dist/components/Breadcrumbs/Breadcrumbs.module.css.js +16 -0
  377. package/dist/components/Breadcrumbs/Breadcrumbs.module.css.js.map +1 -0
  378. package/dist/components/Button/Button.cjs +2 -0
  379. package/dist/components/Button/Button.cjs.map +1 -0
  380. package/dist/components/Button/Button.js +68 -0
  381. package/dist/components/Button/Button.js.map +1 -0
  382. package/dist/components/Button/Button.module.css.cjs +2 -0
  383. package/dist/components/Button/Button.module.css.cjs.map +1 -0
  384. package/dist/components/Button/Button.module.css.js +50 -0
  385. package/dist/components/Button/Button.module.css.js.map +1 -0
  386. package/dist/components/Calendar/Calendar.cjs +2 -0
  387. package/dist/components/Calendar/Calendar.cjs.map +1 -0
  388. package/dist/components/Calendar/Calendar.js +156 -0
  389. package/dist/components/Calendar/Calendar.js.map +1 -0
  390. package/dist/components/Calendar/Calendar.module.css.cjs +2 -0
  391. package/dist/components/Calendar/Calendar.module.css.cjs.map +1 -0
  392. package/dist/components/Calendar/Calendar.module.css.js +28 -0
  393. package/dist/components/Calendar/Calendar.module.css.js.map +1 -0
  394. package/dist/components/Card/Card.cjs +2 -0
  395. package/dist/components/Card/Card.cjs.map +1 -0
  396. package/dist/components/Card/Card.js +45 -0
  397. package/dist/components/Card/Card.js.map +1 -0
  398. package/dist/components/Card/Card.module.css.cjs +2 -0
  399. package/dist/components/Card/Card.module.css.cjs.map +1 -0
  400. package/dist/components/Card/Card.module.css.js +28 -0
  401. package/dist/components/Card/Card.module.css.js.map +1 -0
  402. package/dist/components/Carousel/Carousel.cjs +2 -0
  403. package/dist/components/Carousel/Carousel.cjs.map +1 -0
  404. package/dist/components/Carousel/Carousel.js +97 -0
  405. package/dist/components/Carousel/Carousel.js.map +1 -0
  406. package/dist/components/Carousel/Carousel.module.css.cjs +2 -0
  407. package/dist/components/Carousel/Carousel.module.css.cjs.map +1 -0
  408. package/dist/components/Carousel/Carousel.module.css.js +26 -0
  409. package/dist/components/Carousel/Carousel.module.css.js.map +1 -0
  410. package/dist/components/Center/Center.cjs +2 -0
  411. package/dist/components/Center/Center.cjs.map +1 -0
  412. package/dist/components/Center/Center.js +23 -0
  413. package/dist/components/Center/Center.js.map +1 -0
  414. package/dist/components/Center/Center.module.css.cjs +2 -0
  415. package/dist/components/Center/Center.module.css.cjs.map +1 -0
  416. package/dist/components/Center/Center.module.css.js +14 -0
  417. package/dist/components/Center/Center.module.css.js.map +1 -0
  418. package/dist/components/Checkbox/Checkbox.cjs +2 -0
  419. package/dist/components/Checkbox/Checkbox.cjs.map +1 -0
  420. package/dist/components/Checkbox/Checkbox.js +49 -0
  421. package/dist/components/Checkbox/Checkbox.js.map +1 -0
  422. package/dist/components/Checkbox/Checkbox.module.css.cjs +2 -0
  423. package/dist/components/Checkbox/Checkbox.module.css.cjs.map +1 -0
  424. package/dist/components/Checkbox/Checkbox.module.css.js +20 -0
  425. package/dist/components/Checkbox/Checkbox.module.css.js.map +1 -0
  426. package/dist/components/ChipInput/ChipInput.cjs +2 -0
  427. package/dist/components/ChipInput/ChipInput.cjs.map +1 -0
  428. package/dist/components/ChipInput/ChipInput.js +79 -0
  429. package/dist/components/ChipInput/ChipInput.js.map +1 -0
  430. package/dist/components/ChipInput/ChipInput.module.css.cjs +2 -0
  431. package/dist/components/ChipInput/ChipInput.module.css.cjs.map +1 -0
  432. package/dist/components/ChipInput/ChipInput.module.css.js +24 -0
  433. package/dist/components/ChipInput/ChipInput.module.css.js.map +1 -0
  434. package/dist/components/ClickOutside/ClickOutside.cjs +2 -0
  435. package/dist/components/ClickOutside/ClickOutside.cjs.map +1 -0
  436. package/dist/components/ClickOutside/ClickOutside.js +20 -0
  437. package/dist/components/ClickOutside/ClickOutside.js.map +1 -0
  438. package/dist/components/Collapsible/Collapsible.cjs +2 -0
  439. package/dist/components/Collapsible/Collapsible.cjs.map +1 -0
  440. package/dist/components/Collapsible/Collapsible.js +47 -0
  441. package/dist/components/Collapsible/Collapsible.js.map +1 -0
  442. package/dist/components/Collapsible/Collapsible.module.css.cjs +2 -0
  443. package/dist/components/Collapsible/Collapsible.module.css.cjs.map +1 -0
  444. package/dist/components/Collapsible/Collapsible.module.css.js +12 -0
  445. package/dist/components/Collapsible/Collapsible.module.css.js.map +1 -0
  446. package/dist/components/Combobox/Combobox.cjs +2 -0
  447. package/dist/components/Combobox/Combobox.cjs.map +1 -0
  448. package/dist/components/Combobox/Combobox.js +103 -0
  449. package/dist/components/Combobox/Combobox.js.map +1 -0
  450. package/dist/components/Combobox/Combobox.module.css.cjs +2 -0
  451. package/dist/components/Combobox/Combobox.module.css.cjs.map +1 -0
  452. package/dist/components/Combobox/Combobox.module.css.js +32 -0
  453. package/dist/components/Combobox/Combobox.module.css.js.map +1 -0
  454. package/dist/components/Command/Command.cjs +2 -0
  455. package/dist/components/Command/Command.cjs.map +1 -0
  456. package/dist/components/Command/Command.js +143 -0
  457. package/dist/components/Command/Command.js.map +1 -0
  458. package/dist/components/Command/Command.module.css.cjs +2 -0
  459. package/dist/components/Command/Command.module.css.cjs.map +1 -0
  460. package/dist/components/Command/Command.module.css.js +34 -0
  461. package/dist/components/Command/Command.module.css.js.map +1 -0
  462. package/dist/components/ConditionalWrapper/ConditionalWrapper.cjs +2 -0
  463. package/dist/components/ConditionalWrapper/ConditionalWrapper.cjs.map +1 -0
  464. package/dist/components/ConditionalWrapper/ConditionalWrapper.js +12 -0
  465. package/dist/components/ConditionalWrapper/ConditionalWrapper.js.map +1 -0
  466. package/dist/components/ConfirmDialog/ConfirmDialog.cjs +2 -0
  467. package/dist/components/ConfirmDialog/ConfirmDialog.cjs.map +1 -0
  468. package/dist/components/ConfirmDialog/ConfirmDialog.js +35 -0
  469. package/dist/components/ConfirmDialog/ConfirmDialog.js.map +1 -0
  470. package/dist/components/ContextMenu/ContextMenu.cjs +2 -0
  471. package/dist/components/ContextMenu/ContextMenu.cjs.map +1 -0
  472. package/dist/components/ContextMenu/ContextMenu.js +86 -0
  473. package/dist/components/ContextMenu/ContextMenu.js.map +1 -0
  474. package/dist/components/ContextMenu/ContextMenu.module.css.cjs +2 -0
  475. package/dist/components/ContextMenu/ContextMenu.module.css.cjs.map +1 -0
  476. package/dist/components/ContextMenu/ContextMenu.module.css.js +18 -0
  477. package/dist/components/ContextMenu/ContextMenu.module.css.js.map +1 -0
  478. package/dist/components/CopyButton/CopyButton.cjs +2 -0
  479. package/dist/components/CopyButton/CopyButton.cjs.map +1 -0
  480. package/dist/components/CopyButton/CopyButton.js +43 -0
  481. package/dist/components/CopyButton/CopyButton.js.map +1 -0
  482. package/dist/components/CopyButton/CopyButton.module.css.cjs +2 -0
  483. package/dist/components/CopyButton/CopyButton.module.css.cjs.map +1 -0
  484. package/dist/components/CopyButton/CopyButton.module.css.js +10 -0
  485. package/dist/components/CopyButton/CopyButton.module.css.js.map +1 -0
  486. package/dist/components/DataList/DataList.cjs +2 -0
  487. package/dist/components/DataList/DataList.cjs.map +1 -0
  488. package/dist/components/DataList/DataList.js +17 -0
  489. package/dist/components/DataList/DataList.js.map +1 -0
  490. package/dist/components/DataList/DataList.module.css.cjs +2 -0
  491. package/dist/components/DataList/DataList.module.css.cjs.map +1 -0
  492. package/dist/components/DataList/DataList.module.css.js +10 -0
  493. package/dist/components/DataList/DataList.module.css.js.map +1 -0
  494. package/dist/components/DataTable/DataTable.cjs +2 -0
  495. package/dist/components/DataTable/DataTable.cjs.map +1 -0
  496. package/dist/components/DataTable/DataTable.js +111 -0
  497. package/dist/components/DataTable/DataTable.js.map +1 -0
  498. package/dist/components/DataTable/DataTable.module.css.cjs +2 -0
  499. package/dist/components/DataTable/DataTable.module.css.cjs.map +1 -0
  500. package/dist/components/DataTable/DataTable.module.css.js +14 -0
  501. package/dist/components/DataTable/DataTable.module.css.js.map +1 -0
  502. package/dist/components/DatePicker/DatePicker.cjs +2 -0
  503. package/dist/components/DatePicker/DatePicker.cjs.map +1 -0
  504. package/dist/components/DatePicker/DatePicker.js +19 -0
  505. package/dist/components/DatePicker/DatePicker.js.map +1 -0
  506. package/dist/components/DateRangePicker/DateRangePicker.cjs +2 -0
  507. package/dist/components/DateRangePicker/DateRangePicker.cjs.map +1 -0
  508. package/dist/components/DateRangePicker/DateRangePicker.js +152 -0
  509. package/dist/components/DateRangePicker/DateRangePicker.js.map +1 -0
  510. package/dist/components/DateRangePicker/DateRangePicker.module.css.cjs +2 -0
  511. package/dist/components/DateRangePicker/DateRangePicker.module.css.cjs.map +1 -0
  512. package/dist/components/DateRangePicker/DateRangePicker.module.css.js +40 -0
  513. package/dist/components/DateRangePicker/DateRangePicker.module.css.js.map +1 -0
  514. package/dist/components/DescriptionList/DescriptionList.cjs +2 -0
  515. package/dist/components/DescriptionList/DescriptionList.cjs.map +1 -0
  516. package/dist/components/DescriptionList/DescriptionList.js +14 -0
  517. package/dist/components/DescriptionList/DescriptionList.js.map +1 -0
  518. package/dist/components/DescriptionList/DescriptionList.module.css.cjs +2 -0
  519. package/dist/components/DescriptionList/DescriptionList.module.css.cjs.map +1 -0
  520. package/dist/components/DescriptionList/DescriptionList.module.css.js +12 -0
  521. package/dist/components/DescriptionList/DescriptionList.module.css.js.map +1 -0
  522. package/dist/components/Divider/Divider.cjs +2 -0
  523. package/dist/components/Divider/Divider.cjs.map +1 -0
  524. package/dist/components/Divider/Divider.js +57 -0
  525. package/dist/components/Divider/Divider.js.map +1 -0
  526. package/dist/components/Divider/Divider.module.css.cjs +2 -0
  527. package/dist/components/Divider/Divider.module.css.cjs.map +1 -0
  528. package/dist/components/Divider/Divider.module.css.js +20 -0
  529. package/dist/components/Divider/Divider.module.css.js.map +1 -0
  530. package/dist/components/Drawer/Drawer.cjs +2 -0
  531. package/dist/components/Drawer/Drawer.cjs.map +1 -0
  532. package/dist/components/Drawer/Drawer.js +96 -0
  533. package/dist/components/Drawer/Drawer.js.map +1 -0
  534. package/dist/components/Drawer/Drawer.module.css.cjs +2 -0
  535. package/dist/components/Drawer/Drawer.module.css.cjs.map +1 -0
  536. package/dist/components/Drawer/Drawer.module.css.js +42 -0
  537. package/dist/components/Drawer/Drawer.module.css.js.map +1 -0
  538. package/dist/components/DropdownMenu/DropdownMenu.cjs +2 -0
  539. package/dist/components/DropdownMenu/DropdownMenu.cjs.map +1 -0
  540. package/dist/components/DropdownMenu/DropdownMenu.js +109 -0
  541. package/dist/components/DropdownMenu/DropdownMenu.js.map +1 -0
  542. package/dist/components/DropdownMenu/DropdownMenu.module.css.cjs +2 -0
  543. package/dist/components/DropdownMenu/DropdownMenu.module.css.cjs.map +1 -0
  544. package/dist/components/DropdownMenu/DropdownMenu.module.css.js +28 -0
  545. package/dist/components/DropdownMenu/DropdownMenu.module.css.js.map +1 -0
  546. package/dist/components/Dropzone/Dropzone.cjs +2 -0
  547. package/dist/components/Dropzone/Dropzone.cjs.map +1 -0
  548. package/dist/components/Dropzone/Dropzone.js +80 -0
  549. package/dist/components/Dropzone/Dropzone.js.map +1 -0
  550. package/dist/components/Dropzone/Dropzone.module.css.cjs +2 -0
  551. package/dist/components/Dropzone/Dropzone.module.css.cjs.map +1 -0
  552. package/dist/components/Dropzone/Dropzone.module.css.js +16 -0
  553. package/dist/components/Dropzone/Dropzone.module.css.js.map +1 -0
  554. package/dist/components/EmptyState/EmptyState.cjs +2 -0
  555. package/dist/components/EmptyState/EmptyState.cjs.map +1 -0
  556. package/dist/components/EmptyState/EmptyState.js +15 -0
  557. package/dist/components/EmptyState/EmptyState.js.map +1 -0
  558. package/dist/components/EmptyState/EmptyState.module.css.cjs +2 -0
  559. package/dist/components/EmptyState/EmptyState.module.css.cjs.map +1 -0
  560. package/dist/components/EmptyState/EmptyState.module.css.js +16 -0
  561. package/dist/components/EmptyState/EmptyState.module.css.js.map +1 -0
  562. package/dist/components/ErrorState/ErrorState.cjs +2 -0
  563. package/dist/components/ErrorState/ErrorState.cjs.map +1 -0
  564. package/dist/components/ErrorState/ErrorState.js +35 -0
  565. package/dist/components/ErrorState/ErrorState.js.map +1 -0
  566. package/dist/components/ErrorState/ErrorState.module.css.cjs +2 -0
  567. package/dist/components/ErrorState/ErrorState.module.css.cjs.map +1 -0
  568. package/dist/components/ErrorState/ErrorState.module.css.js +16 -0
  569. package/dist/components/ErrorState/ErrorState.module.css.js.map +1 -0
  570. package/dist/components/ErrorText/ErrorText.cjs +2 -0
  571. package/dist/components/ErrorText/ErrorText.cjs.map +1 -0
  572. package/dist/components/ErrorText/ErrorText.js +10 -0
  573. package/dist/components/ErrorText/ErrorText.js.map +1 -0
  574. package/dist/components/ErrorText/ErrorText.module.css.cjs +2 -0
  575. package/dist/components/ErrorText/ErrorText.module.css.cjs.map +1 -0
  576. package/dist/components/ErrorText/ErrorText.module.css.js +8 -0
  577. package/dist/components/ErrorText/ErrorText.module.css.js.map +1 -0
  578. package/dist/components/FileUpload/FileUpload.cjs +2 -0
  579. package/dist/components/FileUpload/FileUpload.cjs.map +1 -0
  580. package/dist/components/FileUpload/FileUpload.js +127 -0
  581. package/dist/components/FileUpload/FileUpload.js.map +1 -0
  582. package/dist/components/FileUpload/FileUpload.module.css.cjs +2 -0
  583. package/dist/components/FileUpload/FileUpload.module.css.cjs.map +1 -0
  584. package/dist/components/FileUpload/FileUpload.module.css.js +32 -0
  585. package/dist/components/FileUpload/FileUpload.module.css.js.map +1 -0
  586. package/dist/components/FloatingActionButton/FloatingActionButton.cjs +2 -0
  587. package/dist/components/FloatingActionButton/FloatingActionButton.cjs.map +1 -0
  588. package/dist/components/FloatingActionButton/FloatingActionButton.js +39 -0
  589. package/dist/components/FloatingActionButton/FloatingActionButton.js.map +1 -0
  590. package/dist/components/FloatingActionButton/FloatingActionButton.module.css.cjs +2 -0
  591. package/dist/components/FloatingActionButton/FloatingActionButton.module.css.cjs.map +1 -0
  592. package/dist/components/FloatingActionButton/FloatingActionButton.module.css.js +32 -0
  593. package/dist/components/FloatingActionButton/FloatingActionButton.module.css.js.map +1 -0
  594. package/dist/components/For/For.cjs +2 -0
  595. package/dist/components/For/For.cjs.map +1 -0
  596. package/dist/components/For/For.js +9 -0
  597. package/dist/components/For/For.js.map +1 -0
  598. package/dist/components/Form/Form.cjs +2 -0
  599. package/dist/components/Form/Form.cjs.map +1 -0
  600. package/dist/components/Form/Form.js +72 -0
  601. package/dist/components/Form/Form.js.map +1 -0
  602. package/dist/components/Form/Form.module.css.cjs +2 -0
  603. package/dist/components/Form/Form.module.css.cjs.map +1 -0
  604. package/dist/components/Form/Form.module.css.js +36 -0
  605. package/dist/components/Form/Form.module.css.js.map +1 -0
  606. package/dist/components/HoverCard/HoverCard.cjs +2 -0
  607. package/dist/components/HoverCard/HoverCard.cjs.map +1 -0
  608. package/dist/components/HoverCard/HoverCard.js +48 -0
  609. package/dist/components/HoverCard/HoverCard.js.map +1 -0
  610. package/dist/components/HoverCard/HoverCard.module.css.cjs +2 -0
  611. package/dist/components/HoverCard/HoverCard.module.css.cjs.map +1 -0
  612. package/dist/components/HoverCard/HoverCard.module.css.js +22 -0
  613. package/dist/components/HoverCard/HoverCard.module.css.js.map +1 -0
  614. package/dist/components/Image/Image.cjs +2 -0
  615. package/dist/components/Image/Image.cjs.map +1 -0
  616. package/dist/components/Image/Image.js +32 -0
  617. package/dist/components/Image/Image.js.map +1 -0
  618. package/dist/components/Image/Image.module.css.cjs +2 -0
  619. package/dist/components/Image/Image.module.css.cjs.map +1 -0
  620. package/dist/components/Image/Image.module.css.js +8 -0
  621. package/dist/components/Image/Image.module.css.js.map +1 -0
  622. package/dist/components/Input/Input.cjs +2 -0
  623. package/dist/components/Input/Input.cjs.map +1 -0
  624. package/dist/components/Input/Input.js +52 -0
  625. package/dist/components/Input/Input.js.map +1 -0
  626. package/dist/components/Input/Input.module.css.cjs +2 -0
  627. package/dist/components/Input/Input.module.css.cjs.map +1 -0
  628. package/dist/components/Input/Input.module.css.js +36 -0
  629. package/dist/components/Input/Input.module.css.js.map +1 -0
  630. package/dist/components/InstallBanner/InstallBanner.cjs +2 -0
  631. package/dist/components/InstallBanner/InstallBanner.cjs.map +1 -0
  632. package/dist/components/InstallBanner/InstallBanner.js +66 -0
  633. package/dist/components/InstallBanner/InstallBanner.js.map +1 -0
  634. package/dist/components/InstallBanner/InstallBanner.module.css.cjs +2 -0
  635. package/dist/components/InstallBanner/InstallBanner.module.css.cjs.map +1 -0
  636. package/dist/components/InstallBanner/InstallBanner.module.css.js +18 -0
  637. package/dist/components/InstallBanner/InstallBanner.module.css.js.map +1 -0
  638. package/dist/components/InstallButton/InstallButton.cjs +2 -0
  639. package/dist/components/InstallButton/InstallButton.cjs.map +1 -0
  640. package/dist/components/InstallButton/InstallButton.js +20 -0
  641. package/dist/components/InstallButton/InstallButton.js.map +1 -0
  642. package/dist/components/Kbd/Kbd.cjs +2 -0
  643. package/dist/components/Kbd/Kbd.cjs.map +1 -0
  644. package/dist/components/Kbd/Kbd.js +10 -0
  645. package/dist/components/Kbd/Kbd.js.map +1 -0
  646. package/dist/components/Kbd/Kbd.module.css.cjs +2 -0
  647. package/dist/components/Kbd/Kbd.module.css.cjs.map +1 -0
  648. package/dist/components/Kbd/Kbd.module.css.js +14 -0
  649. package/dist/components/Kbd/Kbd.module.css.js.map +1 -0
  650. package/dist/components/Label/Label.cjs +2 -0
  651. package/dist/components/Label/Label.cjs.map +1 -0
  652. package/dist/components/Label/Label.js +14 -0
  653. package/dist/components/Label/Label.js.map +1 -0
  654. package/dist/components/Label/Label.module.css.cjs +2 -0
  655. package/dist/components/Label/Label.module.css.cjs.map +1 -0
  656. package/dist/components/Label/Label.module.css.js +10 -0
  657. package/dist/components/Label/Label.module.css.js.map +1 -0
  658. package/dist/components/Layout/Layout.cjs +2 -0
  659. package/dist/components/Layout/Layout.cjs.map +1 -0
  660. package/dist/components/Layout/Layout.js +72 -0
  661. package/dist/components/Layout/Layout.js.map +1 -0
  662. package/dist/components/Layout/Layout.module.css.cjs +2 -0
  663. package/dist/components/Layout/Layout.module.css.cjs.map +1 -0
  664. package/dist/components/Layout/Layout.module.css.js +44 -0
  665. package/dist/components/Layout/Layout.module.css.js.map +1 -0
  666. package/dist/components/ListTile/ListTile.cjs +2 -0
  667. package/dist/components/ListTile/ListTile.cjs.map +1 -0
  668. package/dist/components/ListTile/ListTile.js +42 -0
  669. package/dist/components/ListTile/ListTile.js.map +1 -0
  670. package/dist/components/ListTile/ListTile.module.css.cjs +2 -0
  671. package/dist/components/ListTile/ListTile.module.css.cjs.map +1 -0
  672. package/dist/components/ListTile/ListTile.module.css.js +24 -0
  673. package/dist/components/ListTile/ListTile.module.css.js.map +1 -0
  674. package/dist/components/Menubar/Menubar.cjs +2 -0
  675. package/dist/components/Menubar/Menubar.cjs.map +1 -0
  676. package/dist/components/Menubar/Menubar.js +84 -0
  677. package/dist/components/Menubar/Menubar.js.map +1 -0
  678. package/dist/components/Menubar/Menubar.module.css.cjs +2 -0
  679. package/dist/components/Menubar/Menubar.module.css.cjs.map +1 -0
  680. package/dist/components/Menubar/Menubar.module.css.js +24 -0
  681. package/dist/components/Menubar/Menubar.module.css.js.map +1 -0
  682. package/dist/components/Modal/Modal.cjs +2 -0
  683. package/dist/components/Modal/Modal.cjs.map +1 -0
  684. package/dist/components/Modal/Modal.js +97 -0
  685. package/dist/components/Modal/Modal.js.map +1 -0
  686. package/dist/components/Modal/Modal.module.css.cjs +2 -0
  687. package/dist/components/Modal/Modal.module.css.cjs.map +1 -0
  688. package/dist/components/Modal/Modal.module.css.js +40 -0
  689. package/dist/components/Modal/Modal.module.css.js.map +1 -0
  690. package/dist/components/ModalsManager/ModalsManager.cjs +2 -0
  691. package/dist/components/ModalsManager/ModalsManager.cjs.map +1 -0
  692. package/dist/components/ModalsManager/ModalsManager.js +88 -0
  693. package/dist/components/ModalsManager/ModalsManager.js.map +1 -0
  694. package/dist/components/ModalsManager/ModalsManager.module.css.cjs +2 -0
  695. package/dist/components/ModalsManager/ModalsManager.module.css.cjs.map +1 -0
  696. package/dist/components/ModalsManager/ModalsManager.module.css.js +8 -0
  697. package/dist/components/ModalsManager/ModalsManager.module.css.js.map +1 -0
  698. package/dist/components/Money/Money.cjs +2 -0
  699. package/dist/components/Money/Money.cjs.map +1 -0
  700. package/dist/components/Money/Money.js +12 -0
  701. package/dist/components/Money/Money.js.map +1 -0
  702. package/dist/components/MultiSelect/MultiSelect.cjs +2 -0
  703. package/dist/components/MultiSelect/MultiSelect.cjs.map +1 -0
  704. package/dist/components/MultiSelect/MultiSelect.js +155 -0
  705. package/dist/components/MultiSelect/MultiSelect.js.map +1 -0
  706. package/dist/components/MultiSelect/MultiSelect.module.css.cjs +2 -0
  707. package/dist/components/MultiSelect/MultiSelect.module.css.cjs.map +1 -0
  708. package/dist/components/MultiSelect/MultiSelect.module.css.js +38 -0
  709. package/dist/components/MultiSelect/MultiSelect.module.css.js.map +1 -0
  710. package/dist/components/NProgress/NProgress.cjs +2 -0
  711. package/dist/components/NProgress/NProgress.cjs.map +1 -0
  712. package/dist/components/NProgress/NProgress.js +66 -0
  713. package/dist/components/NProgress/NProgress.js.map +1 -0
  714. package/dist/components/NProgress/NProgress.module.css.cjs +2 -0
  715. package/dist/components/NProgress/NProgress.module.css.cjs.map +1 -0
  716. package/dist/components/NProgress/NProgress.module.css.js +8 -0
  717. package/dist/components/NProgress/NProgress.module.css.js.map +1 -0
  718. package/dist/components/Navbar/Navbar.cjs +2 -0
  719. package/dist/components/Navbar/Navbar.cjs.map +1 -0
  720. package/dist/components/Navbar/Navbar.js +36 -0
  721. package/dist/components/Navbar/Navbar.js.map +1 -0
  722. package/dist/components/Navbar/Navbar.module.css.cjs +2 -0
  723. package/dist/components/Navbar/Navbar.module.css.cjs.map +1 -0
  724. package/dist/components/Navbar/Navbar.module.css.js +24 -0
  725. package/dist/components/Navbar/Navbar.module.css.js.map +1 -0
  726. package/dist/components/NavigationMenu/NavigationMenu.cjs +2 -0
  727. package/dist/components/NavigationMenu/NavigationMenu.cjs.map +1 -0
  728. package/dist/components/NavigationMenu/NavigationMenu.js +78 -0
  729. package/dist/components/NavigationMenu/NavigationMenu.js.map +1 -0
  730. package/dist/components/NavigationMenu/NavigationMenu.module.css.cjs +2 -0
  731. package/dist/components/NavigationMenu/NavigationMenu.module.css.cjs.map +1 -0
  732. package/dist/components/NavigationMenu/NavigationMenu.module.css.js +20 -0
  733. package/dist/components/NavigationMenu/NavigationMenu.module.css.js.map +1 -0
  734. package/dist/components/NavigationRail/NavigationRail.cjs +2 -0
  735. package/dist/components/NavigationRail/NavigationRail.cjs.map +1 -0
  736. package/dist/components/NavigationRail/NavigationRail.js +42 -0
  737. package/dist/components/NavigationRail/NavigationRail.js.map +1 -0
  738. package/dist/components/NavigationRail/NavigationRail.module.css.cjs +2 -0
  739. package/dist/components/NavigationRail/NavigationRail.module.css.cjs.map +1 -0
  740. package/dist/components/NavigationRail/NavigationRail.module.css.js +26 -0
  741. package/dist/components/NavigationRail/NavigationRail.module.css.js.map +1 -0
  742. package/dist/components/OfflineIndicator/OfflineIndicator.cjs +2 -0
  743. package/dist/components/OfflineIndicator/OfflineIndicator.cjs.map +1 -0
  744. package/dist/components/OfflineIndicator/OfflineIndicator.js +50 -0
  745. package/dist/components/OfflineIndicator/OfflineIndicator.js.map +1 -0
  746. package/dist/components/OfflineIndicator/OfflineIndicator.module.css.cjs +2 -0
  747. package/dist/components/OfflineIndicator/OfflineIndicator.module.css.cjs.map +1 -0
  748. package/dist/components/OfflineIndicator/OfflineIndicator.module.css.js +18 -0
  749. package/dist/components/OfflineIndicator/OfflineIndicator.module.css.js.map +1 -0
  750. package/dist/components/Page/Page.cjs +2 -0
  751. package/dist/components/Page/Page.cjs.map +1 -0
  752. package/dist/components/Page/Page.js +34 -0
  753. package/dist/components/Page/Page.js.map +1 -0
  754. package/dist/components/Page/Page.module.css.cjs +2 -0
  755. package/dist/components/Page/Page.module.css.cjs.map +1 -0
  756. package/dist/components/Page/Page.module.css.js +28 -0
  757. package/dist/components/Page/Page.module.css.js.map +1 -0
  758. package/dist/components/Pagination/Pagination.cjs +2 -0
  759. package/dist/components/Pagination/Pagination.cjs.map +1 -0
  760. package/dist/components/Pagination/Pagination.js +97 -0
  761. package/dist/components/Pagination/Pagination.js.map +1 -0
  762. package/dist/components/Pagination/Pagination.module.css.cjs +2 -0
  763. package/dist/components/Pagination/Pagination.module.css.cjs.map +1 -0
  764. package/dist/components/Pagination/Pagination.module.css.js +22 -0
  765. package/dist/components/Pagination/Pagination.module.css.js.map +1 -0
  766. package/dist/components/PasswordInput/PasswordInput.cjs +2 -0
  767. package/dist/components/PasswordInput/PasswordInput.cjs.map +1 -0
  768. package/dist/components/PasswordInput/PasswordInput.js +76 -0
  769. package/dist/components/PasswordInput/PasswordInput.js.map +1 -0
  770. package/dist/components/PasswordInput/PasswordInput.module.css.cjs +2 -0
  771. package/dist/components/PasswordInput/PasswordInput.module.css.cjs.map +1 -0
  772. package/dist/components/PasswordInput/PasswordInput.module.css.js +44 -0
  773. package/dist/components/PasswordInput/PasswordInput.module.css.js.map +1 -0
  774. package/dist/components/PinInput/PinInput.cjs +2 -0
  775. package/dist/components/PinInput/PinInput.cjs.map +1 -0
  776. package/dist/components/PinInput/PinInput.js +86 -0
  777. package/dist/components/PinInput/PinInput.js.map +1 -0
  778. package/dist/components/PinInput/PinInput.module.css.cjs +2 -0
  779. package/dist/components/PinInput/PinInput.module.css.cjs.map +1 -0
  780. package/dist/components/PinInput/PinInput.module.css.js +26 -0
  781. package/dist/components/PinInput/PinInput.module.css.js.map +1 -0
  782. package/dist/components/Popover/Popover.cjs +2 -0
  783. package/dist/components/Popover/Popover.cjs.map +1 -0
  784. package/dist/components/Popover/Popover.js +60 -0
  785. package/dist/components/Popover/Popover.js.map +1 -0
  786. package/dist/components/Popover/Popover.module.css.cjs +2 -0
  787. package/dist/components/Popover/Popover.module.css.cjs.map +1 -0
  788. package/dist/components/Popover/Popover.module.css.js +20 -0
  789. package/dist/components/Popover/Popover.module.css.js.map +1 -0
  790. package/dist/components/Portal/Portal.cjs +2 -0
  791. package/dist/components/Portal/Portal.cjs.map +1 -0
  792. package/dist/components/Portal/Portal.js +10 -0
  793. package/dist/components/Portal/Portal.js.map +1 -0
  794. package/dist/components/Progress/Progress.cjs +2 -0
  795. package/dist/components/Progress/Progress.cjs.map +1 -0
  796. package/dist/components/Progress/Progress.js +48 -0
  797. package/dist/components/Progress/Progress.js.map +1 -0
  798. package/dist/components/Progress/Progress.module.css.cjs +2 -0
  799. package/dist/components/Progress/Progress.module.css.cjs.map +1 -0
  800. package/dist/components/Progress/Progress.module.css.js +24 -0
  801. package/dist/components/Progress/Progress.module.css.js.map +1 -0
  802. package/dist/components/Radio/Radio.cjs +2 -0
  803. package/dist/components/Radio/Radio.cjs.map +1 -0
  804. package/dist/components/Radio/Radio.js +82 -0
  805. package/dist/components/Radio/Radio.js.map +1 -0
  806. package/dist/components/Radio/Radio.module.css.cjs +2 -0
  807. package/dist/components/Radio/Radio.module.css.cjs.map +1 -0
  808. package/dist/components/Radio/Radio.module.css.js +24 -0
  809. package/dist/components/Radio/Radio.module.css.js.map +1 -0
  810. package/dist/components/RangeSlider/RangeSlider.cjs +2 -0
  811. package/dist/components/RangeSlider/RangeSlider.cjs.map +1 -0
  812. package/dist/components/RangeSlider/RangeSlider.js +79 -0
  813. package/dist/components/RangeSlider/RangeSlider.js.map +1 -0
  814. package/dist/components/RangeSlider/RangeSlider.module.css.cjs +2 -0
  815. package/dist/components/RangeSlider/RangeSlider.module.css.cjs.map +1 -0
  816. package/dist/components/RangeSlider/RangeSlider.module.css.js +22 -0
  817. package/dist/components/RangeSlider/RangeSlider.module.css.js.map +1 -0
  818. package/dist/components/RatingStars/RatingStars.cjs +2 -0
  819. package/dist/components/RatingStars/RatingStars.cjs.map +1 -0
  820. package/dist/components/RatingStars/RatingStars.js +71 -0
  821. package/dist/components/RatingStars/RatingStars.js.map +1 -0
  822. package/dist/components/RatingStars/RatingStars.module.css.cjs +2 -0
  823. package/dist/components/RatingStars/RatingStars.module.css.cjs.map +1 -0
  824. package/dist/components/RatingStars/RatingStars.module.css.js +22 -0
  825. package/dist/components/RatingStars/RatingStars.module.css.js.map +1 -0
  826. package/dist/components/RefreshIndicator/RefreshIndicator.cjs +2 -0
  827. package/dist/components/RefreshIndicator/RefreshIndicator.cjs.map +1 -0
  828. package/dist/components/RefreshIndicator/RefreshIndicator.js +90 -0
  829. package/dist/components/RefreshIndicator/RefreshIndicator.js.map +1 -0
  830. package/dist/components/RefreshIndicator/RefreshIndicator.module.css.cjs +2 -0
  831. package/dist/components/RefreshIndicator/RefreshIndicator.module.css.cjs.map +1 -0
  832. package/dist/components/RefreshIndicator/RefreshIndicator.module.css.js +14 -0
  833. package/dist/components/RefreshIndicator/RefreshIndicator.module.css.js.map +1 -0
  834. package/dist/components/RelativeTime/RelativeTime.cjs +2 -0
  835. package/dist/components/RelativeTime/RelativeTime.cjs.map +1 -0
  836. package/dist/components/RelativeTime/RelativeTime.js +10 -0
  837. package/dist/components/RelativeTime/RelativeTime.js.map +1 -0
  838. package/dist/components/Resizable/Resizable.cjs +2 -0
  839. package/dist/components/Resizable/Resizable.cjs.map +1 -0
  840. package/dist/components/Resizable/Resizable.js +89 -0
  841. package/dist/components/Resizable/Resizable.js.map +1 -0
  842. package/dist/components/Resizable/Resizable.module.css.cjs +2 -0
  843. package/dist/components/Resizable/Resizable.module.css.cjs.map +1 -0
  844. package/dist/components/Resizable/Resizable.module.css.js +18 -0
  845. package/dist/components/Resizable/Resizable.module.css.js.map +1 -0
  846. package/dist/components/Responsive/Responsive.cjs +2 -0
  847. package/dist/components/Responsive/Responsive.cjs.map +1 -0
  848. package/dist/components/Responsive/Responsive.js +17 -0
  849. package/dist/components/Responsive/Responsive.js.map +1 -0
  850. package/dist/components/SafeArea/SafeArea.cjs +2 -0
  851. package/dist/components/SafeArea/SafeArea.cjs.map +1 -0
  852. package/dist/components/SafeArea/SafeArea.js +33 -0
  853. package/dist/components/SafeArea/SafeArea.js.map +1 -0
  854. package/dist/components/SafeArea/SafeArea.module.css.cjs +2 -0
  855. package/dist/components/SafeArea/SafeArea.module.css.cjs.map +1 -0
  856. package/dist/components/SafeArea/SafeArea.module.css.js +18 -0
  857. package/dist/components/SafeArea/SafeArea.module.css.js.map +1 -0
  858. package/dist/components/ScrollArea/ScrollArea.cjs +2 -0
  859. package/dist/components/ScrollArea/ScrollArea.cjs.map +1 -0
  860. package/dist/components/ScrollArea/ScrollArea.js +17 -0
  861. package/dist/components/ScrollArea/ScrollArea.js.map +1 -0
  862. package/dist/components/ScrollArea/ScrollArea.module.css.cjs +2 -0
  863. package/dist/components/ScrollArea/ScrollArea.module.css.cjs.map +1 -0
  864. package/dist/components/ScrollArea/ScrollArea.module.css.js +8 -0
  865. package/dist/components/ScrollArea/ScrollArea.module.css.js.map +1 -0
  866. package/dist/components/SearchBar/SearchBar.cjs +2 -0
  867. package/dist/components/SearchBar/SearchBar.cjs.map +1 -0
  868. package/dist/components/SearchBar/SearchBar.js +55 -0
  869. package/dist/components/SearchBar/SearchBar.js.map +1 -0
  870. package/dist/components/SearchBar/SearchBar.module.css.cjs +2 -0
  871. package/dist/components/SearchBar/SearchBar.module.css.cjs.map +1 -0
  872. package/dist/components/SearchBar/SearchBar.module.css.js +14 -0
  873. package/dist/components/SearchBar/SearchBar.module.css.js.map +1 -0
  874. package/dist/components/SegmentedControl/SegmentedControl.cjs +2 -0
  875. package/dist/components/SegmentedControl/SegmentedControl.cjs.map +1 -0
  876. package/dist/components/SegmentedControl/SegmentedControl.js +46 -0
  877. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -0
  878. package/dist/components/SegmentedControl/SegmentedControl.module.css.cjs +2 -0
  879. package/dist/components/SegmentedControl/SegmentedControl.module.css.cjs.map +1 -0
  880. package/dist/components/SegmentedControl/SegmentedControl.module.css.js +24 -0
  881. package/dist/components/SegmentedControl/SegmentedControl.module.css.js.map +1 -0
  882. package/dist/components/Select/Select.cjs +2 -0
  883. package/dist/components/Select/Select.cjs.map +1 -0
  884. package/dist/components/Select/Select.js +61 -0
  885. package/dist/components/Select/Select.js.map +1 -0
  886. package/dist/components/Select/Select.module.css.cjs +2 -0
  887. package/dist/components/Select/Select.module.css.cjs.map +1 -0
  888. package/dist/components/Select/Select.module.css.js +24 -0
  889. package/dist/components/Select/Select.module.css.js.map +1 -0
  890. package/dist/components/Sidebar/Sidebar.cjs +2 -0
  891. package/dist/components/Sidebar/Sidebar.cjs.map +1 -0
  892. package/dist/components/Sidebar/Sidebar.js +54 -0
  893. package/dist/components/Sidebar/Sidebar.js.map +1 -0
  894. package/dist/components/Sidebar/Sidebar.module.css.cjs +2 -0
  895. package/dist/components/Sidebar/Sidebar.module.css.cjs.map +1 -0
  896. package/dist/components/Sidebar/Sidebar.module.css.js +26 -0
  897. package/dist/components/Sidebar/Sidebar.module.css.js.map +1 -0
  898. package/dist/components/Skeleton/Skeleton.cjs +2 -0
  899. package/dist/components/Skeleton/Skeleton.cjs.map +1 -0
  900. package/dist/components/Skeleton/Skeleton.js +22 -0
  901. package/dist/components/Skeleton/Skeleton.js.map +1 -0
  902. package/dist/components/Skeleton/Skeleton.module.css.cjs +2 -0
  903. package/dist/components/Skeleton/Skeleton.module.css.cjs.map +1 -0
  904. package/dist/components/Skeleton/Skeleton.module.css.js +12 -0
  905. package/dist/components/Skeleton/Skeleton.module.css.js.map +1 -0
  906. package/dist/components/Slider/Slider.cjs +2 -0
  907. package/dist/components/Slider/Slider.cjs.map +1 -0
  908. package/dist/components/Slider/Slider.js +56 -0
  909. package/dist/components/Slider/Slider.js.map +1 -0
  910. package/dist/components/Slider/Slider.module.css.cjs +2 -0
  911. package/dist/components/Slider/Slider.module.css.cjs.map +1 -0
  912. package/dist/components/Slider/Slider.module.css.js +22 -0
  913. package/dist/components/Slider/Slider.module.css.js.map +1 -0
  914. package/dist/components/Spacer/Spacer.cjs +2 -0
  915. package/dist/components/Spacer/Spacer.cjs.map +1 -0
  916. package/dist/components/Spacer/Spacer.js +10 -0
  917. package/dist/components/Spacer/Spacer.js.map +1 -0
  918. package/dist/components/Spacer/Spacer.module.css.cjs +2 -0
  919. package/dist/components/Spacer/Spacer.module.css.cjs.map +1 -0
  920. package/dist/components/Spacer/Spacer.module.css.js +14 -0
  921. package/dist/components/Spacer/Spacer.module.css.js.map +1 -0
  922. package/dist/components/Spinner/Spinner.cjs +2 -0
  923. package/dist/components/Spinner/Spinner.cjs.map +1 -0
  924. package/dist/components/Spinner/Spinner.js +36 -0
  925. package/dist/components/Spinner/Spinner.js.map +1 -0
  926. package/dist/components/Spinner/Spinner.module.css.cjs +2 -0
  927. package/dist/components/Spinner/Spinner.module.css.cjs.map +1 -0
  928. package/dist/components/Spinner/Spinner.module.css.js +26 -0
  929. package/dist/components/Spinner/Spinner.module.css.js.map +1 -0
  930. package/dist/components/Stat/Stat.cjs +2 -0
  931. package/dist/components/Stat/Stat.cjs.map +1 -0
  932. package/dist/components/Stat/Stat.js +38 -0
  933. package/dist/components/Stat/Stat.js.map +1 -0
  934. package/dist/components/Stat/Stat.module.css.cjs +2 -0
  935. package/dist/components/Stat/Stat.module.css.cjs.map +1 -0
  936. package/dist/components/Stat/Stat.module.css.js +28 -0
  937. package/dist/components/Stat/Stat.module.css.js.map +1 -0
  938. package/dist/components/Stepper/Stepper.cjs +2 -0
  939. package/dist/components/Stepper/Stepper.cjs.map +1 -0
  940. package/dist/components/Stepper/Stepper.js +43 -0
  941. package/dist/components/Stepper/Stepper.js.map +1 -0
  942. package/dist/components/Stepper/Stepper.module.css.cjs +2 -0
  943. package/dist/components/Stepper/Stepper.module.css.cjs.map +1 -0
  944. package/dist/components/Stepper/Stepper.module.css.js +22 -0
  945. package/dist/components/Stepper/Stepper.module.css.js.map +1 -0
  946. package/dist/components/StepperInput/StepperInput.cjs +2 -0
  947. package/dist/components/StepperInput/StepperInput.cjs.map +1 -0
  948. package/dist/components/StepperInput/StepperInput.js +56 -0
  949. package/dist/components/StepperInput/StepperInput.js.map +1 -0
  950. package/dist/components/StepperInput/StepperInput.module.css.cjs +2 -0
  951. package/dist/components/StepperInput/StepperInput.module.css.cjs.map +1 -0
  952. package/dist/components/StepperInput/StepperInput.module.css.js +24 -0
  953. package/dist/components/StepperInput/StepperInput.module.css.js.map +1 -0
  954. package/dist/components/Switch/Switch.cjs +2 -0
  955. package/dist/components/Switch/Switch.cjs.map +1 -0
  956. package/dist/components/Switch/Switch.js +25 -0
  957. package/dist/components/Switch/Switch.js.map +1 -0
  958. package/dist/components/Switch/Switch.module.css.cjs +2 -0
  959. package/dist/components/Switch/Switch.module.css.cjs.map +1 -0
  960. package/dist/components/Switch/Switch.module.css.js +18 -0
  961. package/dist/components/Switch/Switch.module.css.js.map +1 -0
  962. package/dist/components/SyncStatusBadge/SyncStatusBadge.cjs +2 -0
  963. package/dist/components/SyncStatusBadge/SyncStatusBadge.cjs.map +1 -0
  964. package/dist/components/SyncStatusBadge/SyncStatusBadge.js +62 -0
  965. package/dist/components/SyncStatusBadge/SyncStatusBadge.js.map +1 -0
  966. package/dist/components/SyncStatusBadge/SyncStatusBadge.module.css.cjs +2 -0
  967. package/dist/components/SyncStatusBadge/SyncStatusBadge.module.css.cjs.map +1 -0
  968. package/dist/components/SyncStatusBadge/SyncStatusBadge.module.css.js +28 -0
  969. package/dist/components/SyncStatusBadge/SyncStatusBadge.module.css.js.map +1 -0
  970. package/dist/components/Table/Table.cjs +2 -0
  971. package/dist/components/Table/Table.cjs.map +1 -0
  972. package/dist/components/Table/Table.js +67 -0
  973. package/dist/components/Table/Table.js.map +1 -0
  974. package/dist/components/Table/Table.module.css.cjs +2 -0
  975. package/dist/components/Table/Table.module.css.cjs.map +1 -0
  976. package/dist/components/Table/Table.module.css.js +34 -0
  977. package/dist/components/Table/Table.module.css.js.map +1 -0
  978. package/dist/components/Tabs/Tabs.cjs +2 -0
  979. package/dist/components/Tabs/Tabs.cjs.map +1 -0
  980. package/dist/components/Tabs/Tabs.js +51 -0
  981. package/dist/components/Tabs/Tabs.js.map +1 -0
  982. package/dist/components/Tabs/Tabs.module.css.cjs +2 -0
  983. package/dist/components/Tabs/Tabs.module.css.cjs.map +1 -0
  984. package/dist/components/Tabs/Tabs.module.css.js +16 -0
  985. package/dist/components/Tabs/Tabs.module.css.js.map +1 -0
  986. package/dist/components/Tag/Tag.cjs +2 -0
  987. package/dist/components/Tag/Tag.cjs.map +1 -0
  988. package/dist/components/Tag/Tag.js +30 -0
  989. package/dist/components/Tag/Tag.js.map +1 -0
  990. package/dist/components/Tag/Tag.module.css.cjs +2 -0
  991. package/dist/components/Tag/Tag.module.css.cjs.map +1 -0
  992. package/dist/components/Tag/Tag.module.css.js +30 -0
  993. package/dist/components/Tag/Tag.module.css.js.map +1 -0
  994. package/dist/components/Textarea/Textarea.cjs +2 -0
  995. package/dist/components/Textarea/Textarea.cjs.map +1 -0
  996. package/dist/components/Textarea/Textarea.js +29 -0
  997. package/dist/components/Textarea/Textarea.js.map +1 -0
  998. package/dist/components/Textarea/Textarea.module.css.cjs +2 -0
  999. package/dist/components/Textarea/Textarea.module.css.cjs.map +1 -0
  1000. package/dist/components/Textarea/Textarea.module.css.js +20 -0
  1001. package/dist/components/Textarea/Textarea.module.css.js.map +1 -0
  1002. package/dist/components/TimePicker/TimePicker.cjs +2 -0
  1003. package/dist/components/TimePicker/TimePicker.cjs.map +1 -0
  1004. package/dist/components/TimePicker/TimePicker.js +107 -0
  1005. package/dist/components/TimePicker/TimePicker.js.map +1 -0
  1006. package/dist/components/TimePicker/TimePicker.module.css.cjs +2 -0
  1007. package/dist/components/TimePicker/TimePicker.module.css.cjs.map +1 -0
  1008. package/dist/components/TimePicker/TimePicker.module.css.js +24 -0
  1009. package/dist/components/TimePicker/TimePicker.module.css.js.map +1 -0
  1010. package/dist/components/Timeline/Timeline.cjs +2 -0
  1011. package/dist/components/Timeline/Timeline.cjs.map +1 -0
  1012. package/dist/components/Timeline/Timeline.js +35 -0
  1013. package/dist/components/Timeline/Timeline.js.map +1 -0
  1014. package/dist/components/Timeline/Timeline.module.css.cjs +2 -0
  1015. package/dist/components/Timeline/Timeline.module.css.cjs.map +1 -0
  1016. package/dist/components/Timeline/Timeline.module.css.js +36 -0
  1017. package/dist/components/Timeline/Timeline.module.css.js.map +1 -0
  1018. package/dist/components/Toast/Toast.module.css.cjs +2 -0
  1019. package/dist/components/Toast/Toast.module.css.cjs.map +1 -0
  1020. package/dist/components/Toast/Toast.module.css.js +38 -0
  1021. package/dist/components/Toast/Toast.module.css.js.map +1 -0
  1022. package/dist/components/Toast/ToastProvider.cjs +2 -0
  1023. package/dist/components/Toast/ToastProvider.cjs.map +1 -0
  1024. package/dist/components/Toast/ToastProvider.js +114 -0
  1025. package/dist/components/Toast/ToastProvider.js.map +1 -0
  1026. package/dist/components/Toggle/Toggle.cjs +2 -0
  1027. package/dist/components/Toggle/Toggle.cjs.map +1 -0
  1028. package/dist/components/Toggle/Toggle.js +49 -0
  1029. package/dist/components/Toggle/Toggle.js.map +1 -0
  1030. package/dist/components/Toggle/Toggle.module.css.cjs +2 -0
  1031. package/dist/components/Toggle/Toggle.module.css.cjs.map +1 -0
  1032. package/dist/components/Toggle/Toggle.module.css.js +18 -0
  1033. package/dist/components/Toggle/Toggle.module.css.js.map +1 -0
  1034. package/dist/components/ToggleGroup/ToggleGroup.cjs +2 -0
  1035. package/dist/components/ToggleGroup/ToggleGroup.cjs.map +1 -0
  1036. package/dist/components/ToggleGroup/ToggleGroup.js +74 -0
  1037. package/dist/components/ToggleGroup/ToggleGroup.js.map +1 -0
  1038. package/dist/components/ToggleGroup/ToggleGroup.module.css.cjs +2 -0
  1039. package/dist/components/ToggleGroup/ToggleGroup.module.css.cjs.map +1 -0
  1040. package/dist/components/ToggleGroup/ToggleGroup.module.css.js +12 -0
  1041. package/dist/components/ToggleGroup/ToggleGroup.module.css.js.map +1 -0
  1042. package/dist/components/Tooltip/Tooltip.cjs +2 -0
  1043. package/dist/components/Tooltip/Tooltip.cjs.map +1 -0
  1044. package/dist/components/Tooltip/Tooltip.js +43 -0
  1045. package/dist/components/Tooltip/Tooltip.js.map +1 -0
  1046. package/dist/components/Tooltip/Tooltip.module.css.cjs +2 -0
  1047. package/dist/components/Tooltip/Tooltip.module.css.cjs.map +1 -0
  1048. package/dist/components/Tooltip/Tooltip.module.css.js +20 -0
  1049. package/dist/components/Tooltip/Tooltip.module.css.js.map +1 -0
  1050. package/dist/components/TruncateText/TruncateText.cjs +2 -0
  1051. package/dist/components/TruncateText/TruncateText.cjs.map +1 -0
  1052. package/dist/components/TruncateText/TruncateText.js +20 -0
  1053. package/dist/components/TruncateText/TruncateText.js.map +1 -0
  1054. package/dist/components/TruncateText/TruncateText.module.css.cjs +2 -0
  1055. package/dist/components/TruncateText/TruncateText.module.css.cjs.map +1 -0
  1056. package/dist/components/TruncateText/TruncateText.module.css.js +8 -0
  1057. package/dist/components/TruncateText/TruncateText.module.css.js.map +1 -0
  1058. package/dist/components/UpdatePrompt/UpdatePrompt.cjs +2 -0
  1059. package/dist/components/UpdatePrompt/UpdatePrompt.cjs.map +1 -0
  1060. package/dist/components/UpdatePrompt/UpdatePrompt.js +43 -0
  1061. package/dist/components/UpdatePrompt/UpdatePrompt.js.map +1 -0
  1062. package/dist/components/UpdatePrompt/UpdatePrompt.module.css.cjs +2 -0
  1063. package/dist/components/UpdatePrompt/UpdatePrompt.module.css.cjs.map +1 -0
  1064. package/dist/components/UpdatePrompt/UpdatePrompt.module.css.js +20 -0
  1065. package/dist/components/UpdatePrompt/UpdatePrompt.module.css.js.map +1 -0
  1066. package/dist/components/VirtualList/VirtualList.cjs +2 -0
  1067. package/dist/components/VirtualList/VirtualList.cjs.map +1 -0
  1068. package/dist/components/VirtualList/VirtualList.js +50 -0
  1069. package/dist/components/VirtualList/VirtualList.js.map +1 -0
  1070. package/dist/components/VirtualList/VirtualList.module.css.cjs +2 -0
  1071. package/dist/components/VirtualList/VirtualList.module.css.cjs.map +1 -0
  1072. package/dist/components/VirtualList/VirtualList.module.css.js +12 -0
  1073. package/dist/components/VirtualList/VirtualList.module.css.js.map +1 -0
  1074. package/dist/components/VisuallyHidden/VisuallyHidden.cjs +2 -0
  1075. package/dist/components/VisuallyHidden/VisuallyHidden.cjs.map +1 -0
  1076. package/dist/components/VisuallyHidden/VisuallyHidden.js +15 -0
  1077. package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -0
  1078. package/dist/components/VisuallyHidden/VisuallyHidden.module.css.cjs +2 -0
  1079. package/dist/components/VisuallyHidden/VisuallyHidden.module.css.cjs.map +1 -0
  1080. package/dist/components/VisuallyHidden/VisuallyHidden.module.css.js +8 -0
  1081. package/dist/components/VisuallyHidden/VisuallyHidden.module.css.js.map +1 -0
  1082. package/dist/data/create-data-provider.cjs +2 -0
  1083. package/dist/data/create-data-provider.cjs.map +1 -0
  1084. package/dist/data/create-data-provider.js +46 -0
  1085. package/dist/data/create-data-provider.js.map +1 -0
  1086. package/dist/data/data-provider-context.cjs +2 -0
  1087. package/dist/data/data-provider-context.cjs.map +1 -0
  1088. package/dist/data/data-provider-context.js +17 -0
  1089. package/dist/data/data-provider-context.js.map +1 -0
  1090. package/dist/data/use-resource.cjs +2 -0
  1091. package/dist/data/use-resource.cjs.map +1 -0
  1092. package/dist/data/use-resource.js +66 -0
  1093. package/dist/data/use-resource.js.map +1 -0
  1094. package/dist/editor/RichTextEditor.cjs +2 -0
  1095. package/dist/editor/RichTextEditor.cjs.map +1 -0
  1096. package/dist/editor/RichTextEditor.js +183 -0
  1097. package/dist/editor/RichTextEditor.js.map +1 -0
  1098. package/dist/editor/RichTextEditor.module.css.cjs +2 -0
  1099. package/dist/editor/RichTextEditor.module.css.cjs.map +1 -0
  1100. package/dist/editor/RichTextEditor.module.css.js +18 -0
  1101. package/dist/editor/RichTextEditor.module.css.js.map +1 -0
  1102. package/dist/editor.cjs +1 -1
  1103. package/dist/editor.cjs.map +1 -1
  1104. package/dist/editor.js +2 -187
  1105. package/dist/editor.js.map +1 -1
  1106. package/dist/error-boundary/ErrorBoundary.cjs +2 -0
  1107. package/dist/error-boundary/ErrorBoundary.cjs.map +1 -0
  1108. package/dist/error-boundary/ErrorBoundary.js +32 -0
  1109. package/dist/error-boundary/ErrorBoundary.js.map +1 -0
  1110. package/dist/error-boundary/use-error-handler.cjs +2 -0
  1111. package/dist/error-boundary/use-error-handler.cjs.map +1 -0
  1112. package/dist/error-boundary/use-error-handler.js +13 -0
  1113. package/dist/error-boundary/use-error-handler.js.map +1 -0
  1114. package/dist/feature-flags/FeatureFlagsProvider.cjs +2 -0
  1115. package/dist/feature-flags/FeatureFlagsProvider.cjs.map +1 -0
  1116. package/dist/feature-flags/FeatureFlagsProvider.js +29 -0
  1117. package/dist/feature-flags/FeatureFlagsProvider.js.map +1 -0
  1118. package/dist/feature-flags/growthbook-adapter.cjs +2 -0
  1119. package/dist/feature-flags/growthbook-adapter.cjs.map +1 -0
  1120. package/dist/feature-flags/growthbook-adapter.js +27 -0
  1121. package/dist/feature-flags/growthbook-adapter.js.map +1 -0
  1122. package/dist/feature-flags/in-memory-adapter.cjs +2 -0
  1123. package/dist/feature-flags/in-memory-adapter.cjs.map +1 -0
  1124. package/dist/feature-flags/in-memory-adapter.js +24 -0
  1125. package/dist/feature-flags/in-memory-adapter.js.map +1 -0
  1126. package/dist/feature-flags/launchdarkly-adapter.cjs +2 -0
  1127. package/dist/feature-flags/launchdarkly-adapter.cjs.map +1 -0
  1128. package/dist/feature-flags/launchdarkly-adapter.js +21 -0
  1129. package/dist/feature-flags/launchdarkly-adapter.js.map +1 -0
  1130. package/dist/forms/FormField.cjs +2 -0
  1131. package/dist/forms/FormField.cjs.map +1 -0
  1132. package/dist/forms/FormField.js +37 -0
  1133. package/dist/forms/FormField.js.map +1 -0
  1134. package/dist/forms/br-validators.cjs +2 -0
  1135. package/dist/forms/br-validators.cjs.map +1 -0
  1136. package/dist/forms/br-validators.js +44 -0
  1137. package/dist/forms/br-validators.js.map +1 -0
  1138. package/dist/forms/masked-inputs.cjs +2 -0
  1139. package/dist/forms/masked-inputs.cjs.map +1 -0
  1140. package/dist/forms/masked-inputs.js +48 -0
  1141. package/dist/forms/masked-inputs.js.map +1 -0
  1142. package/dist/forms/use-viacep.cjs +2 -0
  1143. package/dist/forms/use-viacep.cjs.map +1 -0
  1144. package/dist/forms/use-viacep.js +24 -0
  1145. package/dist/forms/use-viacep.js.map +1 -0
  1146. package/dist/forms/use-zod-form.cjs +2 -0
  1147. package/dist/forms/use-zod-form.cjs.map +1 -0
  1148. package/dist/forms/use-zod-form.js +12 -0
  1149. package/dist/forms/use-zod-form.js.map +1 -0
  1150. package/dist/forms/validate-form.cjs +2 -0
  1151. package/dist/forms/validate-form.cjs.map +1 -0
  1152. package/dist/forms/validate-form.js +15 -0
  1153. package/dist/forms/validate-form.js.map +1 -0
  1154. package/dist/forms/zod-resolver.cjs +2 -0
  1155. package/dist/forms/zod-resolver.cjs.map +1 -0
  1156. package/dist/forms/zod-resolver.js +17 -0
  1157. package/dist/forms/zod-resolver.js.map +1 -0
  1158. package/dist/geo/TrajectoryMap.cjs +2 -0
  1159. package/dist/geo/TrajectoryMap.cjs.map +1 -0
  1160. package/dist/geo/TrajectoryMap.js +216 -0
  1161. package/dist/geo/TrajectoryMap.js.map +1 -0
  1162. package/dist/geo/TrajectoryMap.module.css.cjs +2 -0
  1163. package/dist/geo/TrajectoryMap.module.css.cjs.map +1 -0
  1164. package/dist/geo/TrajectoryMap.module.css.js +30 -0
  1165. package/dist/geo/TrajectoryMap.module.css.js.map +1 -0
  1166. package/dist/geo/bounds.cjs +2 -0
  1167. package/dist/geo/bounds.cjs.map +1 -0
  1168. package/dist/geo/bounds.js +28 -0
  1169. package/dist/geo/bounds.js.map +1 -0
  1170. package/dist/geo/create-position-tracker.cjs +2 -0
  1171. package/dist/geo/create-position-tracker.cjs.map +1 -0
  1172. package/dist/geo/create-position-tracker.js +65 -0
  1173. package/dist/geo/create-position-tracker.js.map +1 -0
  1174. package/dist/geo/distance.cjs +2 -0
  1175. package/dist/geo/distance.cjs.map +1 -0
  1176. package/dist/geo/distance.js +26 -0
  1177. package/dist/geo/distance.js.map +1 -0
  1178. package/dist/geo/estimate.cjs +2 -0
  1179. package/dist/geo/estimate.cjs.map +1 -0
  1180. package/dist/geo/estimate.js +35 -0
  1181. package/dist/geo/estimate.js.map +1 -0
  1182. package/dist/geo/leaflet-map.cjs +2 -0
  1183. package/dist/geo/leaflet-map.cjs.map +1 -0
  1184. package/dist/geo/leaflet-map.js +51 -0
  1185. package/dist/geo/leaflet-map.js.map +1 -0
  1186. package/dist/geo/projection.cjs +2 -0
  1187. package/dist/geo/projection.cjs.map +1 -0
  1188. package/dist/geo/projection.js +36 -0
  1189. package/dist/geo/projection.js.map +1 -0
  1190. package/dist/geo/routing.cjs +2 -0
  1191. package/dist/geo/routing.cjs.map +1 -0
  1192. package/dist/geo/routing.js +29 -0
  1193. package/dist/geo/routing.js.map +1 -0
  1194. package/dist/geo/types.cjs +2 -0
  1195. package/dist/geo/types.cjs.map +1 -0
  1196. package/dist/geo/types.js +25 -0
  1197. package/dist/geo/types.js.map +1 -0
  1198. package/dist/geo/use-position-tracker.cjs +2 -0
  1199. package/dist/geo/use-position-tracker.cjs.map +1 -0
  1200. package/dist/geo/use-position-tracker.js +35 -0
  1201. package/dist/geo/use-position-tracker.js.map +1 -0
  1202. package/dist/hooks/pwa-env.cjs +2 -0
  1203. package/dist/hooks/pwa-env.cjs.map +1 -0
  1204. package/dist/hooks/pwa-env.js +31 -0
  1205. package/dist/hooks/pwa-env.js.map +1 -0
  1206. package/dist/hooks/use-async.cjs +2 -0
  1207. package/dist/hooks/use-async.cjs.map +1 -0
  1208. package/dist/hooks/use-async.js +38 -0
  1209. package/dist/hooks/use-async.js.map +1 -0
  1210. package/dist/hooks/use-before-install-prompt.cjs +2 -0
  1211. package/dist/hooks/use-before-install-prompt.cjs.map +1 -0
  1212. package/dist/hooks/use-before-install-prompt.js +38 -0
  1213. package/dist/hooks/use-before-install-prompt.js.map +1 -0
  1214. package/dist/hooks/use-breakpoint.cjs +2 -0
  1215. package/dist/hooks/use-breakpoint.cjs.map +1 -0
  1216. package/dist/hooks/use-breakpoint.js +40 -0
  1217. package/dist/hooks/use-breakpoint.js.map +1 -0
  1218. package/dist/hooks/use-click-outside.cjs +2 -0
  1219. package/dist/hooks/use-click-outside.cjs.map +1 -0
  1220. package/dist/hooks/use-click-outside.js +18 -0
  1221. package/dist/hooks/use-click-outside.js.map +1 -0
  1222. package/dist/hooks/use-client-filter.cjs +2 -0
  1223. package/dist/hooks/use-client-filter.cjs.map +1 -0
  1224. package/dist/hooks/use-client-filter.js +16 -0
  1225. package/dist/hooks/use-client-filter.js.map +1 -0
  1226. package/dist/hooks/use-clipboard.cjs +2 -0
  1227. package/dist/hooks/use-clipboard.cjs.map +1 -0
  1228. package/dist/hooks/use-clipboard.js +29 -0
  1229. package/dist/hooks/use-clipboard.js.map +1 -0
  1230. package/dist/hooks/use-counter.cjs +2 -0
  1231. package/dist/hooks/use-counter.cjs.map +1 -0
  1232. package/dist/hooks/use-counter.js +27 -0
  1233. package/dist/hooks/use-counter.js.map +1 -0
  1234. package/dist/hooks/use-debounce.cjs +2 -0
  1235. package/dist/hooks/use-debounce.cjs.map +1 -0
  1236. package/dist/hooks/use-debounce.js +12 -0
  1237. package/dist/hooks/use-debounce.js.map +1 -0
  1238. package/dist/hooks/use-deep-memo.cjs +2 -0
  1239. package/dist/hooks/use-deep-memo.cjs.map +1 -0
  1240. package/dist/hooks/use-deep-memo.js +19 -0
  1241. package/dist/hooks/use-deep-memo.js.map +1 -0
  1242. package/dist/hooks/use-disclosure.cjs +2 -0
  1243. package/dist/hooks/use-disclosure.cjs.map +1 -0
  1244. package/dist/hooks/use-disclosure.js +12 -0
  1245. package/dist/hooks/use-disclosure.js.map +1 -0
  1246. package/dist/hooks/use-document-title.cjs +2 -0
  1247. package/dist/hooks/use-document-title.cjs.map +1 -0
  1248. package/dist/hooks/use-document-title.js +14 -0
  1249. package/dist/hooks/use-document-title.js.map +1 -0
  1250. package/dist/hooks/use-document-visibility.cjs +2 -0
  1251. package/dist/hooks/use-document-visibility.cjs.map +1 -0
  1252. package/dist/hooks/use-document-visibility.js +15 -0
  1253. package/dist/hooks/use-document-visibility.js.map +1 -0
  1254. package/dist/hooks/use-event-listener.cjs +2 -0
  1255. package/dist/hooks/use-event-listener.cjs.map +1 -0
  1256. package/dist/hooks/use-event-listener.js +14 -0
  1257. package/dist/hooks/use-event-listener.js.map +1 -0
  1258. package/dist/hooks/use-favicon.cjs +2 -0
  1259. package/dist/hooks/use-favicon.cjs.map +1 -0
  1260. package/dist/hooks/use-favicon.js +12 -0
  1261. package/dist/hooks/use-favicon.js.map +1 -0
  1262. package/dist/hooks/use-focus-trap.cjs +2 -0
  1263. package/dist/hooks/use-focus-trap.cjs.map +1 -0
  1264. package/dist/hooks/use-focus-trap.js +43 -0
  1265. package/dist/hooks/use-focus-trap.js.map +1 -0
  1266. package/dist/hooks/use-geolocation.cjs +2 -0
  1267. package/dist/hooks/use-geolocation.cjs.map +1 -0
  1268. package/dist/hooks/use-geolocation.js +44 -0
  1269. package/dist/hooks/use-geolocation.js.map +1 -0
  1270. package/dist/hooks/use-hover.cjs +2 -0
  1271. package/dist/hooks/use-hover.cjs.map +1 -0
  1272. package/dist/hooks/use-hover.js +16 -0
  1273. package/dist/hooks/use-hover.js.map +1 -0
  1274. package/dist/hooks/use-idle.cjs +2 -0
  1275. package/dist/hooks/use-idle.cjs.map +1 -0
  1276. package/dist/hooks/use-idle.js +30 -0
  1277. package/dist/hooks/use-idle.js.map +1 -0
  1278. package/dist/hooks/use-install-prompt.cjs +2 -0
  1279. package/dist/hooks/use-install-prompt.cjs.map +1 -0
  1280. package/dist/hooks/use-install-prompt.js +69 -0
  1281. package/dist/hooks/use-install-prompt.js.map +1 -0
  1282. package/dist/hooks/use-intersection-observer.cjs +2 -0
  1283. package/dist/hooks/use-intersection-observer.cjs.map +1 -0
  1284. package/dist/hooks/use-intersection-observer.js +19 -0
  1285. package/dist/hooks/use-intersection-observer.js.map +1 -0
  1286. package/dist/hooks/use-interval.cjs +2 -0
  1287. package/dist/hooks/use-interval.cjs.map +1 -0
  1288. package/dist/hooks/use-interval.js +13 -0
  1289. package/dist/hooks/use-interval.js.map +1 -0
  1290. package/dist/hooks/use-is-first-render.cjs +2 -0
  1291. package/dist/hooks/use-is-first-render.cjs.map +1 -0
  1292. package/dist/hooks/use-is-first-render.js +9 -0
  1293. package/dist/hooks/use-is-first-render.js.map +1 -0
  1294. package/dist/hooks/use-keyboard-shortcut.cjs +2 -0
  1295. package/dist/hooks/use-keyboard-shortcut.cjs.map +1 -0
  1296. package/dist/hooks/use-keyboard-shortcut.js +38 -0
  1297. package/dist/hooks/use-keyboard-shortcut.js.map +1 -0
  1298. package/dist/hooks/use-list-state.cjs +2 -0
  1299. package/dist/hooks/use-list-state.cjs.map +1 -0
  1300. package/dist/hooks/use-list-state.js +40 -0
  1301. package/dist/hooks/use-list-state.js.map +1 -0
  1302. package/dist/hooks/use-local-storage.cjs +2 -0
  1303. package/dist/hooks/use-local-storage.cjs.map +1 -0
  1304. package/dist/hooks/use-local-storage.js +55 -0
  1305. package/dist/hooks/use-local-storage.js.map +1 -0
  1306. package/dist/hooks/use-long-press-handlers.cjs +2 -0
  1307. package/dist/hooks/use-long-press-handlers.cjs.map +1 -0
  1308. package/dist/hooks/use-long-press-handlers.js +31 -0
  1309. package/dist/hooks/use-long-press-handlers.js.map +1 -0
  1310. package/dist/hooks/use-long-press.cjs +2 -0
  1311. package/dist/hooks/use-long-press.cjs.map +1 -0
  1312. package/dist/hooks/use-long-press.js +27 -0
  1313. package/dist/hooks/use-long-press.js.map +1 -0
  1314. package/dist/hooks/use-map.cjs +2 -0
  1315. package/dist/hooks/use-map.cjs.map +1 -0
  1316. package/dist/hooks/use-map.js +33 -0
  1317. package/dist/hooks/use-map.js.map +1 -0
  1318. package/dist/hooks/use-media-query.cjs +2 -0
  1319. package/dist/hooks/use-media-query.cjs.map +1 -0
  1320. package/dist/hooks/use-media-query.js +13 -0
  1321. package/dist/hooks/use-media-query.js.map +1 -0
  1322. package/dist/hooks/use-object-url.cjs +2 -0
  1323. package/dist/hooks/use-object-url.cjs.map +1 -0
  1324. package/dist/hooks/use-object-url.js +16 -0
  1325. package/dist/hooks/use-object-url.js.map +1 -0
  1326. package/dist/hooks/use-online.cjs +2 -0
  1327. package/dist/hooks/use-online.cjs.map +1 -0
  1328. package/dist/hooks/use-online.js +47 -0
  1329. package/dist/hooks/use-online.js.map +1 -0
  1330. package/dist/hooks/use-pagination.cjs +2 -0
  1331. package/dist/hooks/use-pagination.cjs.map +1 -0
  1332. package/dist/hooks/use-pagination.js +9 -0
  1333. package/dist/hooks/use-pagination.js.map +1 -0
  1334. package/dist/hooks/use-previous.cjs +2 -0
  1335. package/dist/hooks/use-previous.cjs.map +1 -0
  1336. package/dist/hooks/use-previous.js +11 -0
  1337. package/dist/hooks/use-previous.js.map +1 -0
  1338. package/dist/hooks/use-queue.cjs +2 -0
  1339. package/dist/hooks/use-queue.cjs.map +1 -0
  1340. package/dist/hooks/use-queue.js +48 -0
  1341. package/dist/hooks/use-queue.js.map +1 -0
  1342. package/dist/hooks/use-resize-observer.cjs +2 -0
  1343. package/dist/hooks/use-resize-observer.cjs.map +1 -0
  1344. package/dist/hooks/use-resize-observer.js +19 -0
  1345. package/dist/hooks/use-resize-observer.js.map +1 -0
  1346. package/dist/hooks/use-scroll-lock.cjs +2 -0
  1347. package/dist/hooks/use-scroll-lock.cjs.map +1 -0
  1348. package/dist/hooks/use-scroll-lock.js +14 -0
  1349. package/dist/hooks/use-scroll-lock.js.map +1 -0
  1350. package/dist/hooks/use-service-worker-update.cjs +2 -0
  1351. package/dist/hooks/use-service-worker-update.cjs.map +1 -0
  1352. package/dist/hooks/use-service-worker-update.js +34 -0
  1353. package/dist/hooks/use-service-worker-update.js.map +1 -0
  1354. package/dist/hooks/use-set.cjs +2 -0
  1355. package/dist/hooks/use-set.cjs.map +1 -0
  1356. package/dist/hooks/use-set.js +39 -0
  1357. package/dist/hooks/use-set.js.map +1 -0
  1358. package/dist/hooks/use-stable-callback.cjs +2 -0
  1359. package/dist/hooks/use-stable-callback.cjs.map +1 -0
  1360. package/dist/hooks/use-stable-callback.js +9 -0
  1361. package/dist/hooks/use-stable-callback.js.map +1 -0
  1362. package/dist/hooks/use-storage-estimate.cjs +2 -0
  1363. package/dist/hooks/use-storage-estimate.cjs.map +1 -0
  1364. package/dist/hooks/use-storage-estimate.js +54 -0
  1365. package/dist/hooks/use-storage-estimate.js.map +1 -0
  1366. package/dist/hooks/use-throttle.cjs +2 -0
  1367. package/dist/hooks/use-throttle.cjs.map +1 -0
  1368. package/dist/hooks/use-throttle.js +16 -0
  1369. package/dist/hooks/use-throttle.js.map +1 -0
  1370. package/dist/hooks/use-timeout.cjs +2 -0
  1371. package/dist/hooks/use-timeout.cjs.map +1 -0
  1372. package/dist/hooks/use-timeout.js +13 -0
  1373. package/dist/hooks/use-timeout.js.map +1 -0
  1374. package/dist/hooks/use-toggle.cjs +2 -0
  1375. package/dist/hooks/use-toggle.cjs.map +1 -0
  1376. package/dist/hooks/use-toggle.js +9 -0
  1377. package/dist/hooks/use-toggle.js.map +1 -0
  1378. package/dist/hooks/use-window-size.cjs +2 -0
  1379. package/dist/hooks/use-window-size.cjs.map +1 -0
  1380. package/dist/hooks/use-window-size.js +15 -0
  1381. package/dist/hooks/use-window-size.js.map +1 -0
  1382. package/dist/http/api-client.cjs +2 -0
  1383. package/dist/http/api-client.cjs.map +1 -0
  1384. package/dist/http/api-client.js +81 -0
  1385. package/dist/http/api-client.js.map +1 -0
  1386. package/dist/http/errors.cjs +2 -0
  1387. package/dist/http/errors.cjs.map +1 -0
  1388. package/dist/http/errors.js +39 -0
  1389. package/dist/http/errors.js.map +1 -0
  1390. package/dist/http/idempotency.cjs +2 -0
  1391. package/dist/http/idempotency.cjs.map +1 -0
  1392. package/dist/http/idempotency.js +10 -0
  1393. package/dist/http/idempotency.js.map +1 -0
  1394. package/dist/http/parse-response.cjs +6 -0
  1395. package/dist/http/parse-response.cjs.map +1 -0
  1396. package/dist/http/parse-response.js +20 -0
  1397. package/dist/http/parse-response.js.map +1 -0
  1398. package/dist/http/retry.cjs +2 -0
  1399. package/dist/http/retry.cjs.map +1 -0
  1400. package/dist/http/retry.js +44 -0
  1401. package/dist/http/retry.js.map +1 -0
  1402. package/dist/http/upload-with-progress.cjs +2 -0
  1403. package/dist/http/upload-with-progress.cjs.map +1 -0
  1404. package/dist/http/upload-with-progress.js +91 -0
  1405. package/dist/http/upload-with-progress.js.map +1 -0
  1406. package/dist/http/use-poll.cjs +2 -0
  1407. package/dist/http/use-poll.cjs.map +1 -0
  1408. package/dist/http/use-poll.js +41 -0
  1409. package/dist/http/use-poll.js.map +1 -0
  1410. package/dist/i18n/I18nProvider.cjs +2 -0
  1411. package/dist/i18n/I18nProvider.cjs.map +1 -0
  1412. package/dist/i18n/I18nProvider.js +52 -0
  1413. package/dist/i18n/I18nProvider.js.map +1 -0
  1414. package/dist/i18n/create-i18n.cjs +2 -0
  1415. package/dist/i18n/create-i18n.cjs.map +1 -0
  1416. package/dist/i18n/create-i18n.js +50 -0
  1417. package/dist/i18n/create-i18n.js.map +1 -0
  1418. package/dist/logger/logger.cjs +2 -0
  1419. package/dist/logger/logger.cjs.map +1 -0
  1420. package/dist/logger/logger.js +41 -0
  1421. package/dist/logger/logger.js.map +1 -0
  1422. package/dist/oauth/GoogleSignIn.cjs +2 -0
  1423. package/dist/oauth/GoogleSignIn.cjs.map +1 -0
  1424. package/dist/oauth/GoogleSignIn.js +50 -0
  1425. package/dist/oauth/GoogleSignIn.js.map +1 -0
  1426. package/dist/oauth/use-oauth-callback.cjs +2 -0
  1427. package/dist/oauth/use-oauth-callback.cjs.map +1 -0
  1428. package/dist/oauth/use-oauth-callback.js +21 -0
  1429. package/dist/oauth/use-oauth-callback.js.map +1 -0
  1430. package/dist/offline/conflict.cjs +2 -0
  1431. package/dist/offline/conflict.cjs.map +1 -0
  1432. package/dist/offline/conflict.js +17 -0
  1433. package/dist/offline/conflict.js.map +1 -0
  1434. package/dist/offline/create-offline-store.cjs +2 -0
  1435. package/dist/offline/create-offline-store.cjs.map +1 -0
  1436. package/dist/offline/create-offline-store.js +46 -0
  1437. package/dist/offline/create-offline-store.js.map +1 -0
  1438. package/dist/offline/create-offline-sync.cjs +2 -0
  1439. package/dist/offline/create-offline-sync.cjs.map +1 -0
  1440. package/dist/offline/create-offline-sync.js +146 -0
  1441. package/dist/offline/create-offline-sync.js.map +1 -0
  1442. package/dist/offline/use-offline-sync.cjs +2 -0
  1443. package/dist/offline/use-offline-sync.cjs.map +1 -0
  1444. package/dist/offline/use-offline-sync.js +42 -0
  1445. package/dist/offline/use-offline-sync.js.map +1 -0
  1446. package/dist/push/use-push-subscription.cjs +2 -0
  1447. package/dist/push/use-push-subscription.cjs.map +1 -0
  1448. package/dist/push/use-push-subscription.js +68 -0
  1449. package/dist/push/use-push-subscription.js.map +1 -0
  1450. package/dist/push/utils.cjs +2 -0
  1451. package/dist/push/utils.cjs.map +1 -0
  1452. package/dist/push/utils.js +14 -0
  1453. package/dist/push/utils.js.map +1 -0
  1454. package/dist/push/web-push-client.cjs +2 -0
  1455. package/dist/push/web-push-client.cjs.map +1 -0
  1456. package/dist/push/web-push-client.js +83 -0
  1457. package/dist/push/web-push-client.js.map +1 -0
  1458. package/dist/query/QueryProvider.cjs +2 -0
  1459. package/dist/query/QueryProvider.cjs.map +1 -0
  1460. package/dist/query/QueryProvider.js +28 -0
  1461. package/dist/query/QueryProvider.js.map +1 -0
  1462. package/dist/query/constants.cjs +2 -0
  1463. package/dist/query/constants.cjs.map +1 -0
  1464. package/dist/query/constants.js +21 -0
  1465. package/dist/query/constants.js.map +1 -0
  1466. package/dist/query/create-query-keys.cjs +2 -0
  1467. package/dist/query/create-query-keys.cjs.map +1 -0
  1468. package/dist/query/create-query-keys.js +10 -0
  1469. package/dist/query/create-query-keys.js.map +1 -0
  1470. package/dist/query/offline-persistence.cjs +2 -0
  1471. package/dist/query/offline-persistence.cjs.map +1 -0
  1472. package/dist/query/offline-persistence.js +40 -0
  1473. package/dist/query/offline-persistence.js.map +1 -0
  1474. package/dist/query/optimistic.cjs +2 -0
  1475. package/dist/query/optimistic.cjs.map +1 -0
  1476. package/dist/query/optimistic.js +19 -0
  1477. package/dist/query/optimistic.js.map +1 -0
  1478. package/dist/query/pagination.cjs +2 -0
  1479. package/dist/query/pagination.cjs.map +1 -0
  1480. package/dist/query/pagination.js +19 -0
  1481. package/dist/query/pagination.js.map +1 -0
  1482. package/dist/query/use-cursor-query.cjs +2 -0
  1483. package/dist/query/use-cursor-query.cjs.map +1 -0
  1484. package/dist/query/use-cursor-query.js +28 -0
  1485. package/dist/query/use-cursor-query.js.map +1 -0
  1486. package/dist/query/use-offline-mutation.cjs +2 -0
  1487. package/dist/query/use-offline-mutation.cjs.map +1 -0
  1488. package/dist/query/use-offline-mutation.js +30 -0
  1489. package/dist/query/use-offline-mutation.js.map +1 -0
  1490. package/dist/query/use-paginated-query.cjs +2 -0
  1491. package/dist/query/use-paginated-query.cjs.map +1 -0
  1492. package/dist/query/use-paginated-query.js +44 -0
  1493. package/dist/query/use-paginated-query.js.map +1 -0
  1494. package/dist/router/AppRouter.cjs +2 -0
  1495. package/dist/router/AppRouter.cjs.map +1 -0
  1496. package/dist/router/AppRouter.js +60 -0
  1497. package/dist/router/AppRouter.js.map +1 -0
  1498. package/dist/router/RouteGuard.cjs +2 -0
  1499. package/dist/router/RouteGuard.cjs.map +1 -0
  1500. package/dist/router/RouteGuard.js +9 -0
  1501. package/dist/router/RouteGuard.js.map +1 -0
  1502. package/dist/share/share-or-download.cjs +2 -0
  1503. package/dist/share/share-or-download.cjs.map +1 -0
  1504. package/dist/share/share-or-download.js +11 -0
  1505. package/dist/share/share-or-download.js.map +1 -0
  1506. package/dist/share/share.cjs +2 -0
  1507. package/dist/share/share.cjs.map +1 -0
  1508. package/dist/share/share.js +19 -0
  1509. package/dist/share/share.js.map +1 -0
  1510. package/dist/sse/create-event-stream.cjs +2 -0
  1511. package/dist/sse/create-event-stream.cjs.map +1 -0
  1512. package/dist/sse/create-event-stream.js +76 -0
  1513. package/dist/sse/create-event-stream.js.map +1 -0
  1514. package/dist/sse/use-event-stream.cjs +2 -0
  1515. package/dist/sse/use-event-stream.cjs.map +1 -0
  1516. package/dist/sse/use-event-stream.js +29 -0
  1517. package/dist/sse/use-event-stream.js.map +1 -0
  1518. package/dist/store/create-selectors.cjs +2 -0
  1519. package/dist/store/create-selectors.cjs.map +1 -0
  1520. package/dist/store/create-selectors.js +11 -0
  1521. package/dist/store/create-selectors.js.map +1 -0
  1522. package/dist/store/create-store.cjs +2 -0
  1523. package/dist/store/create-store.cjs.map +1 -0
  1524. package/dist/store/create-store.js +20 -0
  1525. package/dist/store/create-store.js.map +1 -0
  1526. package/dist/styles.css +1 -1
  1527. package/dist/sw/background-sync.cjs +2 -0
  1528. package/dist/sw/background-sync.cjs.map +1 -0
  1529. package/dist/sw/background-sync.js +106 -0
  1530. package/dist/sw/background-sync.js.map +1 -0
  1531. package/dist/sw/cache-inspect.cjs +2 -0
  1532. package/dist/sw/cache-inspect.cjs.map +1 -0
  1533. package/dist/sw/cache-inspect.js +47 -0
  1534. package/dist/sw/cache-inspect.js.map +1 -0
  1535. package/dist/sw/cache.cjs +2 -0
  1536. package/dist/sw/cache.cjs.map +1 -0
  1537. package/dist/sw/cache.js +176 -0
  1538. package/dist/sw/cache.js.map +1 -0
  1539. package/dist/sw/create-push-handler.cjs +2 -0
  1540. package/dist/sw/create-push-handler.cjs.map +1 -0
  1541. package/dist/sw/create-push-handler.js +64 -0
  1542. package/dist/sw/create-push-handler.js.map +1 -0
  1543. package/dist/sw/periodic-sync.cjs +2 -0
  1544. package/dist/sw/periodic-sync.cjs.map +1 -0
  1545. package/dist/sw/periodic-sync.js +18 -0
  1546. package/dist/sw/periodic-sync.js.map +1 -0
  1547. package/dist/sw/register-service-worker.cjs +2 -0
  1548. package/dist/sw/register-service-worker.cjs.map +1 -0
  1549. package/dist/sw/register-service-worker.js +50 -0
  1550. package/dist/sw/register-service-worker.js.map +1 -0
  1551. package/dist/sw.cjs +1 -1
  1552. package/dist/sw.cjs.map +1 -1
  1553. package/dist/sw.d.ts +99 -0
  1554. package/dist/sw.js +19 -374
  1555. package/dist/sw.js.map +1 -1
  1556. package/dist/telemetry/TelemetryProvider.cjs +2 -0
  1557. package/dist/telemetry/TelemetryProvider.cjs.map +1 -0
  1558. package/dist/telemetry/TelemetryProvider.js +18 -0
  1559. package/dist/telemetry/TelemetryProvider.js.map +1 -0
  1560. package/dist/telemetry/console-adapter.cjs +2 -0
  1561. package/dist/telemetry/console-adapter.cjs.map +1 -0
  1562. package/dist/telemetry/console-adapter.js +15 -0
  1563. package/dist/telemetry/console-adapter.js.map +1 -0
  1564. package/dist/telemetry/posthog-adapter.cjs +2 -0
  1565. package/dist/telemetry/posthog-adapter.cjs.map +1 -0
  1566. package/dist/telemetry/posthog-adapter.js +43 -0
  1567. package/dist/telemetry/posthog-adapter.js.map +1 -0
  1568. package/dist/telemetry/sentry-adapter.cjs +2 -0
  1569. package/dist/telemetry/sentry-adapter.cjs.map +1 -0
  1570. package/dist/telemetry/sentry-adapter.js +39 -0
  1571. package/dist/telemetry/sentry-adapter.js.map +1 -0
  1572. package/dist/tempest-react-sdk.cjs +1 -14
  1573. package/dist/tempest-react-sdk.cjs.map +1 -1
  1574. package/dist/tempest-react-sdk.d.ts +770 -8
  1575. package/dist/tempest-react-sdk.js +638 -9470
  1576. package/dist/tempest-react-sdk.js.map +1 -1
  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 +14 -0
  1580. package/dist/testing/create-mock-handlers.js.map +1 -0
  1581. package/dist/testing.cjs +1 -1
  1582. package/dist/testing.cjs.map +1 -1
  1583. package/dist/testing.js +1 -10
  1584. package/dist/testing.js.map +1 -1
  1585. package/dist/theme/ThemeProvider.cjs +2 -0
  1586. package/dist/theme/ThemeProvider.cjs.map +1 -0
  1587. package/dist/theme/ThemeProvider.js +78 -0
  1588. package/dist/theme/ThemeProvider.js.map +1 -0
  1589. package/dist/theme/initial-theme.cjs +11 -0
  1590. package/dist/theme/initial-theme.cjs.map +1 -0
  1591. package/dist/theme/initial-theme.js +31 -0
  1592. package/dist/theme/initial-theme.js.map +1 -0
  1593. package/dist/utils/arrays.cjs +2 -0
  1594. package/dist/utils/arrays.cjs.map +1 -0
  1595. package/dist/utils/arrays.js +40 -0
  1596. package/dist/utils/arrays.js.map +1 -0
  1597. package/dist/utils/cn.cjs +2 -0
  1598. package/dist/utils/cn.cjs.map +1 -0
  1599. package/dist/utils/cn.js +19 -0
  1600. package/dist/utils/cn.js.map +1 -0
  1601. package/dist/utils/format.cjs +2 -0
  1602. package/dist/utils/format.cjs.map +1 -0
  1603. package/dist/utils/format.js +40 -0
  1604. package/dist/utils/format.js.map +1 -0
  1605. package/dist/utils/functions.cjs +2 -0
  1606. package/dist/utils/functions.cjs.map +1 -0
  1607. package/dist/utils/functions.js +49 -0
  1608. package/dist/utils/functions.js.map +1 -0
  1609. package/dist/utils/guards.cjs +2 -0
  1610. package/dist/utils/guards.cjs.map +1 -0
  1611. package/dist/utils/guards.js +25 -0
  1612. package/dist/utils/guards.js.map +1 -0
  1613. package/dist/utils/ids.cjs +2 -0
  1614. package/dist/utils/ids.cjs.map +1 -0
  1615. package/dist/utils/ids.js +14 -0
  1616. package/dist/utils/ids.js.map +1 -0
  1617. package/dist/utils/numbers.cjs +2 -0
  1618. package/dist/utils/numbers.cjs.map +1 -0
  1619. package/dist/utils/numbers.js +27 -0
  1620. package/dist/utils/numbers.js.map +1 -0
  1621. package/dist/utils/objects.cjs +2 -0
  1622. package/dist/utils/objects.cjs.map +1 -0
  1623. package/dist/utils/objects.js +37 -0
  1624. package/dist/utils/objects.js.map +1 -0
  1625. package/dist/utils/promises.cjs +2 -0
  1626. package/dist/utils/promises.cjs.map +1 -0
  1627. package/dist/utils/promises.js +24 -0
  1628. package/dist/utils/promises.js.map +1 -0
  1629. package/dist/utils/relative-time.cjs +2 -0
  1630. package/dist/utils/relative-time.cjs.map +1 -0
  1631. package/dist/utils/relative-time.js +67 -0
  1632. package/dist/utils/relative-time.js.map +1 -0
  1633. package/dist/utils/storage.cjs +2 -0
  1634. package/dist/utils/storage.cjs.map +1 -0
  1635. package/dist/utils/storage.js +29 -0
  1636. package/dist/utils/storage.js.map +1 -0
  1637. package/dist/utils/strings.cjs +2 -0
  1638. package/dist/utils/strings.cjs.map +1 -0
  1639. package/dist/utils/strings.js +33 -0
  1640. package/dist/utils/strings.js.map +1 -0
  1641. package/dist/utils/xlsx.cjs +2 -0
  1642. package/dist/utils/xlsx.cjs.map +1 -0
  1643. package/dist/utils/xlsx.js +41 -0
  1644. package/dist/utils/xlsx.js.map +1 -0
  1645. package/dist/vision/core/canvas.cjs +2 -0
  1646. package/dist/vision/core/canvas.cjs.map +1 -0
  1647. package/dist/vision/core/canvas.js +41 -0
  1648. package/dist/vision/core/canvas.js.map +1 -0
  1649. package/dist/vision/core/exceptions.cjs +2 -0
  1650. package/dist/vision/core/exceptions.cjs.map +1 -0
  1651. package/dist/vision/core/exceptions.js +24 -0
  1652. package/dist/vision/core/exceptions.js.map +1 -0
  1653. package/dist/vision/core/providers.cjs +2 -0
  1654. package/dist/vision/core/providers.cjs.map +1 -0
  1655. package/dist/vision/core/providers.js +9 -0
  1656. package/dist/vision/core/providers.js.map +1 -0
  1657. package/dist/vision/core/session.cjs +2 -0
  1658. package/dist/vision/core/session.cjs.map +1 -0
  1659. package/dist/vision/core/session.js +71 -0
  1660. package/dist/vision/core/session.js.map +1 -0
  1661. package/dist/vision/index.cjs +2 -0
  1662. package/dist/vision/index.cjs.map +1 -0
  1663. package/dist/vision/index.js +5 -0
  1664. package/dist/vision/index.js.map +1 -0
  1665. package/dist/vision/io/image.cjs +2 -0
  1666. package/dist/vision/io/image.cjs.map +1 -0
  1667. package/dist/vision/io/image.js +75 -0
  1668. package/dist/vision/io/image.js.map +1 -0
  1669. package/dist/vision/labels.cjs +2 -0
  1670. package/dist/vision/labels.cjs.map +1 -0
  1671. package/dist/vision/labels.js +125 -0
  1672. package/dist/vision/labels.js.map +1 -0
  1673. package/dist/vision/luminance.cjs +2 -0
  1674. package/dist/vision/luminance.cjs.map +1 -0
  1675. package/dist/vision/luminance.js +45 -0
  1676. package/dist/vision/luminance.js.map +1 -0
  1677. package/dist/vision/postprocess/classification.cjs +2 -0
  1678. package/dist/vision/postprocess/classification.cjs.map +1 -0
  1679. package/dist/vision/postprocess/classification.js +32 -0
  1680. package/dist/vision/postprocess/classification.js.map +1 -0
  1681. package/dist/vision/postprocess/detection.cjs +2 -0
  1682. package/dist/vision/postprocess/detection.cjs.map +1 -0
  1683. package/dist/vision/postprocess/detection.js +153 -0
  1684. package/dist/vision/postprocess/detection.js.map +1 -0
  1685. package/dist/vision/postprocess/segmentation.cjs +2 -0
  1686. package/dist/vision/postprocess/segmentation.cjs.map +1 -0
  1687. package/dist/vision/postprocess/segmentation.js +109 -0
  1688. package/dist/vision/postprocess/segmentation.js.map +1 -0
  1689. package/dist/vision/preprocess/image.cjs +2 -0
  1690. package/dist/vision/preprocess/image.cjs.map +1 -0
  1691. package/dist/vision/preprocess/image.js +93 -0
  1692. package/dist/vision/preprocess/image.js.map +1 -0
  1693. package/dist/vision/results.cjs +2 -0
  1694. package/dist/vision/results.cjs.map +1 -0
  1695. package/dist/vision/results.js +213 -0
  1696. package/dist/vision/results.js.map +1 -0
  1697. package/dist/vision/tasks/base.cjs +2 -0
  1698. package/dist/vision/tasks/base.cjs.map +1 -0
  1699. package/dist/vision/tasks/base.js +14 -0
  1700. package/dist/vision/tasks/base.js.map +1 -0
  1701. package/dist/vision/tasks/classifier.cjs +2 -0
  1702. package/dist/vision/tasks/classifier.cjs.map +1 -0
  1703. package/dist/vision/tasks/classifier.js +106 -0
  1704. package/dist/vision/tasks/classifier.js.map +1 -0
  1705. package/dist/vision/tasks/detector.cjs +2 -0
  1706. package/dist/vision/tasks/detector.cjs.map +1 -0
  1707. package/dist/vision/tasks/detector.js +147 -0
  1708. package/dist/vision/tasks/detector.js.map +1 -0
  1709. package/dist/vision/tasks/segmenter.cjs +2 -0
  1710. package/dist/vision/tasks/segmenter.cjs.map +1 -0
  1711. package/dist/vision/tasks/segmenter.js +189 -0
  1712. package/dist/vision/tasks/segmenter.js.map +1 -0
  1713. package/dist/vision/types.cjs +2 -0
  1714. package/dist/vision/types.cjs.map +1 -0
  1715. package/dist/vision/types.js +100 -0
  1716. package/dist/vision/types.js.map +1 -0
  1717. package/dist/vision/use-camera-stream.cjs +2 -0
  1718. package/dist/vision/use-camera-stream.cjs.map +1 -0
  1719. package/dist/vision/use-camera-stream.js +89 -0
  1720. package/dist/vision/use-camera-stream.js.map +1 -0
  1721. package/dist/vision/use-live-luminance.cjs +2 -0
  1722. package/dist/vision/use-live-luminance.cjs.map +1 -0
  1723. package/dist/vision/use-live-luminance.js +23 -0
  1724. package/dist/vision/use-live-luminance.js.map +1 -0
  1725. package/dist/vision.cjs +1 -1
  1726. package/dist/vision.cjs.map +1 -1
  1727. package/dist/vision.js +70 -1558
  1728. package/dist/vision.js.map +1 -1
  1729. package/dist/vite/create-vite-config.cjs +2 -0
  1730. package/dist/vite/create-vite-config.cjs.map +1 -0
  1731. package/dist/vite/create-vite-config.js +46 -0
  1732. package/dist/vite/create-vite-config.js.map +1 -0
  1733. package/dist/vite/tempest-pwa-dev-sw.cjs +3 -0
  1734. package/dist/vite/tempest-pwa-dev-sw.cjs.map +1 -0
  1735. package/dist/vite/tempest-pwa-dev-sw.js +50 -0
  1736. package/dist/vite/tempest-pwa-dev-sw.js.map +1 -0
  1737. package/dist/vite/tempest-pwa-icons.cjs +2 -0
  1738. package/dist/vite/tempest-pwa-icons.cjs.map +1 -0
  1739. package/dist/vite/tempest-pwa-icons.js +137 -0
  1740. package/dist/vite/tempest-pwa-icons.js.map +1 -0
  1741. package/dist/vite/tempest-pwa-manifest.cjs +3 -0
  1742. package/dist/vite/tempest-pwa-manifest.cjs.map +1 -0
  1743. package/dist/vite/tempest-pwa-manifest.js +43 -0
  1744. package/dist/vite/tempest-pwa-manifest.js.map +1 -0
  1745. package/dist/vite.cjs +1 -3
  1746. package/dist/vite.cjs.map +1 -1
  1747. package/dist/vite.js +8 -262
  1748. package/dist/vite.js.map +1 -1
  1749. package/dist/ws/create-web-socket.cjs +2 -0
  1750. package/dist/ws/create-web-socket.cjs.map +1 -0
  1751. package/dist/ws/create-web-socket.js +83 -0
  1752. package/dist/ws/create-web-socket.js.map +1 -0
  1753. package/dist/ws/use-web-socket.cjs +2 -0
  1754. package/dist/ws/use-web-socket.cjs.map +1 -0
  1755. package/dist/ws/use-web-socket.js +32 -0
  1756. package/dist/ws/use-web-socket.js.map +1 -0
  1757. package/package.json +6 -2
  1758. package/template-pwa/src/main.tsx +11 -20
  1759. package/template-pwa/src/pwa.tsx +42 -0
  1760. package/dist/AC-Brw7ZrEs.cjs +0 -2
  1761. package/dist/AC-Brw7ZrEs.cjs.map +0 -1
  1762. package/dist/AC-DLl3Z4oj.js +0 -12
  1763. package/dist/AC-DLl3Z4oj.js.map +0 -1
  1764. package/dist/AL-DPGoZjht.cjs +0 -2
  1765. package/dist/AL-DPGoZjht.cjs.map +0 -1
  1766. package/dist/AL-gswGaWlj.js +0 -12
  1767. package/dist/AL-gswGaWlj.js.map +0 -1
  1768. package/dist/AM-QN1eL4Tn.js +0 -12
  1769. package/dist/AM-QN1eL4Tn.js.map +0 -1
  1770. package/dist/AM-VqNWvsI-.cjs +0 -2
  1771. package/dist/AM-VqNWvsI-.cjs.map +0 -1
  1772. package/dist/AP-CPvBa_FK.cjs +0 -2
  1773. package/dist/AP-CPvBa_FK.cjs.map +0 -1
  1774. package/dist/AP-CRAbh1js.js +0 -12
  1775. package/dist/AP-CRAbh1js.js.map +0 -1
  1776. package/dist/BA-CKy_HnnV.js +0 -12
  1777. package/dist/BA-CKy_HnnV.js.map +0 -1
  1778. package/dist/BA-DoMQ6slK.cjs +0 -2
  1779. package/dist/BA-DoMQ6slK.cjs.map +0 -1
  1780. package/dist/CE-Ca-XMDFW.js +0 -12
  1781. package/dist/CE-Ca-XMDFW.js.map +0 -1
  1782. package/dist/CE-as-pGPQa.cjs +0 -2
  1783. package/dist/CE-as-pGPQa.cjs.map +0 -1
  1784. package/dist/DF-8kzFoovF.js +0 -12
  1785. package/dist/DF-8kzFoovF.js.map +0 -1
  1786. package/dist/DF-Wr8WNxSX.cjs +0 -2
  1787. package/dist/DF-Wr8WNxSX.cjs.map +0 -1
  1788. package/dist/ES-B4uWNG6s.js +0 -12
  1789. package/dist/ES-B4uWNG6s.js.map +0 -1
  1790. package/dist/ES-wKVjD_TM.cjs +0 -2
  1791. package/dist/ES-wKVjD_TM.cjs.map +0 -1
  1792. package/dist/GO-D4m4rOqy.cjs +0 -2
  1793. package/dist/GO-D4m4rOqy.cjs.map +0 -1
  1794. package/dist/GO-DuaAgIfo.js +0 -12
  1795. package/dist/GO-DuaAgIfo.js.map +0 -1
  1796. package/dist/MA-BmaUZZKe.cjs +0 -2
  1797. package/dist/MA-BmaUZZKe.cjs.map +0 -1
  1798. package/dist/MA-wOyPxG_M.js +0 -12
  1799. package/dist/MA-wOyPxG_M.js.map +0 -1
  1800. package/dist/MG-BYsqJd-S.js +0 -12
  1801. package/dist/MG-BYsqJd-S.js.map +0 -1
  1802. package/dist/MG-BchdfJXp.cjs +0 -2
  1803. package/dist/MG-BchdfJXp.cjs.map +0 -1
  1804. package/dist/MS-DZkgtN_7.js +0 -12
  1805. package/dist/MS-DZkgtN_7.js.map +0 -1
  1806. package/dist/MS-Dz9lDw37.cjs +0 -2
  1807. package/dist/MS-Dz9lDw37.cjs.map +0 -1
  1808. package/dist/MT-BkVchoah.cjs +0 -2
  1809. package/dist/MT-BkVchoah.cjs.map +0 -1
  1810. package/dist/MT-GmMwFWw2.js +0 -12
  1811. package/dist/MT-GmMwFWw2.js.map +0 -1
  1812. package/dist/PA-C2FpT6Ew.cjs +0 -2
  1813. package/dist/PA-C2FpT6Ew.cjs.map +0 -1
  1814. package/dist/PA-DgyDzDFi.js +0 -12
  1815. package/dist/PA-DgyDzDFi.js.map +0 -1
  1816. package/dist/PB-BGkzbQup.cjs +0 -2
  1817. package/dist/PB-BGkzbQup.cjs.map +0 -1
  1818. package/dist/PB-D-6NE6KM.js +0 -12
  1819. package/dist/PB-D-6NE6KM.js.map +0 -1
  1820. package/dist/PE-D8V7gWY-.cjs +0 -2
  1821. package/dist/PE-D8V7gWY-.cjs.map +0 -1
  1822. package/dist/PE-vqm-t7Nh.js +0 -12
  1823. package/dist/PE-vqm-t7Nh.js.map +0 -1
  1824. package/dist/PI-CILuGJlW.js +0 -12
  1825. package/dist/PI-CILuGJlW.js.map +0 -1
  1826. package/dist/PI-dJYCbXQM.cjs +0 -2
  1827. package/dist/PI-dJYCbXQM.cjs.map +0 -1
  1828. package/dist/PR-DN8AV__r.js +0 -12
  1829. package/dist/PR-DN8AV__r.js.map +0 -1
  1830. package/dist/PR-P17oBdNH.cjs +0 -2
  1831. package/dist/PR-P17oBdNH.cjs.map +0 -1
  1832. package/dist/RJ-Bccz05Em.js +0 -12
  1833. package/dist/RJ-Bccz05Em.js.map +0 -1
  1834. package/dist/RJ-Budqx7QP.cjs +0 -2
  1835. package/dist/RJ-Budqx7QP.cjs.map +0 -1
  1836. package/dist/RN-DLcJBxo3.cjs +0 -2
  1837. package/dist/RN-DLcJBxo3.cjs.map +0 -1
  1838. package/dist/RN-DTqFP-Nm.js +0 -12
  1839. package/dist/RN-DTqFP-Nm.js.map +0 -1
  1840. package/dist/RO-BCC54UTU.js +0 -12
  1841. package/dist/RO-BCC54UTU.js.map +0 -1
  1842. package/dist/RO-B_IDyci4.cjs +0 -2
  1843. package/dist/RO-B_IDyci4.cjs.map +0 -1
  1844. package/dist/RR-CDGUEyla.cjs +0 -2
  1845. package/dist/RR-CDGUEyla.cjs.map +0 -1
  1846. package/dist/RR-OCnI_XpU.js +0 -12
  1847. package/dist/RR-OCnI_XpU.js.map +0 -1
  1848. package/dist/RS-DiBeY_u5.cjs +0 -2
  1849. package/dist/RS-DiBeY_u5.cjs.map +0 -1
  1850. package/dist/RS-Dy7gBbbH.js +0 -12
  1851. package/dist/RS-Dy7gBbbH.js.map +0 -1
  1852. package/dist/SC-CEMoj8g2.cjs +0 -2
  1853. package/dist/SC-CEMoj8g2.cjs.map +0 -1
  1854. package/dist/SC-trCqQDXz.js +0 -12
  1855. package/dist/SC-trCqQDXz.js.map +0 -1
  1856. package/dist/SE-DAfFbZcK.cjs +0 -2
  1857. package/dist/SE-DAfFbZcK.cjs.map +0 -1
  1858. package/dist/SE-DBdfSrGk.js +0 -12
  1859. package/dist/SE-DBdfSrGk.js.map +0 -1
  1860. package/dist/SP-Cse4d68i.cjs +0 -2
  1861. package/dist/SP-Cse4d68i.cjs.map +0 -1
  1862. package/dist/SP-qPZjJDOT.js +0 -12
  1863. package/dist/SP-qPZjJDOT.js.map +0 -1
  1864. package/dist/TO-CZtMDVug.js +0 -12
  1865. package/dist/TO-CZtMDVug.js.map +0 -1
  1866. package/dist/TO-Dwi5zIyF.cjs +0 -2
  1867. package/dist/TO-Dwi5zIyF.cjs.map +0 -1
  1868. package/dist/br-centroids--O7-1KXz.cjs +0 -2
  1869. package/dist/br-centroids--O7-1KXz.cjs.map +0 -1
  1870. package/dist/br-centroids-IHN7PIzD.js +0 -10
  1871. package/dist/br-centroids-IHN7PIzD.js.map +0 -1
  1872. package/dist/br-geo-BYynYOwK.cjs +0 -2
  1873. package/dist/br-geo-BYynYOwK.cjs.map +0 -1
  1874. package/dist/br-geo-DFRuvjuU.js +0 -8
  1875. package/dist/br-geo-DFRuvjuU.js.map +0 -1
  1876. package/dist/cn-C0Sxc9eb.js +0 -19
  1877. package/dist/cn-C0Sxc9eb.js.map +0 -1
  1878. package/dist/cn-CNScIEB4.cjs +0 -2
  1879. package/dist/cn-CNScIEB4.cjs.map +0 -1
  1880. package/dist/leaflet-map-BHBcL_7k.js +0 -51
  1881. package/dist/leaflet-map-BHBcL_7k.js.map +0 -1
  1882. package/dist/leaflet-map-BzYV9czG.cjs +0 -2
  1883. package/dist/leaflet-map-BzYV9czG.cjs.map +0 -1
  1884. package/dist/projection-CILVBdpd.cjs +0 -2
  1885. package/dist/projection-CILVBdpd.cjs.map +0 -1
  1886. package/dist/projection-Wnqr_svy.js +0 -215
  1887. package/dist/projection-Wnqr_svy.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","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"],"names":["loadBrUfGeoJson"],"mappings":";;;;;;;;;;;AAuBA,eAAsBA,IAAkD;AAEpE,UADY,MAAM,OAAO,gBAAU,GACxB;AACf;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("recharts"),C=require("../utils/cn.cjs"),f=require("./palette.cjs"),k=require("./types.cjs");function q({data:l,index:u,categories:d,colors:r=f.DEFAULT_CHART_COLORS,height:s=300,width:n,stack:x=!1,showLegend:j=!0,showGrid:p=!0,showTooltip:h=!0,valueFormatter:a,className:A}){const m=x?"stack":void 0,o=e.jsxs(t.AreaChart,{data:l,width:n,height:s,children:[p?e.jsx(t.CartesianGrid,{strokeDasharray:"3 3"}):null,e.jsx(t.XAxis,{dataKey:u}),e.jsx(t.YAxis,{tickFormatter:a}),h?e.jsx(t.Tooltip,{formatter:k.toTooltipFormatter(a)}):null,j?e.jsx(t.Legend,{}):null,d.map((i,y)=>{const c=r[y%r.length];return e.jsx(t.Area,{type:"monotone",dataKey:i,stackId:m,stroke:c,fill:c,fillOpacity:.3},i)})]});return e.jsx("div",{className:C.cn(A),children:n!==void 0?o:e.jsx(t.ResponsiveContainer,{width:"100%",height:s,children:o})})}exports.AreaChart=q;
2
+ //# sourceMappingURL=AreaChart.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AreaChart.cjs","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"],"names":["AreaChart","data","index","categories","colors","DEFAULT_CHART_COLORS","height","width","stack","showLegend","showGrid","showTooltip","valueFormatter","className","stackId","chart","jsxs","RAreaChart","jsx","CartesianGrid","XAxis","YAxis","Tooltip","toTooltipFormatter","Legend","category","i","color","Area","cn","ResponsiveContainer"],"mappings":"4NAuBO,SAASA,EAAU,CACtB,KAAAC,EACA,MAAAC,EACA,WAAAC,EACA,OAAAC,EAASC,EAAAA,qBACT,OAAAC,EAAS,IACT,MAAAC,EACA,MAAAC,EAAQ,GACR,WAAAC,EAAa,GACb,SAAAC,EAAW,GACX,YAAAC,EAAc,GACd,eAAAC,EACA,UAAAC,CACJ,EAAwB,CACpB,MAAMC,EAAUN,EAAQ,QAAU,OAE5BO,EACFC,EAAAA,KAACC,EAAAA,UAAA,CAAW,KAAAhB,EAAY,MAAAM,EAAc,OAAAD,EACjC,SAAA,CAAAI,EAAWQ,EAAAA,IAACC,EAAAA,cAAA,CAAc,gBAAgB,KAAA,CAAM,EAAK,KACtDD,EAAAA,IAACE,EAAAA,MAAA,CAAM,QAASlB,CAAA,CAAO,EACvBgB,EAAAA,IAACG,EAAAA,MAAA,CAAM,cAAeT,CAAA,CAAgB,EACrCD,EAAcO,EAAAA,IAACI,EAAAA,QAAA,CAAQ,UAAWC,EAAAA,mBAAmBX,CAAc,EAAG,EAAK,KAC3EH,EAAaS,EAAAA,IAACM,SAAA,CAAA,CAAO,EAAK,KAC1BrB,EAAW,IAAI,CAACsB,EAAUC,IAAM,CAC7B,MAAMC,EAAQvB,EAAOsB,EAAItB,EAAO,MAAM,EACtC,OACIc,EAAAA,IAACU,EAAAA,KAAA,CAEG,KAAK,WACL,QAASH,EACT,QAAAX,EACA,OAAQa,EACR,KAAMA,EACN,YAAa,EAAA,EANRF,CAAA,CASjB,CAAC,CAAA,EACL,EAGJ,OACIP,EAAAA,IAAC,MAAA,CAAI,UAAWW,EAAAA,GAAGhB,CAAS,EACvB,SAAAN,IAAU,OACPQ,QAECe,EAAAA,oBAAA,CAAoB,MAAM,OAAO,OAAAxB,EAC7B,WACL,EAER,CAER"}
@@ -0,0 +1,47 @@
1
+ import { jsxs as k, jsx as r } from "react/jsx-runtime";
2
+ import { AreaChart as x, CartesianGrid as y, XAxis as T, YAxis as v, Tooltip as L, Legend as O, Area as R, ResponsiveContainer as j } from "recharts";
3
+ import { cn as D } from "../utils/cn.js";
4
+ import { DEFAULT_CHART_COLORS as F } from "./palette.js";
5
+ import { toTooltipFormatter as K } from "./types.js";
6
+ function N({
7
+ data: l,
8
+ index: m,
9
+ categories: c,
10
+ colors: t = F,
11
+ height: o = 300,
12
+ width: e,
13
+ stack: p = !1,
14
+ showLegend: d = !0,
15
+ showGrid: f = !0,
16
+ showTooltip: u = !0,
17
+ valueFormatter: a,
18
+ className: A
19
+ }) {
20
+ const h = p ? "stack" : void 0, i = /* @__PURE__ */ k(x, { data: l, width: e, height: o, children: [
21
+ f ? /* @__PURE__ */ r(y, { strokeDasharray: "3 3" }) : null,
22
+ /* @__PURE__ */ r(T, { dataKey: m }),
23
+ /* @__PURE__ */ r(v, { tickFormatter: a }),
24
+ u ? /* @__PURE__ */ r(L, { formatter: K(a) }) : null,
25
+ d ? /* @__PURE__ */ r(O, {}) : null,
26
+ c.map((n, C) => {
27
+ const s = t[C % t.length];
28
+ return /* @__PURE__ */ r(
29
+ R,
30
+ {
31
+ type: "monotone",
32
+ dataKey: n,
33
+ stackId: h,
34
+ stroke: s,
35
+ fill: s,
36
+ fillOpacity: 0.3
37
+ },
38
+ n
39
+ );
40
+ })
41
+ ] });
42
+ return /* @__PURE__ */ r("div", { className: D(A), children: e !== void 0 ? i : /* @__PURE__ */ r(j, { width: "100%", height: o, children: i }) });
43
+ }
44
+ export {
45
+ N as AreaChart
46
+ };
47
+ //# sourceMappingURL=AreaChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AreaChart.js","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"],"names":["AreaChart","data","index","categories","colors","DEFAULT_CHART_COLORS","height","width","stack","showLegend","showGrid","showTooltip","valueFormatter","className","stackId","chart","jsxs","RAreaChart","jsx","CartesianGrid","XAxis","YAxis","Tooltip","toTooltipFormatter","Legend","category","i","color","Area","cn","ResponsiveContainer"],"mappings":";;;;;AAuBO,SAASA,EAAU;AAAA,EACtB,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,QAAAC,IAASC;AAAA,EACT,QAAAC,IAAS;AAAA,EACT,OAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,YAAAC,IAAa;AAAA,EACb,UAAAC,IAAW;AAAA,EACX,aAAAC,IAAc;AAAA,EACd,gBAAAC;AAAA,EACA,WAAAC;AACJ,GAAwB;AACpB,QAAMC,IAAUN,IAAQ,UAAU,QAE5BO,IACF,gBAAAC,EAACC,GAAA,EAAW,MAAAhB,GAAY,OAAAM,GAAc,QAAAD,GACjC,UAAA;AAAA,IAAAI,IAAW,gBAAAQ,EAACC,GAAA,EAAc,iBAAgB,MAAA,CAAM,IAAK;AAAA,IACtD,gBAAAD,EAACE,GAAA,EAAM,SAASlB,EAAA,CAAO;AAAA,IACvB,gBAAAgB,EAACG,GAAA,EAAM,eAAeT,EAAA,CAAgB;AAAA,IACrCD,IAAc,gBAAAO,EAACI,GAAA,EAAQ,WAAWC,EAAmBX,CAAc,GAAG,IAAK;AAAA,IAC3EH,IAAa,gBAAAS,EAACM,GAAA,CAAA,CAAO,IAAK;AAAA,IAC1BrB,EAAW,IAAI,CAACsB,GAAUC,MAAM;AAC7B,YAAMC,IAAQvB,EAAOsB,IAAItB,EAAO,MAAM;AACtC,aACI,gBAAAc;AAAA,QAACU;AAAA,QAAA;AAAA,UAEG,MAAK;AAAA,UACL,SAASH;AAAA,UACT,SAAAX;AAAA,UACA,QAAQa;AAAA,UACR,MAAMA;AAAA,UACN,aAAa;AAAA,QAAA;AAAA,QANRF;AAAA,MAAA;AAAA,IASjB,CAAC;AAAA,EAAA,GACL;AAGJ,SACI,gBAAAP,EAAC,OAAA,EAAI,WAAWW,EAAGhB,CAAS,GACvB,UAAAN,MAAU,SACPQ,sBAECe,GAAA,EAAoB,OAAM,QAAO,QAAAxB,GAC7B,aACL,GAER;AAER;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),e=require("recharts"),f=require("../utils/cn.cjs"),q=require("./palette.cjs"),y=require("./types.cjs");function T({data:c,index:l,categories:u,colors:r=q.DEFAULT_CHART_COLORS,height:s=300,width:a,stack:d=!1,showLegend:x=!0,showGrid:j=!0,showTooltip:h=!0,valueFormatter:n,className:p}){const C=d?"stack":void 0,i=t.jsxs(e.BarChart,{data:c,width:a,height:s,children:[j?t.jsx(e.CartesianGrid,{strokeDasharray:"3 3"}):null,t.jsx(e.XAxis,{dataKey:l}),t.jsx(e.YAxis,{tickFormatter:n}),h?t.jsx(e.Tooltip,{formatter:y.toTooltipFormatter(n)}):null,x?t.jsx(e.Legend,{}):null,u.map((o,m)=>t.jsx(e.Bar,{dataKey:o,stackId:C,fill:r[m%r.length]},o))]});return t.jsx("div",{className:f.cn(p),children:a!==void 0?i:t.jsx(e.ResponsiveContainer,{width:"100%",height:s,children:i})})}exports.BarChart=T;
2
+ //# sourceMappingURL=BarChart.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BarChart.cjs","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"],"names":["BarChart","data","index","categories","colors","DEFAULT_CHART_COLORS","height","width","stack","showLegend","showGrid","showTooltip","valueFormatter","className","stackId","chart","jsxs","RBarChart","jsx","CartesianGrid","XAxis","YAxis","Tooltip","toTooltipFormatter","Legend","category","i","Bar","cn","ResponsiveContainer"],"mappings":"4NAuBO,SAASA,EAAS,CACrB,KAAAC,EACA,MAAAC,EACA,WAAAC,EACA,OAAAC,EAASC,EAAAA,qBACT,OAAAC,EAAS,IACT,MAAAC,EACA,MAAAC,EAAQ,GACR,WAAAC,EAAa,GACb,SAAAC,EAAW,GACX,YAAAC,EAAc,GACd,eAAAC,EACA,UAAAC,CACJ,EAAwB,CACpB,MAAMC,EAAUN,EAAQ,QAAU,OAE5BO,EACFC,EAAAA,KAACC,EAAAA,SAAA,CAAU,KAAAhB,EAAY,MAAAM,EAAc,OAAAD,EAChC,SAAA,CAAAI,EAAWQ,EAAAA,IAACC,EAAAA,cAAA,CAAc,gBAAgB,KAAA,CAAM,EAAK,KACtDD,EAAAA,IAACE,EAAAA,MAAA,CAAM,QAASlB,CAAA,CAAO,EACvBgB,EAAAA,IAACG,EAAAA,MAAA,CAAM,cAAeT,CAAA,CAAgB,EACrCD,EAAcO,EAAAA,IAACI,EAAAA,QAAA,CAAQ,UAAWC,EAAAA,mBAAmBX,CAAc,EAAG,EAAK,KAC3EH,EAAaS,EAAAA,IAACM,SAAA,CAAA,CAAO,EAAK,KAC1BrB,EAAW,IAAI,CAACsB,EAAUC,IACvBR,EAAAA,IAACS,EAAAA,IAAA,CAEG,QAASF,EACT,QAAAX,EACA,KAAMV,EAAOsB,EAAItB,EAAO,MAAM,CAAA,EAHzBqB,CAAA,CAKZ,CAAA,EACL,EAGJ,OACIP,EAAAA,IAAC,MAAA,CAAI,UAAWU,EAAAA,GAAGf,CAAS,EACvB,SAAAN,IAAU,OACPQ,QAECc,EAAAA,oBAAA,CAAoB,MAAM,OAAO,OAAAvB,EAC7B,WACL,EAER,CAER"}
@@ -0,0 +1,41 @@
1
+ import { jsxs as x, jsx as r } from "react/jsx-runtime";
2
+ import { BarChart as k, CartesianGrid as A, XAxis as B, YAxis as T, Tooltip as v, Legend as L, Bar as R, ResponsiveContainer as j } from "recharts";
3
+ import { cn as y } from "../utils/cn.js";
4
+ import { DEFAULT_CHART_COLORS as D } from "./palette.js";
5
+ import { toTooltipFormatter as F } from "./types.js";
6
+ function H({
7
+ data: s,
8
+ index: l,
9
+ categories: m,
10
+ colors: t = D,
11
+ height: a = 300,
12
+ width: o,
13
+ stack: d = !1,
14
+ showLegend: c = !0,
15
+ showGrid: p = !0,
16
+ showTooltip: f = !0,
17
+ valueFormatter: i,
18
+ className: h
19
+ }) {
20
+ const u = d ? "stack" : void 0, e = /* @__PURE__ */ x(k, { data: s, width: o, height: a, children: [
21
+ p ? /* @__PURE__ */ r(A, { strokeDasharray: "3 3" }) : null,
22
+ /* @__PURE__ */ r(B, { dataKey: l }),
23
+ /* @__PURE__ */ r(T, { tickFormatter: i }),
24
+ f ? /* @__PURE__ */ r(v, { formatter: F(i) }) : null,
25
+ c ? /* @__PURE__ */ r(L, {}) : null,
26
+ m.map((n, C) => /* @__PURE__ */ r(
27
+ R,
28
+ {
29
+ dataKey: n,
30
+ stackId: u,
31
+ fill: t[C % t.length]
32
+ },
33
+ n
34
+ ))
35
+ ] });
36
+ return /* @__PURE__ */ r("div", { className: y(h), children: o !== void 0 ? e : /* @__PURE__ */ r(j, { width: "100%", height: a, children: e }) });
37
+ }
38
+ export {
39
+ H as BarChart
40
+ };
41
+ //# sourceMappingURL=BarChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BarChart.js","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"],"names":["BarChart","data","index","categories","colors","DEFAULT_CHART_COLORS","height","width","stack","showLegend","showGrid","showTooltip","valueFormatter","className","stackId","chart","jsxs","RBarChart","jsx","CartesianGrid","XAxis","YAxis","Tooltip","toTooltipFormatter","Legend","category","i","Bar","cn","ResponsiveContainer"],"mappings":";;;;;AAuBO,SAASA,EAAS;AAAA,EACrB,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,QAAAC,IAASC;AAAA,EACT,QAAAC,IAAS;AAAA,EACT,OAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,YAAAC,IAAa;AAAA,EACb,UAAAC,IAAW;AAAA,EACX,aAAAC,IAAc;AAAA,EACd,gBAAAC;AAAA,EACA,WAAAC;AACJ,GAAwB;AACpB,QAAMC,IAAUN,IAAQ,UAAU,QAE5BO,IACF,gBAAAC,EAACC,GAAA,EAAU,MAAAhB,GAAY,OAAAM,GAAc,QAAAD,GAChC,UAAA;AAAA,IAAAI,IAAW,gBAAAQ,EAACC,GAAA,EAAc,iBAAgB,MAAA,CAAM,IAAK;AAAA,IACtD,gBAAAD,EAACE,GAAA,EAAM,SAASlB,EAAA,CAAO;AAAA,IACvB,gBAAAgB,EAACG,GAAA,EAAM,eAAeT,EAAA,CAAgB;AAAA,IACrCD,IAAc,gBAAAO,EAACI,GAAA,EAAQ,WAAWC,EAAmBX,CAAc,GAAG,IAAK;AAAA,IAC3EH,IAAa,gBAAAS,EAACM,GAAA,CAAA,CAAO,IAAK;AAAA,IAC1BrB,EAAW,IAAI,CAACsB,GAAUC,MACvB,gBAAAR;AAAA,MAACS;AAAA,MAAA;AAAA,QAEG,SAASF;AAAA,QACT,SAAAX;AAAA,QACA,MAAMV,EAAOsB,IAAItB,EAAO,MAAM;AAAA,MAAA;AAAA,MAHzBqB;AAAA,IAAA,CAKZ;AAAA,EAAA,GACL;AAGJ,SACI,gBAAAP,EAAC,OAAA,EAAI,WAAWU,EAAGf,CAAS,GACvB,UAAAN,MAAU,SACPQ,sBAECc,GAAA,EAAoB,OAAM,QAAO,QAAAvB,GAC7B,aACL,GAER;AAER;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("recharts"),m=require("../utils/cn.cjs"),C=require("./palette.cjs"),L=require("./types.cjs");function y({data:c,index:l,categories:u,colors:r=C.DEFAULT_CHART_COLORS,height:n=300,width:s,showLegend:d=!0,showGrid:x=!0,showTooltip:j=!0,valueFormatter:i,className:h}){const o=e.jsxs(t.LineChart,{data:c,width:s,height:n,children:[x?e.jsx(t.CartesianGrid,{strokeDasharray:"3 3"}):null,e.jsx(t.XAxis,{dataKey:l}),e.jsx(t.YAxis,{tickFormatter:i}),j?e.jsx(t.Tooltip,{formatter:L.toTooltipFormatter(i)}):null,d?e.jsx(t.Legend,{}):null,u.map((a,p)=>e.jsx(t.Line,{type:"monotone",dataKey:a,stroke:r[p%r.length],dot:!1},a))]});return e.jsx("div",{className:m.cn(h),children:s!==void 0?o:e.jsx(t.ResponsiveContainer,{width:"100%",height:n,children:o})})}exports.LineChart=y;
2
+ //# sourceMappingURL=LineChart.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LineChart.cjs","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"],"names":["LineChart","data","index","categories","colors","DEFAULT_CHART_COLORS","height","width","showLegend","showGrid","showTooltip","valueFormatter","className","chart","jsxs","RLineChart","jsx","CartesianGrid","XAxis","YAxis","Tooltip","toTooltipFormatter","Legend","category","i","Line","cn","ResponsiveContainer"],"mappings":"4NAwBO,SAASA,EAAU,CACtB,KAAAC,EACA,MAAAC,EACA,WAAAC,EACA,OAAAC,EAASC,EAAAA,qBACT,OAAAC,EAAS,IACT,MAAAC,EACA,WAAAC,EAAa,GACb,SAAAC,EAAW,GACX,YAAAC,EAAc,GACd,eAAAC,EACA,UAAAC,CACJ,EAAwB,CACpB,MAAMC,EACFC,EAAAA,KAACC,EAAAA,UAAA,CAAW,KAAAd,EAAY,MAAAM,EAAc,OAAAD,EACjC,SAAA,CAAAG,EAAWO,EAAAA,IAACC,EAAAA,cAAA,CAAc,gBAAgB,KAAA,CAAM,EAAK,KACtDD,EAAAA,IAACE,EAAAA,MAAA,CAAM,QAAShB,CAAA,CAAO,EACvBc,EAAAA,IAACG,EAAAA,MAAA,CAAM,cAAeR,CAAA,CAAgB,EACrCD,EAAcM,EAAAA,IAACI,EAAAA,QAAA,CAAQ,UAAWC,EAAAA,mBAAmBV,CAAc,EAAG,EAAK,KAC3EH,EAAaQ,EAAAA,IAACM,SAAA,CAAA,CAAO,EAAK,KAC1BnB,EAAW,IAAI,CAACoB,EAAUC,IACvBR,EAAAA,IAACS,EAAAA,KAAA,CAEG,KAAK,WACL,QAASF,EACT,OAAQnB,EAAOoB,EAAIpB,EAAO,MAAM,EAChC,IAAK,EAAA,EAJAmB,CAAA,CAMZ,CAAA,EACL,EAGJ,OACIP,EAAAA,IAAC,MAAA,CAAI,UAAWU,EAAAA,GAAGd,CAAS,EACvB,SAAAL,IAAU,OACPM,QAECc,EAAAA,oBAAA,CAAoB,MAAM,OAAO,OAAArB,EAC7B,WACL,EAER,CAER"}
@@ -0,0 +1,41 @@
1
+ import { jsxs as u, jsx as r } from "react/jsx-runtime";
2
+ import { LineChart as C, CartesianGrid as L, XAxis as x, YAxis as A, Tooltip as T, Legend as k, Line as y, ResponsiveContainer as R } from "recharts";
3
+ import { cn as j } from "../utils/cn.js";
4
+ import { DEFAULT_CHART_COLORS as v } from "./palette.js";
5
+ import { toTooltipFormatter as D } from "./types.js";
6
+ function G({
7
+ data: m,
8
+ index: s,
9
+ categories: l,
10
+ colors: t = v,
11
+ height: e = 300,
12
+ width: o,
13
+ showLegend: p = !0,
14
+ showGrid: d = !0,
15
+ showTooltip: f = !0,
16
+ valueFormatter: i,
17
+ className: c
18
+ }) {
19
+ const n = /* @__PURE__ */ u(C, { data: m, width: o, height: e, children: [
20
+ d ? /* @__PURE__ */ r(L, { strokeDasharray: "3 3" }) : null,
21
+ /* @__PURE__ */ r(x, { dataKey: s }),
22
+ /* @__PURE__ */ r(A, { tickFormatter: i }),
23
+ f ? /* @__PURE__ */ r(T, { formatter: D(i) }) : null,
24
+ p ? /* @__PURE__ */ r(k, {}) : null,
25
+ l.map((a, h) => /* @__PURE__ */ r(
26
+ y,
27
+ {
28
+ type: "monotone",
29
+ dataKey: a,
30
+ stroke: t[h % t.length],
31
+ dot: !1
32
+ },
33
+ a
34
+ ))
35
+ ] });
36
+ return /* @__PURE__ */ r("div", { className: j(c), children: o !== void 0 ? n : /* @__PURE__ */ r(R, { width: "100%", height: e, children: n }) });
37
+ }
38
+ export {
39
+ G as LineChart
40
+ };
41
+ //# sourceMappingURL=LineChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LineChart.js","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"],"names":["LineChart","data","index","categories","colors","DEFAULT_CHART_COLORS","height","width","showLegend","showGrid","showTooltip","valueFormatter","className","chart","jsxs","RLineChart","jsx","CartesianGrid","XAxis","YAxis","Tooltip","toTooltipFormatter","Legend","category","i","Line","cn","ResponsiveContainer"],"mappings":";;;;;AAwBO,SAASA,EAAU;AAAA,EACtB,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,QAAAC,IAASC;AAAA,EACT,QAAAC,IAAS;AAAA,EACT,OAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,UAAAC,IAAW;AAAA,EACX,aAAAC,IAAc;AAAA,EACd,gBAAAC;AAAA,EACA,WAAAC;AACJ,GAAwB;AACpB,QAAMC,IACF,gBAAAC,EAACC,GAAA,EAAW,MAAAd,GAAY,OAAAM,GAAc,QAAAD,GACjC,UAAA;AAAA,IAAAG,IAAW,gBAAAO,EAACC,GAAA,EAAc,iBAAgB,MAAA,CAAM,IAAK;AAAA,IACtD,gBAAAD,EAACE,GAAA,EAAM,SAAShB,EAAA,CAAO;AAAA,IACvB,gBAAAc,EAACG,GAAA,EAAM,eAAeR,EAAA,CAAgB;AAAA,IACrCD,IAAc,gBAAAM,EAACI,GAAA,EAAQ,WAAWC,EAAmBV,CAAc,GAAG,IAAK;AAAA,IAC3EH,IAAa,gBAAAQ,EAACM,GAAA,CAAA,CAAO,IAAK;AAAA,IAC1BnB,EAAW,IAAI,CAACoB,GAAUC,MACvB,gBAAAR;AAAA,MAACS;AAAA,MAAA;AAAA,QAEG,MAAK;AAAA,QACL,SAASF;AAAA,QACT,QAAQnB,EAAOoB,IAAIpB,EAAO,MAAM;AAAA,QAChC,KAAK;AAAA,MAAA;AAAA,MAJAmB;AAAA,IAAA,CAMZ;AAAA,EAAA,GACL;AAGJ,SACI,gBAAAP,EAAC,OAAA,EAAI,WAAWU,EAAGd,CAAS,GACvB,UAAAL,MAAU,SACPM,sBAECc,GAAA,EAAoB,OAAM,QAAO,QAAArB,GAC7B,aACL,GAER;AAER;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("recharts"),x=require("../utils/cn.cjs"),C=require("./palette.cjs"),R=require("./types.cjs");function f({data:t,category:u,index:n,colors:i=C.DEFAULT_CHART_COLORS,height:s=300,width:l,donut:c=!1,showLegend:d=!0,showTooltip:j=!0,valueFormatter:h,className:m}){const o=e.jsxs(r.PieChart,{width:l,height:s,children:[j?e.jsx(r.Tooltip,{formatter:R.toTooltipFormatter(h)}):null,d?e.jsx(r.Legend,{}):null,e.jsx(r.Pie,{data:t,dataKey:u,nameKey:n,innerRadius:c?"60%":0,outerRadius:"80%",children:t.map((p,a)=>e.jsx(r.Cell,{fill:i[a%i.length]},`${String(p[n])}-${a}`))})]});return e.jsx("div",{className:x.cn(m),children:l!==void 0?o:e.jsx(r.ResponsiveContainer,{width:"100%",height:s,children:o})})}exports.PieChart=f;
2
+ //# sourceMappingURL=PieChart.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PieChart.cjs","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"],"names":["PieChart","data","category","index","colors","DEFAULT_CHART_COLORS","height","width","donut","showLegend","showTooltip","valueFormatter","className","chart","jsxs","RPieChart","Tooltip","toTooltipFormatter","jsx","Legend","Pie","row","i","Cell","cn","ResponsiveContainer"],"mappings":"4NAeO,SAASA,EAAS,CACrB,KAAAC,EACA,SAAAC,EACA,MAAAC,EACA,OAAAC,EAASC,EAAAA,qBACT,OAAAC,EAAS,IACT,MAAAC,EACA,MAAAC,EAAQ,GACR,WAAAC,EAAa,GACb,YAAAC,EAAc,GACd,eAAAC,EACA,UAAAC,CACJ,EAAkB,CACd,MAAMC,EACFC,EAAAA,KAACC,EAAAA,SAAA,CAAU,MAAAR,EAAc,OAAAD,EACpB,SAAA,CAAAI,QAAeM,EAAAA,QAAA,CAAQ,UAAWC,EAAAA,mBAAmBN,CAAc,EAAG,EAAK,KAC3EF,EAAaS,EAAAA,IAACC,SAAA,CAAA,CAAO,EAAK,KAC3BD,EAAAA,IAACE,EAAAA,IAAA,CACG,KAAAnB,EACA,QAASC,EACT,QAASC,EACT,YAAaK,EAAQ,MAAQ,EAC7B,YAAY,MAEX,SAAAP,EAAK,IAAI,CAACoB,EAAKC,IACZJ,EAAAA,IAACK,EAAAA,KAAA,CAAwC,KAAMnB,EAAOkB,EAAIlB,EAAO,MAAM,CAAA,EAA5D,GAAG,OAAOiB,EAAIlB,CAAK,CAAC,CAAC,IAAImB,CAAC,EAAqC,CAC7E,CAAA,CAAA,CACL,EACJ,EAGJ,OACIJ,EAAAA,IAAC,MAAA,CAAI,UAAWM,EAAAA,GAAGZ,CAAS,EACvB,SAAAL,IAAU,OACPM,QAECY,EAAAA,oBAAA,CAAoB,MAAM,OAAO,OAAAnB,EAC7B,WACL,EAER,CAER"}
@@ -0,0 +1,39 @@
1
+ import { jsxs as h, jsx as r } from "react/jsx-runtime";
2
+ import { PieChart as C, Tooltip as R, Legend as P, Pie as T, Cell as v, ResponsiveContainer as L } from "recharts";
3
+ import { cn as $ } from "../utils/cn.js";
4
+ import { DEFAULT_CHART_COLORS as g } from "./palette.js";
5
+ import { toTooltipFormatter as j } from "./types.js";
6
+ function O({
7
+ data: e,
8
+ category: m,
9
+ index: t,
10
+ colors: i = g,
11
+ height: o = 300,
12
+ width: n,
13
+ donut: s = !1,
14
+ showLegend: p = !0,
15
+ showTooltip: f = !0,
16
+ valueFormatter: u,
17
+ className: c
18
+ }) {
19
+ const l = /* @__PURE__ */ h(C, { width: n, height: o, children: [
20
+ f ? /* @__PURE__ */ r(R, { formatter: j(u) }) : null,
21
+ p ? /* @__PURE__ */ r(P, {}) : null,
22
+ /* @__PURE__ */ r(
23
+ T,
24
+ {
25
+ data: e,
26
+ dataKey: m,
27
+ nameKey: t,
28
+ innerRadius: s ? "60%" : 0,
29
+ outerRadius: "80%",
30
+ children: e.map((d, a) => /* @__PURE__ */ r(v, { fill: i[a % i.length] }, `${String(d[t])}-${a}`))
31
+ }
32
+ )
33
+ ] });
34
+ return /* @__PURE__ */ r("div", { className: $(c), children: n !== void 0 ? l : /* @__PURE__ */ r(L, { width: "100%", height: o, children: l }) });
35
+ }
36
+ export {
37
+ O as PieChart
38
+ };
39
+ //# sourceMappingURL=PieChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PieChart.js","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"],"names":["PieChart","data","category","index","colors","DEFAULT_CHART_COLORS","height","width","donut","showLegend","showTooltip","valueFormatter","className","chart","jsxs","RPieChart","Tooltip","toTooltipFormatter","jsx","Legend","Pie","row","i","Cell","cn","ResponsiveContainer"],"mappings":";;;;;AAeO,SAASA,EAAS;AAAA,EACrB,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,QAAAC,IAASC;AAAA,EACT,QAAAC,IAAS;AAAA,EACT,OAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,YAAAC,IAAa;AAAA,EACb,aAAAC,IAAc;AAAA,EACd,gBAAAC;AAAA,EACA,WAAAC;AACJ,GAAkB;AACd,QAAMC,IACF,gBAAAC,EAACC,GAAA,EAAU,OAAAR,GAAc,QAAAD,GACpB,UAAA;AAAA,IAAAI,sBAAeM,GAAA,EAAQ,WAAWC,EAAmBN,CAAc,GAAG,IAAK;AAAA,IAC3EF,IAAa,gBAAAS,EAACC,GAAA,CAAA,CAAO,IAAK;AAAA,IAC3B,gBAAAD;AAAA,MAACE;AAAA,MAAA;AAAA,QACG,MAAAnB;AAAA,QACA,SAASC;AAAA,QACT,SAASC;AAAA,QACT,aAAaK,IAAQ,QAAQ;AAAA,QAC7B,aAAY;AAAA,QAEX,UAAAP,EAAK,IAAI,CAACoB,GAAKC,MACZ,gBAAAJ,EAACK,GAAA,EAAwC,MAAMnB,EAAOkB,IAAIlB,EAAO,MAAM,EAAA,GAA5D,GAAG,OAAOiB,EAAIlB,CAAK,CAAC,CAAC,IAAImB,CAAC,EAAqC,CAC7E;AAAA,MAAA;AAAA,IAAA;AAAA,EACL,GACJ;AAGJ,SACI,gBAAAJ,EAAC,OAAA,EAAI,WAAWM,EAAGZ,CAAS,GACvB,UAAAL,MAAU,SACPM,sBAECY,GAAA,EAAoB,OAAM,QAAO,QAAAnB,GAC7B,aACL,GAER;AAER;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),e=require("recharts"),h=require("../utils/cn.cjs"),m=require("./palette.cjs"),C=require("./types.cjs");function f({data:l,index:c,categories:u,colors:t=m.DEFAULT_CHART_COLORS,height:a=300,width:s,showLegend:d=!0,showTooltip:x=!0,valueFormatter:j,className:R}){const n=r.jsxs(e.RadarChart,{data:l,width:s,height:a,children:[r.jsx(e.PolarGrid,{}),r.jsx(e.PolarAngleAxis,{dataKey:c}),r.jsx(e.PolarRadiusAxis,{}),x?r.jsx(e.Tooltip,{formatter:C.toTooltipFormatter(j)}):null,d?r.jsx(e.Legend,{}):null,u.map((i,p)=>{const o=t[p%t.length];return r.jsx(e.Radar,{dataKey:i,stroke:o,fill:o,fillOpacity:.3},i)})]});return r.jsx("div",{className:h.cn(R),children:s!==void 0?n:r.jsx(e.ResponsiveContainer,{width:"100%",height:a,children:n})})}exports.RadarChart=f;
2
+ //# sourceMappingURL=RadarChart.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadarChart.cjs","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"],"names":["RadarChart","data","index","categories","colors","DEFAULT_CHART_COLORS","height","width","showLegend","showTooltip","valueFormatter","className","chart","jsxs","RRadarChart","jsx","PolarGrid","PolarAngleAxis","PolarRadiusAxis","Tooltip","toTooltipFormatter","Legend","category","i","color","Radar","cn","ResponsiveContainer"],"mappings":"4NAuBO,SAASA,EAAW,CACvB,KAAAC,EACA,MAAAC,EACA,WAAAC,EACA,OAAAC,EAASC,EAAAA,qBACT,OAAAC,EAAS,IACT,MAAAC,EACA,WAAAC,EAAa,GACb,YAAAC,EAAc,GACd,eAAAC,EACA,UAAAC,CACJ,EAAwB,CACpB,MAAMC,EACFC,EAAAA,KAACC,EAAAA,WAAA,CAAY,KAAAb,EAAY,MAAAM,EAAc,OAAAD,EACnC,SAAA,CAAAS,EAAAA,IAACC,EAAAA,UAAA,EAAU,EACXD,EAAAA,IAACE,EAAAA,eAAA,CAAe,QAASf,CAAA,CAAO,QAC/BgB,EAAAA,gBAAA,EAAgB,EAChBT,EAAcM,EAAAA,IAACI,EAAAA,QAAA,CAAQ,UAAWC,EAAAA,mBAAmBV,CAAc,EAAG,EAAK,KAC3EF,EAAaO,EAAAA,IAACM,SAAA,CAAA,CAAO,EAAK,KAC1BlB,EAAW,IAAI,CAACmB,EAAUC,IAAM,CAC7B,MAAMC,EAAQpB,EAAOmB,EAAInB,EAAO,MAAM,EACtC,OACIW,EAAAA,IAACU,EAAAA,MAAA,CAEG,QAASH,EACT,OAAQE,EACR,KAAMA,EACN,YAAa,EAAA,EAJRF,CAAA,CAOjB,CAAC,CAAA,EACL,EAGJ,OACIP,EAAAA,IAAC,MAAA,CAAI,UAAWW,EAAAA,GAAGf,CAAS,EACvB,SAAAJ,IAAU,OACPK,QAECe,EAAAA,oBAAA,CAAoB,MAAM,OAAO,OAAArB,EAC7B,WACL,EAER,CAER"}