tempest-react-sdk 0.22.0 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +92 -82
- package/bin/create-tempest-app.mjs +1 -0
- package/bin/tempest.mjs +1 -0
- package/dist/_virtual/_rolldown/runtime.cjs +1 -0
- package/dist/access/Can.cjs +2 -0
- package/dist/access/Can.cjs.map +1 -0
- package/dist/access/Can.js +15 -0
- package/dist/access/Can.js.map +1 -0
- package/dist/access/access-control-context.cjs +2 -0
- package/dist/access/access-control-context.cjs.map +1 -0
- package/dist/access/access-control-context.js +17 -0
- package/dist/access/access-control-context.js.map +1 -0
- package/dist/access/create-role-access-control.cjs +2 -0
- package/dist/access/create-role-access-control.cjs.map +1 -0
- package/dist/access/create-role-access-control.js +19 -0
- package/dist/access/create-role-access-control.js.map +1 -0
- package/dist/access/permissions-from-token.cjs +2 -0
- package/dist/access/permissions-from-token.cjs.map +1 -0
- package/dist/access/permissions-from-token.js +22 -0
- package/dist/access/permissions-from-token.js.map +1 -0
- package/dist/access/use-can.cjs +2 -0
- package/dist/access/use-can.cjs.map +1 -0
- package/dist/access/use-can.js +49 -0
- package/dist/access/use-can.js.map +1 -0
- package/dist/app/AppProviders.cjs +2 -0
- package/dist/app/AppProviders.cjs.map +1 -0
- package/dist/app/AppProviders.js +26 -0
- package/dist/app/AppProviders.js.map +1 -0
- package/dist/audio/audio-player.cjs +2 -0
- package/dist/audio/audio-player.cjs.map +1 -0
- package/dist/audio/audio-player.js +35 -0
- package/dist/audio/audio-player.js.map +1 -0
- package/dist/audio/use-audio.cjs +2 -0
- package/dist/audio/use-audio.cjs.map +1 -0
- package/dist/audio/use-audio.js +21 -0
- package/dist/audio/use-audio.js.map +1 -0
- package/dist/auth/AuthGuard.cjs +2 -0
- package/dist/auth/AuthGuard.cjs.map +1 -0
- package/dist/auth/AuthGuard.js +9 -0
- package/dist/auth/AuthGuard.js.map +1 -0
- package/dist/auth/create-auth-store.cjs +2 -0
- package/dist/auth/create-auth-store.cjs.map +1 -0
- package/dist/auth/create-auth-store.js +40 -0
- package/dist/auth/create-auth-store.js.map +1 -0
- package/dist/auth/create-tempest-auth.cjs +2 -0
- package/dist/auth/create-tempest-auth.cjs.map +1 -0
- package/dist/auth/create-tempest-auth.js +74 -0
- package/dist/auth/create-tempest-auth.js.map +1 -0
- package/dist/auth/jwt.cjs +2 -0
- package/dist/auth/jwt.cjs.map +1 -0
- package/dist/auth/jwt.js +33 -0
- package/dist/auth/jwt.js.map +1 -0
- package/dist/auth/lazy-with-retry.cjs +2 -0
- package/dist/auth/lazy-with-retry.cjs.map +1 -0
- package/dist/auth/lazy-with-retry.js +18 -0
- package/dist/auth/lazy-with-retry.js.map +1 -0
- package/dist/auth/refresh-queue.cjs +2 -0
- package/dist/auth/refresh-queue.cjs.map +1 -0
- package/dist/auth/refresh-queue.js +15 -0
- package/dist/auth/refresh-queue.js.map +1 -0
- package/dist/br/BrazilMap.cjs +2 -0
- package/dist/br/BrazilMap.cjs.map +1 -0
- package/dist/br/BrazilMap.js +179 -0
- package/dist/br/BrazilMap.js.map +1 -0
- package/dist/br/BrazilMap.module.cjs +2 -0
- package/dist/br/BrazilMap.module.cjs.map +1 -0
- package/dist/br/BrazilMap.module.js +18 -0
- package/dist/br/BrazilMap.module.js.map +1 -0
- package/dist/br/BrazilStateCitySelect.cjs +2 -0
- package/dist/br/BrazilStateCitySelect.cjs.map +1 -0
- package/dist/br/BrazilStateCitySelect.js +54 -0
- package/dist/br/BrazilStateCitySelect.js.map +1 -0
- package/dist/br/BrazilStateMap.cjs +2 -0
- package/dist/br/BrazilStateMap.cjs.map +1 -0
- package/dist/br/BrazilStateMap.js +177 -0
- package/dist/br/BrazilStateMap.js.map +1 -0
- package/dist/br/MapLegend.cjs +2 -0
- package/dist/br/MapLegend.cjs.map +1 -0
- package/dist/br/MapLegend.js +41 -0
- package/dist/br/MapLegend.js.map +1 -0
- package/dist/br/MapLegend.module.cjs +2 -0
- package/dist/br/MapLegend.module.cjs.map +1 -0
- package/dist/br/MapLegend.module.js +15 -0
- package/dist/br/MapLegend.module.js.map +1 -0
- package/dist/br/MapMarkers.cjs +2 -0
- package/dist/br/MapMarkers.cjs.map +1 -0
- package/dist/br/MapMarkers.js +31 -0
- package/dist/br/MapMarkers.js.map +1 -0
- package/dist/br/MapTooltip.cjs +2 -0
- package/dist/br/MapTooltip.cjs.map +1 -0
- package/dist/br/MapTooltip.js +20 -0
- package/dist/br/MapTooltip.js.map +1 -0
- package/dist/br/MunicipalitySearch.cjs +2 -0
- package/dist/br/MunicipalitySearch.cjs.map +1 -0
- package/dist/br/MunicipalitySearch.js +74 -0
- package/dist/br/MunicipalitySearch.js.map +1 -0
- package/dist/br/MunicipalitySearch.module.cjs +2 -0
- package/dist/br/MunicipalitySearch.module.cjs.map +1 -0
- package/dist/br/MunicipalitySearch.module.js +11 -0
- package/dist/br/MunicipalitySearch.module.js.map +1 -0
- package/dist/br/br-geo.cjs +2 -0
- package/dist/br/br-geo.cjs.map +1 -0
- package/dist/br/br-geo.js +7 -0
- package/dist/br/br-geo.js.map +1 -0
- package/dist/br/data/br-centroids.cjs +2 -0
- package/dist/br/data/br-centroids.cjs.map +1 -0
- package/dist/br/data/br-centroids.js +38972 -0
- package/dist/br/data/br-centroids.js.map +1 -0
- package/dist/br/data/br-locations.cjs +2 -0
- package/dist/br/data/br-locations.cjs.map +1 -0
- package/dist/br/data/br-locations.js +198 -0
- package/dist/br/data/br-locations.js.map +1 -0
- package/dist/br/data/br-uf-geo.cjs +2 -0
- package/dist/br/data/br-uf-geo.cjs.map +1 -0
- package/dist/br/data/br-uf-geo.js +7134 -0
- package/dist/br/data/br-uf-geo.js.map +1 -0
- package/dist/br/data/mun/AC.cjs +2 -0
- package/dist/br/data/mun/AC.cjs.map +1 -0
- package/dist/br/data/mun/AC.js +992 -0
- package/dist/br/data/mun/AC.js.map +1 -0
- package/dist/br/data/mun/AL.cjs +2 -0
- package/dist/br/data/mun/AL.cjs.map +1 -0
- package/dist/br/data/mun/AL.js +2150 -0
- package/dist/br/data/mun/AL.js.map +1 -0
- package/dist/br/data/mun/AM.cjs +2 -0
- package/dist/br/data/mun/AM.cjs.map +1 -0
- package/dist/br/data/mun/AM.js +5062 -0
- package/dist/br/data/mun/AM.js.map +1 -0
- package/dist/br/data/mun/AP.cjs +2 -0
- package/dist/br/data/mun/AP.cjs.map +1 -0
- package/dist/br/data/mun/AP.js +995 -0
- package/dist/br/data/mun/AP.js.map +1 -0
- package/dist/br/data/mun/BA.cjs +2 -0
- package/dist/br/data/mun/BA.cjs.map +1 -0
- package/dist/br/data/mun/BA.js +10762 -0
- package/dist/br/data/mun/BA.js.map +1 -0
- package/dist/br/data/mun/CE.cjs +2 -0
- package/dist/br/data/mun/CE.cjs.map +1 -0
- package/dist/br/data/mun/CE.js +4844 -0
- package/dist/br/data/mun/CE.js.map +1 -0
- package/dist/br/data/mun/DF.cjs +2 -0
- package/dist/br/data/mun/DF.cjs.map +1 -0
- package/dist/br/data/mun/DF.js +37 -0
- package/dist/br/data/mun/DF.js.map +1 -0
- package/dist/br/data/mun/ES.cjs +2 -0
- package/dist/br/data/mun/ES.cjs.map +1 -0
- package/dist/br/data/mun/ES.js +2064 -0
- package/dist/br/data/mun/ES.js.map +1 -0
- package/dist/br/data/mun/GO.cjs +2 -0
- package/dist/br/data/mun/GO.cjs.map +1 -0
- package/dist/br/data/mun/GO.js +7617 -0
- package/dist/br/data/mun/GO.js.map +1 -0
- package/dist/br/data/mun/MA.cjs +2 -0
- package/dist/br/data/mun/MA.cjs.map +1 -0
- package/dist/br/data/mun/MA.js +6260 -0
- package/dist/br/data/mun/MA.js.map +1 -0
- package/dist/br/data/mun/MG.cjs +2 -0
- package/dist/br/data/mun/MG.cjs.map +1 -0
- package/dist/br/data/mun/MG.js +22545 -0
- package/dist/br/data/mun/MG.js.map +1 -0
- package/dist/br/data/mun/MS.cjs +2 -0
- package/dist/br/data/mun/MS.cjs.map +1 -0
- package/dist/br/data/mun/MS.js +3261 -0
- package/dist/br/data/mun/MS.js.map +1 -0
- package/dist/br/data/mun/MT.cjs +2 -0
- package/dist/br/data/mun/MT.cjs.map +1 -0
- package/dist/br/data/mun/MT.js +6459 -0
- package/dist/br/data/mun/MT.js.map +1 -0
- package/dist/br/data/mun/PA.cjs +2 -0
- package/dist/br/data/mun/PA.cjs.map +1 -0
- package/dist/br/data/mun/PA.js +6738 -0
- package/dist/br/data/mun/PA.js.map +1 -0
- package/dist/br/data/mun/PB.cjs +2 -0
- package/dist/br/data/mun/PB.cjs.map +1 -0
- package/dist/br/data/mun/PB.js +4735 -0
- package/dist/br/data/mun/PB.js.map +1 -0
- package/dist/br/data/mun/PE.cjs +2 -0
- package/dist/br/data/mun/PE.cjs.map +1 -0
- package/dist/br/data/mun/PE.js +4380 -0
- package/dist/br/data/mun/PE.js.map +1 -0
- package/dist/br/data/mun/PI.cjs +2 -0
- package/dist/br/data/mun/PI.cjs.map +1 -0
- package/dist/br/data/mun/PI.js +5789 -0
- package/dist/br/data/mun/PI.js.map +1 -0
- package/dist/br/data/mun/PR.cjs +2 -0
- package/dist/br/data/mun/PR.cjs.map +1 -0
- package/dist/br/data/mun/PR.js +10320 -0
- package/dist/br/data/mun/PR.js.map +1 -0
- package/dist/br/data/mun/RJ.cjs +2 -0
- package/dist/br/data/mun/RJ.cjs.map +1 -0
- package/dist/br/data/mun/RJ.js +2310 -0
- package/dist/br/data/mun/RJ.js.map +1 -0
- package/dist/br/data/mun/RN.cjs +2 -0
- package/dist/br/data/mun/RN.cjs.map +1 -0
- package/dist/br/data/mun/RN.js +3545 -0
- package/dist/br/data/mun/RN.js.map +1 -0
- package/dist/br/data/mun/RO.cjs +2 -0
- package/dist/br/data/mun/RO.cjs.map +1 -0
- package/dist/br/data/mun/RO.js +2173 -0
- package/dist/br/data/mun/RO.js.map +1 -0
- package/dist/br/data/mun/RR.cjs +2 -0
- package/dist/br/data/mun/RR.cjs.map +1 -0
- package/dist/br/data/mun/RR.js +992 -0
- package/dist/br/data/mun/RR.js.map +1 -0
- package/dist/br/data/mun/RS.cjs +2 -0
- package/dist/br/data/mun/RS.cjs.map +1 -0
- package/dist/br/data/mun/RS.js +12694 -0
- package/dist/br/data/mun/RS.js.map +1 -0
- package/dist/br/data/mun/SC.cjs +2 -0
- package/dist/br/data/mun/SC.cjs.map +1 -0
- package/dist/br/data/mun/SC.js +7028 -0
- package/dist/br/data/mun/SC.js.map +1 -0
- package/dist/br/data/mun/SE.cjs +2 -0
- package/dist/br/data/mun/SE.cjs.map +1 -0
- package/dist/br/data/mun/SE.js +1588 -0
- package/dist/br/data/mun/SE.js.map +1 -0
- package/dist/br/data/mun/SP.cjs +2 -0
- package/dist/br/data/mun/SP.cjs.map +1 -0
- package/dist/br/data/mun/SP.js +15019 -0
- package/dist/br/data/mun/SP.js.map +1 -0
- package/dist/br/data/mun/TO.cjs +2 -0
- package/dist/br/data/mun/TO.cjs.map +1 -0
- package/dist/br/data/mun/TO.js +4510 -0
- package/dist/br/data/mun/TO.js.map +1 -0
- package/dist/br/geocode.cjs +2 -0
- package/dist/br/geocode.cjs.map +1 -0
- package/dist/br/geocode.js +91 -0
- package/dist/br/geocode.js.map +1 -0
- package/dist/br/locations.cjs +2 -0
- package/dist/br/locations.cjs.map +1 -0
- package/dist/br/locations.js +79 -0
- package/dist/br/locations.js.map +1 -0
- package/dist/br/regions.cjs +2 -0
- package/dist/br/regions.cjs.map +1 -0
- package/dist/br/regions.js +18 -0
- package/dist/br/regions.js.map +1 -0
- package/dist/br/scales.cjs +2 -0
- package/dist/br/scales.cjs.map +1 -0
- package/dist/br/scales.js +56 -0
- package/dist/br/scales.js.map +1 -0
- package/dist/br/state-geo.cjs +2 -0
- package/dist/br/state-geo.cjs.map +1 -0
- package/dist/br/state-geo.js +40 -0
- package/dist/br/state-geo.js.map +1 -0
- package/dist/br/svg-utils.cjs +2 -0
- package/dist/br/svg-utils.cjs.map +1 -0
- package/dist/br/svg-utils.js +53 -0
- package/dist/br/svg-utils.js.map +1 -0
- package/dist/br/use-map-hover.cjs +2 -0
- package/dist/br/use-map-hover.cjs.map +1 -0
- package/dist/br/use-map-hover.js +21 -0
- package/dist/br/use-map-hover.js.map +1 -0
- package/dist/br/use-map-zoom.cjs +2 -0
- package/dist/br/use-map-zoom.cjs.map +1 -0
- package/dist/br/use-map-zoom.js +72 -0
- package/dist/br/use-map-zoom.js.map +1 -0
- package/dist/br.cjs +2 -2
- package/dist/br.cjs.map +1 -1
- package/dist/br.d.ts +1 -1
- package/dist/br.js +19 -949
- package/dist/br.js.map +1 -1
- package/dist/charts/AreaChart.cjs +2 -0
- package/dist/charts/AreaChart.cjs.map +1 -0
- package/dist/charts/AreaChart.js +43 -0
- package/dist/charts/AreaChart.js.map +1 -0
- package/dist/charts/BarChart.cjs +2 -0
- package/dist/charts/BarChart.cjs.map +1 -0
- package/dist/charts/BarChart.js +37 -0
- package/dist/charts/BarChart.js.map +1 -0
- package/dist/charts/LineChart.cjs +2 -0
- package/dist/charts/LineChart.cjs.map +1 -0
- package/dist/charts/LineChart.js +38 -0
- package/dist/charts/LineChart.js.map +1 -0
- package/dist/charts/PieChart.cjs +2 -0
- package/dist/charts/PieChart.cjs.map +1 -0
- package/dist/charts/PieChart.js +36 -0
- package/dist/charts/PieChart.js.map +1 -0
- package/dist/charts/RadarChart.cjs +2 -0
- package/dist/charts/RadarChart.cjs.map +1 -0
- package/dist/charts/RadarChart.js +41 -0
- package/dist/charts/RadarChart.js.map +1 -0
- package/dist/charts/palette.cjs +2 -0
- package/dist/charts/palette.cjs.map +1 -0
- package/dist/charts/palette.js +13 -0
- package/dist/charts/palette.js.map +1 -0
- package/dist/charts/types.cjs +2 -0
- package/dist/charts/types.cjs.map +1 -0
- package/dist/charts/types.js +8 -0
- package/dist/charts/types.js.map +1 -0
- package/dist/charts.cjs +1 -2
- package/dist/charts.d.ts +1 -1
- package/dist/charts.js +7 -196
- package/dist/components/Accordion/Accordion.cjs +2 -0
- package/dist/components/Accordion/Accordion.cjs.map +1 -0
- package/dist/components/Accordion/Accordion.js +65 -0
- package/dist/components/Accordion/Accordion.js.map +1 -0
- package/dist/components/Accordion/Accordion.module.cjs +2 -0
- package/dist/components/Accordion/Accordion.module.cjs.map +1 -0
- package/dist/components/Accordion/Accordion.module.js +14 -0
- package/dist/components/Accordion/Accordion.module.js.map +1 -0
- package/dist/components/Alert/Alert.cjs +2 -0
- package/dist/components/Alert/Alert.cjs.map +1 -0
- package/dist/components/Alert/Alert.js +57 -0
- package/dist/components/Alert/Alert.js.map +1 -0
- package/dist/components/Alert/Alert.module.cjs +2 -0
- package/dist/components/Alert/Alert.module.cjs.map +1 -0
- package/dist/components/Alert/Alert.module.js +20 -0
- package/dist/components/Alert/Alert.module.js.map +1 -0
- package/dist/components/AppBar/AppBar.cjs +2 -0
- package/dist/components/AppBar/AppBar.cjs.map +1 -0
- package/dist/components/AppBar/AppBar.js +43 -0
- package/dist/components/AppBar/AppBar.js.map +1 -0
- package/dist/components/AppBar/AppBar.module.cjs +2 -0
- package/dist/components/AppBar/AppBar.module.cjs.map +1 -0
- package/dist/components/AppBar/AppBar.module.js +20 -0
- package/dist/components/AppBar/AppBar.module.js.map +1 -0
- package/dist/components/AppShell/AppShell.cjs +2 -0
- package/dist/components/AppShell/AppShell.cjs.map +1 -0
- package/dist/components/AppShell/AppShell.js +40 -0
- package/dist/components/AppShell/AppShell.js.map +1 -0
- package/dist/components/AppShell/AppShell.module.cjs +2 -0
- package/dist/components/AppShell/AppShell.module.cjs.map +1 -0
- package/dist/components/AppShell/AppShell.module.js +14 -0
- package/dist/components/AppShell/AppShell.module.js.map +1 -0
- package/dist/components/AspectRatio/AspectRatio.cjs +2 -0
- package/dist/components/AspectRatio/AspectRatio.cjs.map +1 -0
- package/dist/components/AspectRatio/AspectRatio.js +20 -0
- package/dist/components/AspectRatio/AspectRatio.js.map +1 -0
- package/dist/components/AspectRatio/AspectRatio.module.cjs +2 -0
- package/dist/components/AspectRatio/AspectRatio.module.cjs.map +1 -0
- package/dist/components/AspectRatio/AspectRatio.module.js +6 -0
- package/dist/components/AspectRatio/AspectRatio.module.js.map +1 -0
- package/dist/components/Avatar/Avatar.cjs +2 -0
- package/dist/components/Avatar/Avatar.cjs.map +1 -0
- package/dist/components/Avatar/Avatar.js +37 -0
- package/dist/components/Avatar/Avatar.js.map +1 -0
- package/dist/components/Avatar/Avatar.module.cjs +2 -0
- package/dist/components/Avatar/Avatar.module.cjs.map +1 -0
- package/dist/components/Avatar/Avatar.module.js +19 -0
- package/dist/components/Avatar/Avatar.module.js.map +1 -0
- package/dist/components/Badge/Badge.cjs +2 -0
- package/dist/components/Badge/Badge.cjs.map +1 -0
- package/dist/components/Badge/Badge.js +18 -0
- package/dist/components/Badge/Badge.js.map +1 -0
- package/dist/components/Badge/Badge.module.cjs +2 -0
- package/dist/components/Badge/Badge.module.cjs.map +1 -0
- package/dist/components/Badge/Badge.module.js +21 -0
- package/dist/components/Badge/Badge.module.js.map +1 -0
- package/dist/components/Banner/Banner.cjs +2 -0
- package/dist/components/Banner/Banner.cjs.map +1 -0
- package/dist/components/Banner/Banner.js +46 -0
- package/dist/components/Banner/Banner.js.map +1 -0
- package/dist/components/Banner/Banner.module.cjs +2 -0
- package/dist/components/Banner/Banner.module.cjs.map +1 -0
- package/dist/components/Banner/Banner.module.js +18 -0
- package/dist/components/Banner/Banner.module.js.map +1 -0
- package/dist/components/BottomNavigation/BottomNavigation.cjs +2 -0
- package/dist/components/BottomNavigation/BottomNavigation.cjs.map +1 -0
- package/dist/components/BottomNavigation/BottomNavigation.js +38 -0
- package/dist/components/BottomNavigation/BottomNavigation.js.map +1 -0
- package/dist/components/BottomNavigation/BottomNavigation.module.cjs +2 -0
- package/dist/components/BottomNavigation/BottomNavigation.module.cjs.map +1 -0
- package/dist/components/BottomNavigation/BottomNavigation.module.js +14 -0
- package/dist/components/BottomNavigation/BottomNavigation.module.js.map +1 -0
- package/dist/components/BottomSheet/BottomSheet.cjs +2 -0
- package/dist/components/BottomSheet/BottomSheet.cjs.map +1 -0
- package/dist/components/BottomSheet/BottomSheet.js +58 -0
- package/dist/components/BottomSheet/BottomSheet.js.map +1 -0
- package/dist/components/BottomSheet/BottomSheet.module.cjs +2 -0
- package/dist/components/BottomSheet/BottomSheet.module.cjs.map +1 -0
- package/dist/components/BottomSheet/BottomSheet.module.js +16 -0
- package/dist/components/BottomSheet/BottomSheet.module.js.map +1 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.cjs +2 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.cjs.map +1 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.js +37 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.js.map +1 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.module.cjs +2 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.module.cjs.map +1 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.module.js +12 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.module.js.map +1 -0
- package/dist/components/Button/Button.cjs +2 -0
- package/dist/components/Button/Button.cjs.map +1 -0
- package/dist/components/Button/Button.js +42 -0
- package/dist/components/Button/Button.js.map +1 -0
- package/dist/components/Button/Button.module.cjs +2 -0
- package/dist/components/Button/Button.module.cjs.map +1 -0
- package/dist/components/Button/Button.module.js +29 -0
- package/dist/components/Button/Button.module.js.map +1 -0
- package/dist/components/Calendar/Calendar.cjs +2 -0
- package/dist/components/Calendar/Calendar.cjs.map +1 -0
- package/dist/components/Calendar/Calendar.js +163 -0
- package/dist/components/Calendar/Calendar.js.map +1 -0
- package/dist/components/Calendar/Calendar.module.cjs +2 -0
- package/dist/components/Calendar/Calendar.module.cjs.map +1 -0
- package/dist/components/Calendar/Calendar.module.js +18 -0
- package/dist/components/Calendar/Calendar.module.js.map +1 -0
- package/dist/components/Card/Card.cjs +2 -0
- package/dist/components/Card/Card.cjs.map +1 -0
- package/dist/components/Card/Card.js +33 -0
- package/dist/components/Card/Card.js.map +1 -0
- package/dist/components/Card/Card.module.cjs +2 -0
- package/dist/components/Card/Card.module.cjs.map +1 -0
- package/dist/components/Card/Card.module.js +18 -0
- package/dist/components/Card/Card.module.js.map +1 -0
- package/dist/components/Carousel/Carousel.cjs +2 -0
- package/dist/components/Carousel/Carousel.cjs.map +1 -0
- package/dist/components/Carousel/Carousel.js +76 -0
- package/dist/components/Carousel/Carousel.js.map +1 -0
- package/dist/components/Carousel/Carousel.module.cjs +2 -0
- package/dist/components/Carousel/Carousel.module.cjs.map +1 -0
- package/dist/components/Carousel/Carousel.module.js +17 -0
- package/dist/components/Carousel/Carousel.module.js.map +1 -0
- package/dist/components/Center/Center.cjs +2 -0
- package/dist/components/Center/Center.cjs.map +1 -0
- package/dist/components/Center/Center.js +21 -0
- package/dist/components/Center/Center.js.map +1 -0
- package/dist/components/Center/Center.module.cjs +2 -0
- package/dist/components/Center/Center.module.cjs.map +1 -0
- package/dist/components/Center/Center.module.js +11 -0
- package/dist/components/Center/Center.module.js.map +1 -0
- package/dist/components/Checkbox/Checkbox.cjs +2 -0
- package/dist/components/Checkbox/Checkbox.cjs.map +1 -0
- package/dist/components/Checkbox/Checkbox.js +74 -0
- package/dist/components/Checkbox/Checkbox.js.map +1 -0
- package/dist/components/Checkbox/Checkbox.module.cjs +2 -0
- package/dist/components/Checkbox/Checkbox.module.cjs.map +1 -0
- package/dist/components/Checkbox/Checkbox.module.js +14 -0
- package/dist/components/Checkbox/Checkbox.module.js.map +1 -0
- package/dist/components/ChipInput/ChipInput.cjs +2 -0
- package/dist/components/ChipInput/ChipInput.cjs.map +1 -0
- package/dist/components/ChipInput/ChipInput.js +82 -0
- package/dist/components/ChipInput/ChipInput.js.map +1 -0
- package/dist/components/ChipInput/ChipInput.module.cjs +2 -0
- package/dist/components/ChipInput/ChipInput.module.cjs.map +1 -0
- package/dist/components/ChipInput/ChipInput.module.js +16 -0
- package/dist/components/ChipInput/ChipInput.module.js.map +1 -0
- package/dist/components/ClickOutside/ClickOutside.cjs +2 -0
- package/dist/components/ClickOutside/ClickOutside.cjs.map +1 -0
- package/dist/components/ClickOutside/ClickOutside.js +24 -0
- package/dist/components/ClickOutside/ClickOutside.js.map +1 -0
- package/dist/components/Collapsible/Collapsible.cjs +2 -0
- package/dist/components/Collapsible/Collapsible.cjs.map +1 -0
- package/dist/components/Collapsible/Collapsible.js +39 -0
- package/dist/components/Collapsible/Collapsible.js.map +1 -0
- package/dist/components/Collapsible/Collapsible.module.cjs +2 -0
- package/dist/components/Collapsible/Collapsible.module.cjs.map +1 -0
- package/dist/components/Collapsible/Collapsible.module.js +10 -0
- package/dist/components/Collapsible/Collapsible.module.js.map +1 -0
- package/dist/components/Combobox/Combobox.cjs +2 -0
- package/dist/components/Combobox/Combobox.cjs.map +1 -0
- package/dist/components/Combobox/Combobox.js +98 -0
- package/dist/components/Combobox/Combobox.js.map +1 -0
- package/dist/components/Combobox/Combobox.module.cjs +2 -0
- package/dist/components/Combobox/Combobox.module.cjs.map +1 -0
- package/dist/components/Combobox/Combobox.module.js +20 -0
- package/dist/components/Combobox/Combobox.module.js.map +1 -0
- package/dist/components/Command/Command.cjs +2 -0
- package/dist/components/Command/Command.cjs.map +1 -0
- package/dist/components/Command/Command.js +149 -0
- package/dist/components/Command/Command.js.map +1 -0
- package/dist/components/Command/Command.module.cjs +2 -0
- package/dist/components/Command/Command.module.cjs.map +1 -0
- package/dist/components/Command/Command.module.js +23 -0
- package/dist/components/Command/Command.module.js.map +1 -0
- package/dist/components/ConditionalWrapper/ConditionalWrapper.cjs +2 -0
- package/dist/components/ConditionalWrapper/ConditionalWrapper.cjs.map +1 -0
- package/dist/components/ConditionalWrapper/ConditionalWrapper.js +9 -0
- package/dist/components/ConditionalWrapper/ConditionalWrapper.js.map +1 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.cjs +2 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.cjs.map +1 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.js +28 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.js.map +1 -0
- package/dist/components/ContextMenu/ContextMenu.cjs +2 -0
- package/dist/components/ContextMenu/ContextMenu.cjs.map +1 -0
- package/dist/components/ContextMenu/ContextMenu.js +91 -0
- package/dist/components/ContextMenu/ContextMenu.js.map +1 -0
- package/dist/components/ContextMenu/ContextMenu.module.cjs +2 -0
- package/dist/components/ContextMenu/ContextMenu.module.cjs.map +1 -0
- package/dist/components/ContextMenu/ContextMenu.module.js +14 -0
- package/dist/components/ContextMenu/ContextMenu.module.js.map +1 -0
- package/dist/components/CopyButton/CopyButton.cjs +2 -0
- package/dist/components/CopyButton/CopyButton.cjs.map +1 -0
- package/dist/components/CopyButton/CopyButton.js +34 -0
- package/dist/components/CopyButton/CopyButton.js.map +1 -0
- package/dist/components/CopyButton/CopyButton.module.cjs +2 -0
- package/dist/components/CopyButton/CopyButton.module.cjs.map +1 -0
- package/dist/components/CopyButton/CopyButton.module.js +9 -0
- package/dist/components/CopyButton/CopyButton.module.js.map +1 -0
- package/dist/components/DataList/DataList.cjs +2 -0
- package/dist/components/DataList/DataList.cjs.map +1 -0
- package/dist/components/DataList/DataList.js +18 -0
- package/dist/components/DataList/DataList.js.map +1 -0
- package/dist/components/DataList/DataList.module.cjs +2 -0
- package/dist/components/DataList/DataList.module.cjs.map +1 -0
- package/dist/components/DataList/DataList.module.js +9 -0
- package/dist/components/DataList/DataList.module.js.map +1 -0
- package/dist/components/DataTable/DataTable.cjs +2 -0
- package/dist/components/DataTable/DataTable.cjs.map +1 -0
- package/dist/components/DataTable/DataTable.js +111 -0
- package/dist/components/DataTable/DataTable.js.map +1 -0
- package/dist/components/DataTable/DataTable.module.cjs +2 -0
- package/dist/components/DataTable/DataTable.module.cjs.map +1 -0
- package/dist/components/DataTable/DataTable.module.js +11 -0
- package/dist/components/DataTable/DataTable.module.js.map +1 -0
- package/dist/components/DatePicker/DatePicker.cjs +2 -0
- package/dist/components/DatePicker/DatePicker.cjs.map +1 -0
- package/dist/components/DatePicker/DatePicker.js +17 -0
- package/dist/components/DatePicker/DatePicker.js.map +1 -0
- package/dist/components/DateRangePicker/DateRangePicker.cjs +2 -0
- package/dist/components/DateRangePicker/DateRangePicker.cjs.map +1 -0
- package/dist/components/DateRangePicker/DateRangePicker.js +165 -0
- package/dist/components/DateRangePicker/DateRangePicker.js.map +1 -0
- package/dist/components/DateRangePicker/DateRangePicker.module.cjs +2 -0
- package/dist/components/DateRangePicker/DateRangePicker.module.cjs.map +1 -0
- package/dist/components/DateRangePicker/DateRangePicker.module.js +24 -0
- package/dist/components/DateRangePicker/DateRangePicker.module.js.map +1 -0
- package/dist/components/DescriptionList/DescriptionList.cjs +2 -0
- package/dist/components/DescriptionList/DescriptionList.cjs.map +1 -0
- package/dist/components/DescriptionList/DescriptionList.js +22 -0
- package/dist/components/DescriptionList/DescriptionList.js.map +1 -0
- package/dist/components/DescriptionList/DescriptionList.module.cjs +2 -0
- package/dist/components/DescriptionList/DescriptionList.module.cjs.map +1 -0
- package/dist/components/DescriptionList/DescriptionList.module.js +10 -0
- package/dist/components/DescriptionList/DescriptionList.module.js.map +1 -0
- package/dist/components/Divider/Divider.cjs +2 -0
- package/dist/components/Divider/Divider.cjs.map +1 -0
- package/dist/components/Divider/Divider.js +22 -0
- package/dist/components/Divider/Divider.js.map +1 -0
- package/dist/components/Divider/Divider.module.cjs +2 -0
- package/dist/components/Divider/Divider.module.cjs.map +1 -0
- package/dist/components/Divider/Divider.module.js +14 -0
- package/dist/components/Divider/Divider.module.js.map +1 -0
- package/dist/components/Drawer/Drawer.cjs +2 -0
- package/dist/components/Drawer/Drawer.cjs.map +1 -0
- package/dist/components/Drawer/Drawer.js +79 -0
- package/dist/components/Drawer/Drawer.js.map +1 -0
- package/dist/components/Drawer/Drawer.module.cjs +2 -0
- package/dist/components/Drawer/Drawer.module.cjs.map +1 -0
- package/dist/components/Drawer/Drawer.module.js +25 -0
- package/dist/components/Drawer/Drawer.module.js.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenu.cjs +2 -0
- package/dist/components/DropdownMenu/DropdownMenu.cjs.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenu.js +100 -0
- package/dist/components/DropdownMenu/DropdownMenu.js.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenu.module.cjs +2 -0
- package/dist/components/DropdownMenu/DropdownMenu.module.cjs.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenu.module.js +19 -0
- package/dist/components/DropdownMenu/DropdownMenu.module.js.map +1 -0
- package/dist/components/Dropzone/Dropzone.cjs +2 -0
- package/dist/components/Dropzone/Dropzone.cjs.map +1 -0
- package/dist/components/Dropzone/Dropzone.js +60 -0
- package/dist/components/Dropzone/Dropzone.js.map +1 -0
- package/dist/components/Dropzone/Dropzone.module.cjs +2 -0
- package/dist/components/Dropzone/Dropzone.module.cjs.map +1 -0
- package/dist/components/Dropzone/Dropzone.module.js +12 -0
- package/dist/components/Dropzone/Dropzone.module.js.map +1 -0
- package/dist/components/EmptyState/EmptyState.cjs +2 -0
- package/dist/components/EmptyState/EmptyState.cjs.map +1 -0
- package/dist/components/EmptyState/EmptyState.js +31 -0
- package/dist/components/EmptyState/EmptyState.js.map +1 -0
- package/dist/components/EmptyState/EmptyState.module.cjs +2 -0
- package/dist/components/EmptyState/EmptyState.module.cjs.map +1 -0
- package/dist/components/EmptyState/EmptyState.module.js +12 -0
- package/dist/components/EmptyState/EmptyState.module.js.map +1 -0
- package/dist/components/ErrorState/ErrorState.cjs +2 -0
- package/dist/components/ErrorState/ErrorState.cjs.map +1 -0
- package/dist/components/ErrorState/ErrorState.js +51 -0
- package/dist/components/ErrorState/ErrorState.js.map +1 -0
- package/dist/components/ErrorState/ErrorState.module.cjs +2 -0
- package/dist/components/ErrorState/ErrorState.module.cjs.map +1 -0
- package/dist/components/ErrorState/ErrorState.module.js +12 -0
- package/dist/components/ErrorState/ErrorState.module.js.map +1 -0
- package/dist/components/ErrorText/ErrorText.cjs +2 -0
- package/dist/components/ErrorText/ErrorText.cjs.map +1 -0
- package/dist/components/ErrorText/ErrorText.js +16 -0
- package/dist/components/ErrorText/ErrorText.js.map +1 -0
- package/dist/components/ErrorText/ErrorText.module.cjs +2 -0
- package/dist/components/ErrorText/ErrorText.module.cjs.map +1 -0
- package/dist/components/ErrorText/ErrorText.module.js +6 -0
- package/dist/components/ErrorText/ErrorText.module.js.map +1 -0
- package/dist/components/FileUpload/FileUpload.cjs +2 -0
- package/dist/components/FileUpload/FileUpload.cjs.map +1 -0
- package/dist/components/FileUpload/FileUpload.js +129 -0
- package/dist/components/FileUpload/FileUpload.js.map +1 -0
- package/dist/components/FileUpload/FileUpload.module.cjs +2 -0
- package/dist/components/FileUpload/FileUpload.module.cjs.map +1 -0
- package/dist/components/FileUpload/FileUpload.module.js +20 -0
- package/dist/components/FileUpload/FileUpload.module.js.map +1 -0
- package/dist/components/FloatingActionButton/FloatingActionButton.cjs +2 -0
- package/dist/components/FloatingActionButton/FloatingActionButton.cjs.map +1 -0
- package/dist/components/FloatingActionButton/FloatingActionButton.js +23 -0
- package/dist/components/FloatingActionButton/FloatingActionButton.js.map +1 -0
- package/dist/components/FloatingActionButton/FloatingActionButton.module.cjs +2 -0
- package/dist/components/FloatingActionButton/FloatingActionButton.module.cjs.map +1 -0
- package/dist/components/FloatingActionButton/FloatingActionButton.module.js +20 -0
- package/dist/components/FloatingActionButton/FloatingActionButton.module.js.map +1 -0
- package/dist/components/For/For.cjs +2 -0
- package/dist/components/For/For.cjs.map +1 -0
- package/dist/components/For/For.js +10 -0
- package/dist/components/For/For.js.map +1 -0
- package/dist/components/Form/Form.cjs +2 -0
- package/dist/components/Form/Form.cjs.map +1 -0
- package/dist/components/Form/Form.js +78 -0
- package/dist/components/Form/Form.js.map +1 -0
- package/dist/components/Form/Form.module.cjs +2 -0
- package/dist/components/Form/Form.module.cjs.map +1 -0
- package/dist/components/Form/Form.module.js +22 -0
- package/dist/components/Form/Form.module.js.map +1 -0
- package/dist/components/HoverCard/HoverCard.cjs +2 -0
- package/dist/components/HoverCard/HoverCard.cjs.map +1 -0
- package/dist/components/HoverCard/HoverCard.js +36 -0
- package/dist/components/HoverCard/HoverCard.js.map +1 -0
- package/dist/components/HoverCard/HoverCard.module.cjs +2 -0
- package/dist/components/HoverCard/HoverCard.module.cjs.map +1 -0
- package/dist/components/HoverCard/HoverCard.module.js +15 -0
- package/dist/components/HoverCard/HoverCard.module.js.map +1 -0
- package/dist/components/Image/Image.cjs +2 -0
- package/dist/components/Image/Image.cjs.map +1 -0
- package/dist/components/Image/Image.js +22 -0
- package/dist/components/Image/Image.js.map +1 -0
- package/dist/components/Image/Image.module.cjs +2 -0
- package/dist/components/Image/Image.module.cjs.map +1 -0
- package/dist/components/Image/Image.module.js +6 -0
- package/dist/components/Image/Image.module.js.map +1 -0
- package/dist/components/Input/Input.cjs +2 -0
- package/dist/components/Input/Input.cjs.map +1 -0
- package/dist/components/Input/Input.js +56 -0
- package/dist/components/Input/Input.js.map +1 -0
- package/dist/components/Input/Input.module.cjs +2 -0
- package/dist/components/Input/Input.module.cjs.map +1 -0
- package/dist/components/Input/Input.module.js +22 -0
- package/dist/components/Input/Input.module.js.map +1 -0
- package/dist/components/InstallBanner/InstallBanner.cjs +2 -0
- package/dist/components/InstallBanner/InstallBanner.cjs.map +1 -0
- package/dist/components/InstallBanner/InstallBanner.js +65 -0
- package/dist/components/InstallBanner/InstallBanner.js.map +1 -0
- package/dist/components/InstallBanner/InstallBanner.module.cjs +2 -0
- package/dist/components/InstallBanner/InstallBanner.module.cjs.map +1 -0
- package/dist/components/InstallBanner/InstallBanner.module.js +13 -0
- package/dist/components/InstallBanner/InstallBanner.module.js.map +1 -0
- package/dist/components/InstallButton/InstallButton.cjs +2 -0
- package/dist/components/InstallButton/InstallButton.cjs.map +1 -0
- package/dist/components/InstallButton/InstallButton.js +18 -0
- package/dist/components/InstallButton/InstallButton.js.map +1 -0
- package/dist/components/Kbd/Kbd.cjs +2 -0
- package/dist/components/Kbd/Kbd.cjs.map +1 -0
- package/dist/components/Kbd/Kbd.js +15 -0
- package/dist/components/Kbd/Kbd.js.map +1 -0
- package/dist/components/Kbd/Kbd.module.cjs +2 -0
- package/dist/components/Kbd/Kbd.module.cjs.map +1 -0
- package/dist/components/Kbd/Kbd.module.js +11 -0
- package/dist/components/Kbd/Kbd.module.js.map +1 -0
- package/dist/components/Label/Label.cjs +2 -0
- package/dist/components/Label/Label.cjs.map +1 -0
- package/dist/components/Label/Label.js +21 -0
- package/dist/components/Label/Label.js.map +1 -0
- package/dist/components/Label/Label.module.cjs +2 -0
- package/dist/components/Label/Label.module.cjs.map +1 -0
- package/dist/components/Label/Label.module.js +9 -0
- package/dist/components/Label/Label.module.js.map +1 -0
- package/dist/components/Layout/Layout.cjs +2 -0
- package/dist/components/Layout/Layout.cjs.map +1 -0
- package/dist/components/Layout/Layout.js +56 -0
- package/dist/components/Layout/Layout.js.map +1 -0
- package/dist/components/Layout/Layout.module.cjs +2 -0
- package/dist/components/Layout/Layout.module.cjs.map +1 -0
- package/dist/components/Layout/Layout.module.js +26 -0
- package/dist/components/Layout/Layout.module.js.map +1 -0
- package/dist/components/ListTile/ListTile.cjs +2 -0
- package/dist/components/ListTile/ListTile.cjs.map +1 -0
- package/dist/components/ListTile/ListTile.js +41 -0
- package/dist/components/ListTile/ListTile.js.map +1 -0
- package/dist/components/ListTile/ListTile.module.cjs +2 -0
- package/dist/components/ListTile/ListTile.module.cjs.map +1 -0
- package/dist/components/ListTile/ListTile.module.js +16 -0
- package/dist/components/ListTile/ListTile.module.js.map +1 -0
- package/dist/components/Menubar/Menubar.cjs +2 -0
- package/dist/components/Menubar/Menubar.cjs.map +1 -0
- package/dist/components/Menubar/Menubar.js +96 -0
- package/dist/components/Menubar/Menubar.js.map +1 -0
- package/dist/components/Menubar/Menubar.module.cjs +2 -0
- package/dist/components/Menubar/Menubar.module.cjs.map +1 -0
- package/dist/components/Menubar/Menubar.module.js +17 -0
- package/dist/components/Menubar/Menubar.module.js.map +1 -0
- package/dist/components/Modal/Modal.cjs +2 -0
- package/dist/components/Modal/Modal.cjs.map +1 -0
- package/dist/components/Modal/Modal.js +83 -0
- package/dist/components/Modal/Modal.js.map +1 -0
- package/dist/components/Modal/Modal.module.cjs +2 -0
- package/dist/components/Modal/Modal.module.cjs.map +1 -0
- package/dist/components/Modal/Modal.module.js +24 -0
- package/dist/components/Modal/Modal.module.js.map +1 -0
- package/dist/components/ModalsManager/ModalsManager.cjs +2 -0
- package/dist/components/ModalsManager/ModalsManager.cjs.map +1 -0
- package/dist/components/ModalsManager/ModalsManager.js +97 -0
- package/dist/components/ModalsManager/ModalsManager.js.map +1 -0
- package/dist/components/ModalsManager/ModalsManager.module.cjs +2 -0
- package/dist/components/ModalsManager/ModalsManager.module.cjs.map +1 -0
- package/dist/components/ModalsManager/ModalsManager.module.js +6 -0
- package/dist/components/ModalsManager/ModalsManager.module.js.map +1 -0
- package/dist/components/Money/Money.cjs +2 -0
- package/dist/components/Money/Money.cjs.map +1 -0
- package/dist/components/Money/Money.js +16 -0
- package/dist/components/Money/Money.js.map +1 -0
- package/dist/components/MultiSelect/MultiSelect.cjs +2 -0
- package/dist/components/MultiSelect/MultiSelect.cjs.map +1 -0
- package/dist/components/MultiSelect/MultiSelect.js +130 -0
- package/dist/components/MultiSelect/MultiSelect.js.map +1 -0
- package/dist/components/MultiSelect/MultiSelect.module.cjs +2 -0
- package/dist/components/MultiSelect/MultiSelect.module.cjs.map +1 -0
- package/dist/components/MultiSelect/MultiSelect.module.js +23 -0
- package/dist/components/MultiSelect/MultiSelect.module.js.map +1 -0
- package/dist/components/NProgress/NProgress.cjs +2 -0
- package/dist/components/NProgress/NProgress.cjs.map +1 -0
- package/dist/components/NProgress/NProgress.js +87 -0
- package/dist/components/NProgress/NProgress.js.map +1 -0
- package/dist/components/NProgress/NProgress.module.cjs +2 -0
- package/dist/components/NProgress/NProgress.module.cjs.map +1 -0
- package/dist/components/NProgress/NProgress.module.js +6 -0
- package/dist/components/NProgress/NProgress.module.js.map +1 -0
- package/dist/components/Navbar/Navbar.cjs +2 -0
- package/dist/components/Navbar/Navbar.cjs.map +1 -0
- package/dist/components/Navbar/Navbar.js +28 -0
- package/dist/components/Navbar/Navbar.js.map +1 -0
- package/dist/components/Navbar/Navbar.module.cjs +2 -0
- package/dist/components/Navbar/Navbar.module.cjs.map +1 -0
- package/dist/components/Navbar/Navbar.module.js +16 -0
- package/dist/components/Navbar/Navbar.module.js.map +1 -0
- package/dist/components/NavigationMenu/NavigationMenu.cjs +2 -0
- package/dist/components/NavigationMenu/NavigationMenu.cjs.map +1 -0
- package/dist/components/NavigationMenu/NavigationMenu.js +82 -0
- package/dist/components/NavigationMenu/NavigationMenu.js.map +1 -0
- package/dist/components/NavigationMenu/NavigationMenu.module.cjs +2 -0
- package/dist/components/NavigationMenu/NavigationMenu.module.cjs.map +1 -0
- package/dist/components/NavigationMenu/NavigationMenu.module.js +15 -0
- package/dist/components/NavigationMenu/NavigationMenu.module.js.map +1 -0
- package/dist/components/NavigationRail/NavigationRail.cjs +2 -0
- package/dist/components/NavigationRail/NavigationRail.cjs.map +1 -0
- package/dist/components/NavigationRail/NavigationRail.js +51 -0
- package/dist/components/NavigationRail/NavigationRail.js.map +1 -0
- package/dist/components/NavigationRail/NavigationRail.module.cjs +2 -0
- package/dist/components/NavigationRail/NavigationRail.module.cjs.map +1 -0
- package/dist/components/NavigationRail/NavigationRail.module.js +17 -0
- package/dist/components/NavigationRail/NavigationRail.module.js.map +1 -0
- package/dist/components/OfflineIndicator/OfflineIndicator.cjs +2 -0
- package/dist/components/OfflineIndicator/OfflineIndicator.cjs.map +1 -0
- package/dist/components/OfflineIndicator/OfflineIndicator.js +36 -0
- package/dist/components/OfflineIndicator/OfflineIndicator.js.map +1 -0
- package/dist/components/OfflineIndicator/OfflineIndicator.module.cjs +2 -0
- package/dist/components/OfflineIndicator/OfflineIndicator.module.cjs.map +1 -0
- package/dist/components/OfflineIndicator/OfflineIndicator.module.js +13 -0
- package/dist/components/OfflineIndicator/OfflineIndicator.module.js.map +1 -0
- package/dist/components/Page/Page.cjs +2 -0
- package/dist/components/Page/Page.cjs.map +1 -0
- package/dist/components/Page/Page.js +52 -0
- package/dist/components/Page/Page.js.map +1 -0
- package/dist/components/Page/Page.module.cjs +2 -0
- package/dist/components/Page/Page.module.cjs.map +1 -0
- package/dist/components/Page/Page.module.js +18 -0
- package/dist/components/Page/Page.module.js.map +1 -0
- package/dist/components/Pagination/Pagination.cjs +2 -0
- package/dist/components/Pagination/Pagination.cjs.map +1 -0
- package/dist/components/Pagination/Pagination.js +75 -0
- package/dist/components/Pagination/Pagination.js.map +1 -0
- package/dist/components/Pagination/Pagination.module.cjs +2 -0
- package/dist/components/Pagination/Pagination.module.cjs.map +1 -0
- package/dist/components/Pagination/Pagination.module.js +15 -0
- package/dist/components/Pagination/Pagination.module.js.map +1 -0
- package/dist/components/PasswordInput/PasswordInput.cjs +2 -0
- package/dist/components/PasswordInput/PasswordInput.cjs.map +1 -0
- package/dist/components/PasswordInput/PasswordInput.js +78 -0
- package/dist/components/PasswordInput/PasswordInput.js.map +1 -0
- package/dist/components/PasswordInput/PasswordInput.module.cjs +2 -0
- package/dist/components/PasswordInput/PasswordInput.module.cjs.map +1 -0
- package/dist/components/PasswordInput/PasswordInput.module.js +26 -0
- package/dist/components/PasswordInput/PasswordInput.module.js.map +1 -0
- package/dist/components/PinInput/PinInput.cjs +2 -0
- package/dist/components/PinInput/PinInput.cjs.map +1 -0
- package/dist/components/PinInput/PinInput.js +78 -0
- package/dist/components/PinInput/PinInput.js.map +1 -0
- package/dist/components/PinInput/PinInput.module.cjs +2 -0
- package/dist/components/PinInput/PinInput.module.cjs.map +1 -0
- package/dist/components/PinInput/PinInput.module.js +17 -0
- package/dist/components/PinInput/PinInput.module.js.map +1 -0
- package/dist/components/Popover/Popover.cjs +2 -0
- package/dist/components/Popover/Popover.cjs.map +1 -0
- package/dist/components/Popover/Popover.js +51 -0
- package/dist/components/Popover/Popover.js.map +1 -0
- package/dist/components/Popover/Popover.module.cjs +2 -0
- package/dist/components/Popover/Popover.module.cjs.map +1 -0
- package/dist/components/Popover/Popover.module.js +14 -0
- package/dist/components/Popover/Popover.module.js.map +1 -0
- package/dist/components/Portal/Portal.cjs +2 -0
- package/dist/components/Portal/Portal.cjs.map +1 -0
- package/dist/components/Portal/Portal.js +11 -0
- package/dist/components/Portal/Portal.js.map +1 -0
- package/dist/components/Progress/Progress.cjs +2 -0
- package/dist/components/Progress/Progress.cjs.map +1 -0
- package/dist/components/Progress/Progress.js +30 -0
- package/dist/components/Progress/Progress.js.map +1 -0
- package/dist/components/Progress/Progress.module.cjs +2 -0
- package/dist/components/Progress/Progress.module.cjs.map +1 -0
- package/dist/components/Progress/Progress.module.js +16 -0
- package/dist/components/Progress/Progress.module.js.map +1 -0
- package/dist/components/Radio/Radio.cjs +2 -0
- package/dist/components/Radio/Radio.cjs.map +1 -0
- package/dist/components/Radio/Radio.js +64 -0
- package/dist/components/Radio/Radio.js.map +1 -0
- package/dist/components/Radio/Radio.module.cjs +2 -0
- package/dist/components/Radio/Radio.module.cjs.map +1 -0
- package/dist/components/Radio/Radio.module.js +16 -0
- package/dist/components/Radio/Radio.module.js.map +1 -0
- package/dist/components/RangeSlider/RangeSlider.cjs +2 -0
- package/dist/components/RangeSlider/RangeSlider.cjs.map +1 -0
- package/dist/components/RangeSlider/RangeSlider.js +76 -0
- package/dist/components/RangeSlider/RangeSlider.js.map +1 -0
- package/dist/components/RangeSlider/RangeSlider.module.cjs +2 -0
- package/dist/components/RangeSlider/RangeSlider.module.cjs.map +1 -0
- package/dist/components/RangeSlider/RangeSlider.module.js +15 -0
- package/dist/components/RangeSlider/RangeSlider.module.js.map +1 -0
- package/dist/components/RatingStars/RatingStars.cjs +2 -0
- package/dist/components/RatingStars/RatingStars.cjs.map +1 -0
- package/dist/components/RatingStars/RatingStars.js +47 -0
- package/dist/components/RatingStars/RatingStars.js.map +1 -0
- package/dist/components/RatingStars/RatingStars.module.cjs +2 -0
- package/dist/components/RatingStars/RatingStars.module.cjs.map +1 -0
- package/dist/components/RatingStars/RatingStars.module.js +15 -0
- package/dist/components/RatingStars/RatingStars.module.js.map +1 -0
- package/dist/components/RefreshIndicator/RefreshIndicator.cjs +2 -0
- package/dist/components/RefreshIndicator/RefreshIndicator.cjs.map +1 -0
- package/dist/components/RefreshIndicator/RefreshIndicator.js +76 -0
- package/dist/components/RefreshIndicator/RefreshIndicator.js.map +1 -0
- package/dist/components/RefreshIndicator/RefreshIndicator.module.cjs +2 -0
- package/dist/components/RefreshIndicator/RefreshIndicator.module.cjs.map +1 -0
- package/dist/components/RefreshIndicator/RefreshIndicator.module.js +11 -0
- package/dist/components/RefreshIndicator/RefreshIndicator.module.js.map +1 -0
- package/dist/components/RelativeTime/RelativeTime.cjs +2 -0
- package/dist/components/RelativeTime/RelativeTime.cjs.map +1 -0
- package/dist/components/RelativeTime/RelativeTime.js +15 -0
- package/dist/components/RelativeTime/RelativeTime.js.map +1 -0
- package/dist/components/Resizable/Resizable.cjs +2 -0
- package/dist/components/Resizable/Resizable.cjs.map +1 -0
- package/dist/components/Resizable/Resizable.js +82 -0
- package/dist/components/Resizable/Resizable.js.map +1 -0
- package/dist/components/Resizable/Resizable.module.cjs +2 -0
- package/dist/components/Resizable/Resizable.module.cjs.map +1 -0
- package/dist/components/Resizable/Resizable.module.js +13 -0
- package/dist/components/Resizable/Resizable.module.js.map +1 -0
- package/dist/components/Responsive/Responsive.cjs +2 -0
- package/dist/components/Responsive/Responsive.cjs.map +1 -0
- package/dist/components/Responsive/Responsive.js +17 -0
- package/dist/components/Responsive/Responsive.js.map +1 -0
- package/dist/components/SafeArea/SafeArea.cjs +2 -0
- package/dist/components/SafeArea/SafeArea.cjs.map +1 -0
- package/dist/components/SafeArea/SafeArea.js +22 -0
- package/dist/components/SafeArea/SafeArea.js.map +1 -0
- package/dist/components/SafeArea/SafeArea.module.cjs +2 -0
- package/dist/components/SafeArea/SafeArea.module.cjs.map +1 -0
- package/dist/components/SafeArea/SafeArea.module.js +13 -0
- package/dist/components/SafeArea/SafeArea.module.js.map +1 -0
- package/dist/components/ScrollArea/ScrollArea.cjs +2 -0
- package/dist/components/ScrollArea/ScrollArea.cjs.map +1 -0
- package/dist/components/ScrollArea/ScrollArea.js +24 -0
- package/dist/components/ScrollArea/ScrollArea.js.map +1 -0
- package/dist/components/ScrollArea/ScrollArea.module.cjs +2 -0
- package/dist/components/ScrollArea/ScrollArea.module.cjs.map +1 -0
- package/dist/components/ScrollArea/ScrollArea.module.js +6 -0
- package/dist/components/ScrollArea/ScrollArea.module.js.map +1 -0
- package/dist/components/SearchBar/SearchBar.cjs +2 -0
- package/dist/components/SearchBar/SearchBar.cjs.map +1 -0
- package/dist/components/SearchBar/SearchBar.js +74 -0
- package/dist/components/SearchBar/SearchBar.js.map +1 -0
- package/dist/components/SearchBar/SearchBar.module.cjs +2 -0
- package/dist/components/SearchBar/SearchBar.module.cjs.map +1 -0
- package/dist/components/SearchBar/SearchBar.module.js +11 -0
- package/dist/components/SearchBar/SearchBar.module.js.map +1 -0
- package/dist/components/SegmentedControl/SegmentedControl.cjs +2 -0
- package/dist/components/SegmentedControl/SegmentedControl.cjs.map +1 -0
- package/dist/components/SegmentedControl/SegmentedControl.js +34 -0
- package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -0
- package/dist/components/SegmentedControl/SegmentedControl.module.cjs +2 -0
- package/dist/components/SegmentedControl/SegmentedControl.module.cjs.map +1 -0
- package/dist/components/SegmentedControl/SegmentedControl.module.js +16 -0
- package/dist/components/SegmentedControl/SegmentedControl.module.js.map +1 -0
- package/dist/components/Select/Select.cjs +2 -0
- package/dist/components/Select/Select.cjs.map +1 -0
- package/dist/components/Select/Select.js +76 -0
- package/dist/components/Select/Select.js.map +1 -0
- package/dist/components/Select/Select.module.cjs +2 -0
- package/dist/components/Select/Select.module.cjs.map +1 -0
- package/dist/components/Select/Select.module.js +16 -0
- package/dist/components/Select/Select.module.js.map +1 -0
- package/dist/components/Sidebar/Sidebar.cjs +2 -0
- package/dist/components/Sidebar/Sidebar.cjs.map +1 -0
- package/dist/components/Sidebar/Sidebar.js +58 -0
- package/dist/components/Sidebar/Sidebar.js.map +1 -0
- package/dist/components/Sidebar/Sidebar.module.cjs +2 -0
- package/dist/components/Sidebar/Sidebar.module.cjs.map +1 -0
- package/dist/components/Sidebar/Sidebar.module.js +17 -0
- package/dist/components/Sidebar/Sidebar.module.js.map +1 -0
- package/dist/components/Skeleton/Skeleton.cjs +2 -0
- package/dist/components/Skeleton/Skeleton.cjs.map +1 -0
- package/dist/components/Skeleton/Skeleton.js +19 -0
- package/dist/components/Skeleton/Skeleton.js.map +1 -0
- package/dist/components/Skeleton/Skeleton.module.cjs +2 -0
- package/dist/components/Skeleton/Skeleton.module.cjs.map +1 -0
- package/dist/components/Skeleton/Skeleton.module.js +12 -0
- package/dist/components/Skeleton/Skeleton.module.js.map +1 -0
- package/dist/components/Slider/Slider.cjs +2 -0
- package/dist/components/Slider/Slider.cjs.map +1 -0
- package/dist/components/Slider/Slider.js +59 -0
- package/dist/components/Slider/Slider.js.map +1 -0
- package/dist/components/Slider/Slider.module.cjs +2 -0
- package/dist/components/Slider/Slider.module.cjs.map +1 -0
- package/dist/components/Slider/Slider.module.js +15 -0
- package/dist/components/Slider/Slider.module.js.map +1 -0
- package/dist/components/Spacer/Spacer.cjs +2 -0
- package/dist/components/Spacer/Spacer.cjs.map +1 -0
- package/dist/components/Spacer/Spacer.js +14 -0
- package/dist/components/Spacer/Spacer.js.map +1 -0
- package/dist/components/Spacer/Spacer.module.cjs +2 -0
- package/dist/components/Spacer/Spacer.module.cjs.map +1 -0
- package/dist/components/Spacer/Spacer.module.js +11 -0
- package/dist/components/Spacer/Spacer.module.js.map +1 -0
- package/dist/components/Spinner/Spinner.cjs +2 -0
- package/dist/components/Spinner/Spinner.cjs.map +1 -0
- package/dist/components/Spinner/Spinner.js +28 -0
- package/dist/components/Spinner/Spinner.js.map +1 -0
- package/dist/components/Spinner/Spinner.module.cjs +2 -0
- package/dist/components/Spinner/Spinner.module.cjs.map +1 -0
- package/dist/components/Spinner/Spinner.module.js +17 -0
- package/dist/components/Spinner/Spinner.module.js.map +1 -0
- package/dist/components/Stat/Stat.cjs +2 -0
- package/dist/components/Stat/Stat.cjs.map +1 -0
- package/dist/components/Stat/Stat.js +47 -0
- package/dist/components/Stat/Stat.js.map +1 -0
- package/dist/components/Stat/Stat.module.cjs +2 -0
- package/dist/components/Stat/Stat.module.cjs.map +1 -0
- package/dist/components/Stat/Stat.module.js +18 -0
- package/dist/components/Stat/Stat.module.js.map +1 -0
- package/dist/components/Stepper/Stepper.cjs +2 -0
- package/dist/components/Stepper/Stepper.cjs.map +1 -0
- package/dist/components/Stepper/Stepper.js +31 -0
- package/dist/components/Stepper/Stepper.js.map +1 -0
- package/dist/components/Stepper/Stepper.module.cjs +2 -0
- package/dist/components/Stepper/Stepper.module.cjs.map +1 -0
- package/dist/components/Stepper/Stepper.module.js +15 -0
- package/dist/components/Stepper/Stepper.module.js.map +1 -0
- package/dist/components/StepperInput/StepperInput.cjs +2 -0
- package/dist/components/StepperInput/StepperInput.cjs.map +1 -0
- package/dist/components/StepperInput/StepperInput.js +54 -0
- package/dist/components/StepperInput/StepperInput.js.map +1 -0
- package/dist/components/StepperInput/StepperInput.module.cjs +2 -0
- package/dist/components/StepperInput/StepperInput.module.cjs.map +1 -0
- package/dist/components/StepperInput/StepperInput.module.js +16 -0
- package/dist/components/StepperInput/StepperInput.module.js.map +1 -0
- package/dist/components/Switch/Switch.cjs +2 -0
- package/dist/components/Switch/Switch.cjs.map +1 -0
- package/dist/components/Switch/Switch.js +33 -0
- package/dist/components/Switch/Switch.js.map +1 -0
- package/dist/components/Switch/Switch.module.cjs +2 -0
- package/dist/components/Switch/Switch.module.cjs.map +1 -0
- package/dist/components/Switch/Switch.module.js +13 -0
- package/dist/components/Switch/Switch.module.js.map +1 -0
- package/dist/components/SyncStatusBadge/SyncStatusBadge.cjs +2 -0
- package/dist/components/SyncStatusBadge/SyncStatusBadge.cjs.map +1 -0
- package/dist/components/SyncStatusBadge/SyncStatusBadge.js +62 -0
- package/dist/components/SyncStatusBadge/SyncStatusBadge.js.map +1 -0
- package/dist/components/SyncStatusBadge/SyncStatusBadge.module.cjs +2 -0
- package/dist/components/SyncStatusBadge/SyncStatusBadge.module.cjs.map +1 -0
- package/dist/components/SyncStatusBadge/SyncStatusBadge.module.js +18 -0
- package/dist/components/SyncStatusBadge/SyncStatusBadge.module.js.map +1 -0
- package/dist/components/Table/Table.cjs +2 -0
- package/dist/components/Table/Table.cjs.map +1 -0
- package/dist/components/Table/Table.js +43 -0
- package/dist/components/Table/Table.js.map +1 -0
- package/dist/components/Table/Table.module.cjs +2 -0
- package/dist/components/Table/Table.module.cjs.map +1 -0
- package/dist/components/Table/Table.module.js +21 -0
- package/dist/components/Table/Table.module.js.map +1 -0
- package/dist/components/Tabs/Tabs.cjs +2 -0
- package/dist/components/Tabs/Tabs.cjs.map +1 -0
- package/dist/components/Tabs/Tabs.js +42 -0
- package/dist/components/Tabs/Tabs.js.map +1 -0
- package/dist/components/Tabs/Tabs.module.cjs +2 -0
- package/dist/components/Tabs/Tabs.module.cjs.map +1 -0
- package/dist/components/Tabs/Tabs.module.js +12 -0
- package/dist/components/Tabs/Tabs.module.js.map +1 -0
- package/dist/components/Tag/Tag.cjs +2 -0
- package/dist/components/Tag/Tag.cjs.map +1 -0
- package/dist/components/Tag/Tag.js +24 -0
- package/dist/components/Tag/Tag.js.map +1 -0
- package/dist/components/Tag/Tag.module.cjs +2 -0
- package/dist/components/Tag/Tag.module.cjs.map +1 -0
- package/dist/components/Tag/Tag.module.js +19 -0
- package/dist/components/Tag/Tag.module.js.map +1 -0
- package/dist/components/Textarea/Textarea.cjs +2 -0
- package/dist/components/Textarea/Textarea.cjs.map +1 -0
- package/dist/components/Textarea/Textarea.js +40 -0
- package/dist/components/Textarea/Textarea.js.map +1 -0
- package/dist/components/Textarea/Textarea.module.cjs +2 -0
- package/dist/components/Textarea/Textarea.module.cjs.map +1 -0
- package/dist/components/Textarea/Textarea.module.js +14 -0
- package/dist/components/Textarea/Textarea.module.js.map +1 -0
- package/dist/components/TimePicker/TimePicker.cjs +2 -0
- package/dist/components/TimePicker/TimePicker.cjs.map +1 -0
- package/dist/components/TimePicker/TimePicker.js +135 -0
- package/dist/components/TimePicker/TimePicker.js.map +1 -0
- package/dist/components/TimePicker/TimePicker.module.cjs +2 -0
- package/dist/components/TimePicker/TimePicker.module.cjs.map +1 -0
- package/dist/components/TimePicker/TimePicker.module.js +16 -0
- package/dist/components/TimePicker/TimePicker.module.js.map +1 -0
- package/dist/components/Timeline/Timeline.cjs +2 -0
- package/dist/components/Timeline/Timeline.cjs.map +1 -0
- package/dist/components/Timeline/Timeline.js +46 -0
- package/dist/components/Timeline/Timeline.js.map +1 -0
- package/dist/components/Timeline/Timeline.module.cjs +2 -0
- package/dist/components/Timeline/Timeline.module.cjs.map +1 -0
- package/dist/components/Timeline/Timeline.module.js +22 -0
- package/dist/components/Timeline/Timeline.module.js.map +1 -0
- package/dist/components/Toast/Toast.module.cjs +2 -0
- package/dist/components/Toast/Toast.module.cjs.map +1 -0
- package/dist/components/Toast/Toast.module.js +23 -0
- package/dist/components/Toast/Toast.module.js.map +1 -0
- package/dist/components/Toast/ToastProvider.cjs +2 -0
- package/dist/components/Toast/ToastProvider.cjs.map +1 -0
- package/dist/components/Toast/ToastProvider.js +123 -0
- package/dist/components/Toast/ToastProvider.js.map +1 -0
- package/dist/components/Toggle/Toggle.cjs +2 -0
- package/dist/components/Toggle/Toggle.cjs.map +1 -0
- package/dist/components/Toggle/Toggle.js +32 -0
- package/dist/components/Toggle/Toggle.js.map +1 -0
- package/dist/components/Toggle/Toggle.module.cjs +2 -0
- package/dist/components/Toggle/Toggle.module.cjs.map +1 -0
- package/dist/components/Toggle/Toggle.module.js +13 -0
- package/dist/components/Toggle/Toggle.module.js.map +1 -0
- package/dist/components/ToggleGroup/ToggleGroup.cjs +2 -0
- package/dist/components/ToggleGroup/ToggleGroup.cjs.map +1 -0
- package/dist/components/ToggleGroup/ToggleGroup.js +65 -0
- package/dist/components/ToggleGroup/ToggleGroup.js.map +1 -0
- package/dist/components/ToggleGroup/ToggleGroup.module.cjs +2 -0
- package/dist/components/ToggleGroup/ToggleGroup.module.cjs.map +1 -0
- package/dist/components/ToggleGroup/ToggleGroup.module.js +10 -0
- package/dist/components/ToggleGroup/ToggleGroup.module.js.map +1 -0
- package/dist/components/Tooltip/Tooltip.cjs +2 -0
- package/dist/components/Tooltip/Tooltip.cjs.map +1 -0
- package/dist/components/Tooltip/Tooltip.js +34 -0
- package/dist/components/Tooltip/Tooltip.js.map +1 -0
- package/dist/components/Tooltip/Tooltip.module.cjs +2 -0
- package/dist/components/Tooltip/Tooltip.module.cjs.map +1 -0
- package/dist/components/Tooltip/Tooltip.module.js +14 -0
- package/dist/components/Tooltip/Tooltip.module.js.map +1 -0
- package/dist/components/TruncateText/TruncateText.cjs +2 -0
- package/dist/components/TruncateText/TruncateText.cjs.map +1 -0
- package/dist/components/TruncateText/TruncateText.js +20 -0
- package/dist/components/TruncateText/TruncateText.js.map +1 -0
- package/dist/components/TruncateText/TruncateText.module.cjs +2 -0
- package/dist/components/TruncateText/TruncateText.module.cjs.map +1 -0
- package/dist/components/TruncateText/TruncateText.module.js +6 -0
- package/dist/components/TruncateText/TruncateText.module.js.map +1 -0
- package/dist/components/UpdatePrompt/UpdatePrompt.cjs +2 -0
- package/dist/components/UpdatePrompt/UpdatePrompt.cjs.map +1 -0
- package/dist/components/UpdatePrompt/UpdatePrompt.js +44 -0
- package/dist/components/UpdatePrompt/UpdatePrompt.js.map +1 -0
- package/dist/components/UpdatePrompt/UpdatePrompt.module.cjs +2 -0
- package/dist/components/UpdatePrompt/UpdatePrompt.module.cjs.map +1 -0
- package/dist/components/UpdatePrompt/UpdatePrompt.module.js +14 -0
- package/dist/components/UpdatePrompt/UpdatePrompt.module.js.map +1 -0
- package/dist/components/VirtualList/VirtualList.cjs +2 -0
- package/dist/components/VirtualList/VirtualList.cjs.map +1 -0
- package/dist/components/VirtualList/VirtualList.js +45 -0
- package/dist/components/VirtualList/VirtualList.js.map +1 -0
- package/dist/components/VirtualList/VirtualList.module.cjs +2 -0
- package/dist/components/VirtualList/VirtualList.module.cjs.map +1 -0
- package/dist/components/VirtualList/VirtualList.module.js +10 -0
- package/dist/components/VirtualList/VirtualList.module.js.map +1 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.cjs +2 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.cjs.map +1 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.js +14 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.module.cjs +2 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.module.cjs.map +1 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.module.js +6 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.module.js.map +1 -0
- package/dist/data/create-data-provider.cjs +2 -0
- package/dist/data/create-data-provider.cjs.map +1 -0
- package/dist/data/create-data-provider.js +37 -0
- package/dist/data/create-data-provider.js.map +1 -0
- package/dist/data/data-provider-context.cjs +2 -0
- package/dist/data/data-provider-context.cjs.map +1 -0
- package/dist/data/data-provider-context.js +19 -0
- package/dist/data/data-provider-context.js.map +1 -0
- package/dist/data/use-resource.cjs +2 -0
- package/dist/data/use-resource.cjs.map +1 -0
- package/dist/data/use-resource.js +83 -0
- package/dist/data/use-resource.js.map +1 -0
- package/dist/editor/RichTextEditor.cjs +2 -0
- package/dist/editor/RichTextEditor.cjs.map +1 -0
- package/dist/editor/RichTextEditor.js +190 -0
- package/dist/editor/RichTextEditor.js.map +1 -0
- package/dist/editor/RichTextEditor.module.cjs +2 -0
- package/dist/editor/RichTextEditor.module.cjs.map +1 -0
- package/dist/editor/RichTextEditor.module.js +13 -0
- package/dist/editor/RichTextEditor.module.js.map +1 -0
- package/dist/editor.cjs +1 -2
- package/dist/editor.d.ts +14 -1
- package/dist/editor.js +2 -190
- package/dist/error-boundary/ErrorBoundary.cjs +2 -0
- package/dist/error-boundary/ErrorBoundary.cjs.map +1 -0
- package/dist/error-boundary/ErrorBoundary.js +35 -0
- package/dist/error-boundary/ErrorBoundary.js.map +1 -0
- package/dist/error-boundary/use-error-handler.cjs +2 -0
- package/dist/error-boundary/use-error-handler.cjs.map +1 -0
- package/dist/error-boundary/use-error-handler.js +14 -0
- package/dist/error-boundary/use-error-handler.js.map +1 -0
- package/dist/feature-flags/FeatureFlagsProvider.cjs +2 -0
- package/dist/feature-flags/FeatureFlagsProvider.cjs.map +1 -0
- package/dist/feature-flags/FeatureFlagsProvider.js +28 -0
- package/dist/feature-flags/FeatureFlagsProvider.js.map +1 -0
- package/dist/feature-flags/growthbook-adapter.cjs +2 -0
- package/dist/feature-flags/growthbook-adapter.cjs.map +1 -0
- package/dist/feature-flags/growthbook-adapter.js +27 -0
- package/dist/feature-flags/growthbook-adapter.js.map +1 -0
- package/dist/feature-flags/in-memory-adapter.cjs +2 -0
- package/dist/feature-flags/in-memory-adapter.cjs.map +1 -0
- package/dist/feature-flags/in-memory-adapter.js +25 -0
- package/dist/feature-flags/in-memory-adapter.js.map +1 -0
- package/dist/feature-flags/launchdarkly-adapter.cjs +2 -0
- package/dist/feature-flags/launchdarkly-adapter.cjs.map +1 -0
- package/dist/feature-flags/launchdarkly-adapter.js +21 -0
- package/dist/feature-flags/launchdarkly-adapter.js.map +1 -0
- package/dist/forms/FormField.cjs +2 -0
- package/dist/forms/FormField.cjs.map +1 -0
- package/dist/forms/FormField.js +32 -0
- package/dist/forms/FormField.js.map +1 -0
- package/dist/forms/br-validators.cjs +2 -0
- package/dist/forms/br-validators.cjs.map +1 -0
- package/dist/forms/br-validators.js +66 -0
- package/dist/forms/br-validators.js.map +1 -0
- package/dist/forms/index.js +9 -0
- package/dist/forms/masked-inputs.cjs +2 -0
- package/dist/forms/masked-inputs.cjs.map +1 -0
- package/dist/forms/masked-inputs.js +42 -0
- package/dist/forms/masked-inputs.js.map +1 -0
- package/dist/forms/use-viacep.cjs +2 -0
- package/dist/forms/use-viacep.cjs.map +1 -0
- package/dist/forms/use-viacep.js +30 -0
- package/dist/forms/use-viacep.js.map +1 -0
- package/dist/forms/use-zod-form.cjs +2 -0
- package/dist/forms/use-zod-form.cjs.map +1 -0
- package/dist/forms/use-zod-form.js +13 -0
- package/dist/forms/use-zod-form.js.map +1 -0
- package/dist/forms/validate-form.cjs +2 -0
- package/dist/forms/validate-form.cjs.map +1 -0
- package/dist/forms/validate-form.js +22 -0
- package/dist/forms/validate-form.js.map +1 -0
- package/dist/forms/zod-resolver.cjs +2 -0
- package/dist/forms/zod-resolver.cjs.map +1 -0
- package/dist/forms/zod-resolver.js +26 -0
- package/dist/forms/zod-resolver.js.map +1 -0
- package/dist/geo/TrajectoryMap.cjs +2 -0
- package/dist/geo/TrajectoryMap.cjs.map +1 -0
- package/dist/geo/TrajectoryMap.js +241 -0
- package/dist/geo/TrajectoryMap.js.map +1 -0
- package/dist/geo/TrajectoryMap.module.cjs +2 -0
- package/dist/geo/TrajectoryMap.module.cjs.map +1 -0
- package/dist/geo/TrajectoryMap.module.js +20 -0
- package/dist/geo/TrajectoryMap.module.js.map +1 -0
- package/dist/geo/bounds.cjs +2 -0
- package/dist/geo/bounds.cjs.map +1 -0
- package/dist/geo/bounds.js +31 -0
- package/dist/geo/bounds.js.map +1 -0
- package/dist/geo/create-position-tracker.cjs +2 -0
- package/dist/geo/create-position-tracker.cjs.map +1 -0
- package/dist/geo/create-position-tracker.js +58 -0
- package/dist/geo/create-position-tracker.js.map +1 -0
- package/dist/geo/distance.cjs +2 -0
- package/dist/geo/distance.cjs.map +1 -0
- package/dist/geo/distance.js +22 -0
- package/dist/geo/distance.js.map +1 -0
- package/dist/geo/estimate.cjs +2 -0
- package/dist/geo/estimate.cjs.map +1 -0
- package/dist/geo/estimate.js +26 -0
- package/dist/geo/estimate.js.map +1 -0
- package/dist/geo/leaflet-map.cjs +2 -0
- package/dist/geo/leaflet-map.cjs.map +1 -0
- package/dist/geo/leaflet-map.js +63 -0
- package/dist/geo/leaflet-map.js.map +1 -0
- package/dist/geo/projection.cjs +2 -0
- package/dist/geo/projection.cjs.map +1 -0
- package/dist/geo/projection.js +42 -0
- package/dist/geo/projection.js.map +1 -0
- package/dist/geo/routing.cjs +2 -0
- package/dist/geo/routing.cjs.map +1 -0
- package/dist/geo/routing.js +25 -0
- package/dist/geo/routing.js.map +1 -0
- package/dist/geo/types.cjs +2 -0
- package/dist/geo/types.cjs.map +1 -0
- package/dist/geo/types.js +22 -0
- package/dist/geo/types.js.map +1 -0
- package/dist/geo/use-position-tracker.cjs +2 -0
- package/dist/geo/use-position-tracker.cjs.map +1 -0
- package/dist/geo/use-position-tracker.js +36 -0
- package/dist/geo/use-position-tracker.js.map +1 -0
- package/dist/hooks/pwa-env.cjs +2 -0
- package/dist/hooks/pwa-env.cjs.map +1 -0
- package/dist/hooks/pwa-env.js +24 -0
- package/dist/hooks/pwa-env.js.map +1 -0
- package/dist/hooks/use-async.cjs +2 -0
- package/dist/hooks/use-async.cjs.map +1 -0
- package/dist/hooks/use-async.js +58 -0
- package/dist/hooks/use-async.js.map +1 -0
- package/dist/hooks/use-before-install-prompt.cjs +2 -0
- package/dist/hooks/use-before-install-prompt.cjs.map +1 -0
- package/dist/hooks/use-before-install-prompt.js +41 -0
- package/dist/hooks/use-before-install-prompt.js.map +1 -0
- package/dist/hooks/use-breakpoint.cjs +2 -0
- package/dist/hooks/use-breakpoint.cjs.map +1 -0
- package/dist/hooks/use-breakpoint.js +44 -0
- package/dist/hooks/use-breakpoint.js.map +1 -0
- package/dist/hooks/use-click-outside.cjs +2 -0
- package/dist/hooks/use-click-outside.cjs.map +1 -0
- package/dist/hooks/use-click-outside.js +19 -0
- package/dist/hooks/use-click-outside.js.map +1 -0
- package/dist/hooks/use-client-filter.cjs +2 -0
- package/dist/hooks/use-client-filter.cjs.map +1 -0
- package/dist/hooks/use-client-filter.js +19 -0
- package/dist/hooks/use-client-filter.js.map +1 -0
- package/dist/hooks/use-clipboard.cjs +2 -0
- package/dist/hooks/use-clipboard.cjs.map +1 -0
- package/dist/hooks/use-clipboard.js +27 -0
- package/dist/hooks/use-clipboard.js.map +1 -0
- package/dist/hooks/use-counter.cjs +2 -0
- package/dist/hooks/use-counter.cjs.map +1 -0
- package/dist/hooks/use-counter.js +36 -0
- package/dist/hooks/use-counter.js.map +1 -0
- package/dist/hooks/use-debounce.cjs +2 -0
- package/dist/hooks/use-debounce.cjs.map +1 -0
- package/dist/hooks/use-debounce.js +13 -0
- package/dist/hooks/use-debounce.js.map +1 -0
- package/dist/hooks/use-deep-memo.cjs +2 -0
- package/dist/hooks/use-deep-memo.cjs.map +1 -0
- package/dist/hooks/use-deep-memo.js +17 -0
- package/dist/hooks/use-deep-memo.js.map +1 -0
- package/dist/hooks/use-disclosure.cjs +2 -0
- package/dist/hooks/use-disclosure.cjs.map +1 -0
- package/dist/hooks/use-disclosure.js +18 -0
- package/dist/hooks/use-disclosure.js.map +1 -0
- package/dist/hooks/use-document-title.cjs +2 -0
- package/dist/hooks/use-document-title.cjs.map +1 -0
- package/dist/hooks/use-document-title.js +15 -0
- package/dist/hooks/use-document-title.js.map +1 -0
- package/dist/hooks/use-document-visibility.cjs +2 -0
- package/dist/hooks/use-document-visibility.cjs.map +1 -0
- package/dist/hooks/use-document-visibility.js +14 -0
- package/dist/hooks/use-document-visibility.js.map +1 -0
- package/dist/hooks/use-event-listener.cjs +2 -0
- package/dist/hooks/use-event-listener.cjs.map +1 -0
- package/dist/hooks/use-event-listener.js +19 -0
- package/dist/hooks/use-event-listener.js.map +1 -0
- package/dist/hooks/use-favicon.cjs +2 -0
- package/dist/hooks/use-favicon.cjs.map +1 -0
- package/dist/hooks/use-favicon.js +13 -0
- package/dist/hooks/use-favicon.js.map +1 -0
- package/dist/hooks/use-focus-trap.cjs +2 -0
- package/dist/hooks/use-focus-trap.cjs.map +1 -0
- package/dist/hooks/use-focus-trap.js +42 -0
- package/dist/hooks/use-focus-trap.js.map +1 -0
- package/dist/hooks/use-geolocation.cjs +2 -0
- package/dist/hooks/use-geolocation.cjs.map +1 -0
- package/dist/hooks/use-geolocation.js +48 -0
- package/dist/hooks/use-geolocation.js.map +1 -0
- package/dist/hooks/use-hover.cjs +2 -0
- package/dist/hooks/use-hover.cjs.map +1 -0
- package/dist/hooks/use-hover.js +17 -0
- package/dist/hooks/use-hover.js.map +1 -0
- package/dist/hooks/use-idle.cjs +2 -0
- package/dist/hooks/use-idle.cjs.map +1 -0
- package/dist/hooks/use-idle.js +29 -0
- package/dist/hooks/use-idle.js.map +1 -0
- package/dist/hooks/use-install-prompt.cjs +2 -0
- package/dist/hooks/use-install-prompt.cjs.map +1 -0
- package/dist/hooks/use-install-prompt.js +63 -0
- package/dist/hooks/use-install-prompt.js.map +1 -0
- package/dist/hooks/use-intersection-observer.cjs +2 -0
- package/dist/hooks/use-intersection-observer.cjs.map +1 -0
- package/dist/hooks/use-intersection-observer.js +27 -0
- package/dist/hooks/use-intersection-observer.js.map +1 -0
- package/dist/hooks/use-interval.cjs +2 -0
- package/dist/hooks/use-interval.cjs.map +1 -0
- package/dist/hooks/use-interval.js +14 -0
- package/dist/hooks/use-interval.js.map +1 -0
- package/dist/hooks/use-is-first-render.cjs +2 -0
- package/dist/hooks/use-is-first-render.cjs.map +1 -0
- package/dist/hooks/use-is-first-render.js +10 -0
- package/dist/hooks/use-is-first-render.js.map +1 -0
- package/dist/hooks/use-keyboard-shortcut.cjs +2 -0
- package/dist/hooks/use-keyboard-shortcut.cjs.map +1 -0
- package/dist/hooks/use-keyboard-shortcut.js +39 -0
- package/dist/hooks/use-keyboard-shortcut.js.map +1 -0
- package/dist/hooks/use-list-state.cjs +2 -0
- package/dist/hooks/use-list-state.cjs.map +1 -0
- package/dist/hooks/use-list-state.js +52 -0
- package/dist/hooks/use-list-state.js.map +1 -0
- package/dist/hooks/use-local-storage.cjs +2 -0
- package/dist/hooks/use-local-storage.cjs.map +1 -0
- package/dist/hooks/use-local-storage.js +62 -0
- package/dist/hooks/use-local-storage.js.map +1 -0
- package/dist/hooks/use-long-press-handlers.cjs +2 -0
- package/dist/hooks/use-long-press-handlers.cjs.map +1 -0
- package/dist/hooks/use-long-press-handlers.js +33 -0
- package/dist/hooks/use-long-press-handlers.js.map +1 -0
- package/dist/hooks/use-long-press.cjs +2 -0
- package/dist/hooks/use-long-press.cjs.map +1 -0
- package/dist/hooks/use-long-press.js +31 -0
- package/dist/hooks/use-long-press.js.map +1 -0
- package/dist/hooks/use-map.cjs +2 -0
- package/dist/hooks/use-map.cjs.map +1 -0
- package/dist/hooks/use-map.js +38 -0
- package/dist/hooks/use-map.js.map +1 -0
- package/dist/hooks/use-media-query.cjs +2 -0
- package/dist/hooks/use-media-query.cjs.map +1 -0
- package/dist/hooks/use-media-query.js +14 -0
- package/dist/hooks/use-media-query.js.map +1 -0
- package/dist/hooks/use-object-url.cjs +2 -0
- package/dist/hooks/use-object-url.cjs.map +1 -0
- package/dist/hooks/use-object-url.js +17 -0
- package/dist/hooks/use-object-url.js.map +1 -0
- package/dist/hooks/use-online.cjs +2 -0
- package/dist/hooks/use-online.cjs.map +1 -0
- package/dist/hooks/use-online.js +47 -0
- package/dist/hooks/use-online.js.map +1 -0
- package/dist/hooks/use-pagination.cjs +2 -0
- package/dist/hooks/use-pagination.cjs.map +1 -0
- package/dist/hooks/use-pagination.js +16 -0
- package/dist/hooks/use-pagination.js.map +1 -0
- package/dist/hooks/use-previous.cjs +2 -0
- package/dist/hooks/use-previous.cjs.map +1 -0
- package/dist/hooks/use-previous.js +12 -0
- package/dist/hooks/use-previous.js.map +1 -0
- package/dist/hooks/use-queue.cjs +2 -0
- package/dist/hooks/use-queue.cjs.map +1 -0
- package/dist/hooks/use-queue.js +49 -0
- package/dist/hooks/use-queue.js.map +1 -0
- package/dist/hooks/use-resize-observer.cjs +2 -0
- package/dist/hooks/use-resize-observer.cjs.map +1 -0
- package/dist/hooks/use-resize-observer.js +23 -0
- package/dist/hooks/use-resize-observer.js.map +1 -0
- package/dist/hooks/use-scroll-lock.cjs +2 -0
- package/dist/hooks/use-scroll-lock.cjs.map +1 -0
- package/dist/hooks/use-scroll-lock.js +15 -0
- package/dist/hooks/use-scroll-lock.js.map +1 -0
- package/dist/hooks/use-service-worker-update.cjs +2 -0
- package/dist/hooks/use-service-worker-update.cjs.map +1 -0
- package/dist/hooks/use-service-worker-update.js +37 -0
- package/dist/hooks/use-service-worker-update.js.map +1 -0
- package/dist/hooks/use-set.cjs +2 -0
- package/dist/hooks/use-set.cjs.map +1 -0
- package/dist/hooks/use-set.js +44 -0
- package/dist/hooks/use-set.js.map +1 -0
- package/dist/hooks/use-stable-callback.cjs +2 -0
- package/dist/hooks/use-stable-callback.cjs.map +1 -0
- package/dist/hooks/use-stable-callback.js +10 -0
- package/dist/hooks/use-stable-callback.js.map +1 -0
- package/dist/hooks/use-storage-estimate.cjs +2 -0
- package/dist/hooks/use-storage-estimate.cjs.map +1 -0
- package/dist/hooks/use-storage-estimate.js +61 -0
- package/dist/hooks/use-storage-estimate.js.map +1 -0
- package/dist/hooks/use-throttle.cjs +2 -0
- package/dist/hooks/use-throttle.cjs.map +1 -0
- package/dist/hooks/use-throttle.js +17 -0
- package/dist/hooks/use-throttle.js.map +1 -0
- package/dist/hooks/use-timeout.cjs +2 -0
- package/dist/hooks/use-timeout.cjs.map +1 -0
- package/dist/hooks/use-timeout.js +14 -0
- package/dist/hooks/use-timeout.js.map +1 -0
- package/dist/hooks/use-toggle.cjs +2 -0
- package/dist/hooks/use-toggle.cjs.map +1 -0
- package/dist/hooks/use-toggle.js +15 -0
- package/dist/hooks/use-toggle.js.map +1 -0
- package/dist/hooks/use-window-size.cjs +2 -0
- package/dist/hooks/use-window-size.cjs.map +1 -0
- package/dist/hooks/use-window-size.js +23 -0
- package/dist/hooks/use-window-size.js.map +1 -0
- package/dist/http/api-client.cjs +2 -0
- package/dist/http/api-client.cjs.map +1 -0
- package/dist/http/api-client.js +91 -0
- package/dist/http/api-client.js.map +1 -0
- package/dist/http/errors.cjs +2 -0
- package/dist/http/errors.cjs.map +1 -0
- package/dist/http/errors.js +36 -0
- package/dist/http/errors.js.map +1 -0
- package/dist/http/idempotency.cjs +2 -0
- package/dist/http/idempotency.cjs.map +1 -0
- package/dist/http/idempotency.js +11 -0
- package/dist/http/idempotency.js.map +1 -0
- package/dist/http/parse-response.cjs +3 -0
- package/dist/http/parse-response.cjs.map +1 -0
- package/dist/http/parse-response.js +14 -0
- package/dist/http/parse-response.js.map +1 -0
- package/dist/http/retry.cjs +2 -0
- package/dist/http/retry.cjs.map +1 -0
- package/dist/http/retry.js +35 -0
- package/dist/http/retry.js.map +1 -0
- package/dist/http/upload-with-progress.cjs +2 -0
- package/dist/http/upload-with-progress.cjs.map +1 -0
- package/dist/http/upload-with-progress.js +67 -0
- package/dist/http/upload-with-progress.js.map +1 -0
- package/dist/http/use-poll.cjs +2 -0
- package/dist/http/use-poll.cjs.map +1 -0
- package/dist/http/use-poll.js +42 -0
- package/dist/http/use-poll.js.map +1 -0
- package/dist/i18n/I18nProvider.cjs +2 -0
- package/dist/i18n/I18nProvider.cjs.map +1 -0
- package/dist/i18n/I18nProvider.js +55 -0
- package/dist/i18n/I18nProvider.js.map +1 -0
- package/dist/i18n/create-i18n.cjs +2 -0
- package/dist/i18n/create-i18n.cjs.map +1 -0
- package/dist/i18n/create-i18n.js +54 -0
- package/dist/i18n/create-i18n.js.map +1 -0
- package/dist/logger/logger.cjs +2 -0
- package/dist/logger/logger.cjs.map +1 -0
- package/dist/logger/logger.js +44 -0
- package/dist/logger/logger.js.map +1 -0
- package/dist/oauth/GoogleSignIn.cjs +2 -0
- package/dist/oauth/GoogleSignIn.cjs.map +1 -0
- package/dist/oauth/GoogleSignIn.js +42 -0
- package/dist/oauth/GoogleSignIn.js.map +1 -0
- package/dist/oauth/use-oauth-callback.cjs +2 -0
- package/dist/oauth/use-oauth-callback.cjs.map +1 -0
- package/dist/oauth/use-oauth-callback.js +30 -0
- package/dist/oauth/use-oauth-callback.js.map +1 -0
- package/dist/offline/conflict.cjs +2 -0
- package/dist/offline/conflict.cjs.map +1 -0
- package/dist/offline/conflict.js +17 -0
- package/dist/offline/conflict.js.map +1 -0
- package/dist/offline/create-offline-store.cjs +2 -0
- package/dist/offline/create-offline-store.cjs.map +1 -0
- package/dist/offline/create-offline-store.js +49 -0
- package/dist/offline/create-offline-store.js.map +1 -0
- package/dist/offline/create-offline-sync.cjs +2 -0
- package/dist/offline/create-offline-sync.cjs.map +1 -0
- package/dist/offline/create-offline-sync.js +138 -0
- package/dist/offline/create-offline-sync.js.map +1 -0
- package/dist/offline/use-offline-sync.cjs +2 -0
- package/dist/offline/use-offline-sync.cjs.map +1 -0
- package/dist/offline/use-offline-sync.js +42 -0
- package/dist/offline/use-offline-sync.js.map +1 -0
- package/dist/push/use-push-subscription.cjs +2 -0
- package/dist/push/use-push-subscription.cjs.map +1 -0
- package/dist/push/use-push-subscription.js +62 -0
- package/dist/push/use-push-subscription.js.map +1 -0
- package/dist/push/utils.cjs +2 -0
- package/dist/push/utils.cjs.map +1 -0
- package/dist/push/utils.js +13 -0
- package/dist/push/utils.js.map +1 -0
- package/dist/push/web-push-client.cjs +2 -0
- package/dist/push/web-push-client.cjs.map +1 -0
- package/dist/push/web-push-client.js +54 -0
- package/dist/push/web-push-client.js.map +1 -0
- package/dist/query/QueryProvider.cjs +2 -0
- package/dist/query/QueryProvider.cjs.map +1 -0
- package/dist/query/QueryProvider.js +28 -0
- package/dist/query/QueryProvider.js.map +1 -0
- package/dist/query/constants.cjs +2 -0
- package/dist/query/constants.cjs.map +1 -0
- package/dist/query/constants.js +20 -0
- package/dist/query/constants.js.map +1 -0
- package/dist/query/create-query-keys.cjs +2 -0
- package/dist/query/create-query-keys.cjs.map +1 -0
- package/dist/query/create-query-keys.js +10 -0
- package/dist/query/create-query-keys.js.map +1 -0
- package/dist/query/offline-persistence.cjs +2 -0
- package/dist/query/offline-persistence.cjs.map +1 -0
- package/dist/query/offline-persistence.js +44 -0
- package/dist/query/offline-persistence.js.map +1 -0
- package/dist/query/optimistic.cjs +2 -0
- package/dist/query/optimistic.cjs.map +1 -0
- package/dist/query/optimistic.js +22 -0
- package/dist/query/optimistic.js.map +1 -0
- package/dist/query/pagination.cjs +2 -0
- package/dist/query/pagination.cjs.map +1 -0
- package/dist/query/pagination.js +24 -0
- package/dist/query/pagination.js.map +1 -0
- package/dist/query/use-cursor-query.cjs +2 -0
- package/dist/query/use-cursor-query.cjs.map +1 -0
- package/dist/query/use-cursor-query.js +34 -0
- package/dist/query/use-cursor-query.js.map +1 -0
- package/dist/query/use-offline-mutation.cjs +2 -0
- package/dist/query/use-offline-mutation.cjs.map +1 -0
- package/dist/query/use-offline-mutation.js +31 -0
- package/dist/query/use-offline-mutation.js.map +1 -0
- package/dist/query/use-paginated-query.cjs +2 -0
- package/dist/query/use-paginated-query.cjs.map +1 -0
- package/dist/query/use-paginated-query.js +43 -0
- package/dist/query/use-paginated-query.js.map +1 -0
- package/dist/router/AppRouter.cjs +2 -0
- package/dist/router/AppRouter.cjs.map +1 -0
- package/dist/router/AppRouter.js +61 -0
- package/dist/router/AppRouter.js.map +1 -0
- package/dist/router/RouteGuard.cjs +2 -0
- package/dist/router/RouteGuard.cjs.map +1 -0
- package/dist/router/RouteGuard.js +13 -0
- package/dist/router/RouteGuard.js.map +1 -0
- package/dist/router/index.js +4 -0
- package/dist/share/share-or-download.cjs +2 -0
- package/dist/share/share-or-download.cjs.map +1 -0
- package/dist/share/share-or-download.js +15 -0
- package/dist/share/share-or-download.js.map +1 -0
- package/dist/share/share.cjs +2 -0
- package/dist/share/share.cjs.map +1 -0
- package/dist/share/share.js +33 -0
- package/dist/share/share.js.map +1 -0
- package/dist/sse/create-event-stream.cjs +2 -0
- package/dist/sse/create-event-stream.cjs.map +1 -0
- package/dist/sse/create-event-stream.js +61 -0
- package/dist/sse/create-event-stream.js.map +1 -0
- package/dist/sse/use-event-stream.cjs +2 -0
- package/dist/sse/use-event-stream.cjs.map +1 -0
- package/dist/sse/use-event-stream.js +30 -0
- package/dist/sse/use-event-stream.js.map +1 -0
- package/dist/store/create-selectors.cjs +2 -0
- package/dist/store/create-selectors.cjs.map +1 -0
- package/dist/store/create-selectors.js +11 -0
- package/dist/store/create-selectors.js.map +1 -0
- package/dist/store/create-store.cjs +2 -0
- package/dist/store/create-store.cjs.map +1 -0
- package/dist/store/create-store.js +18 -0
- package/dist/store/create-store.js.map +1 -0
- package/dist/styles.css +2 -1
- package/dist/sw/background-sync.cjs +2 -0
- package/dist/sw/background-sync.cjs.map +1 -0
- package/dist/sw/background-sync.js +98 -0
- package/dist/sw/background-sync.js.map +1 -0
- package/dist/sw/cache-inspect.cjs +2 -0
- package/dist/sw/cache-inspect.cjs.map +1 -0
- package/dist/sw/cache-inspect.js +49 -0
- package/dist/sw/cache-inspect.js.map +1 -0
- package/dist/sw/cache.cjs +2 -0
- package/dist/sw/cache.cjs.map +1 -0
- package/dist/sw/cache.js +144 -0
- package/dist/sw/cache.js.map +1 -0
- package/dist/sw/create-push-handler.cjs +2 -0
- package/dist/sw/create-push-handler.cjs.map +1 -0
- package/dist/sw/create-push-handler.js +65 -0
- package/dist/sw/create-push-handler.js.map +1 -0
- package/dist/sw/periodic-sync.cjs +2 -0
- package/dist/sw/periodic-sync.cjs.map +1 -0
- package/dist/sw/periodic-sync.js +16 -0
- package/dist/sw/periodic-sync.js.map +1 -0
- package/dist/sw/register-service-worker.cjs +2 -0
- package/dist/sw/register-service-worker.cjs.map +1 -0
- package/dist/sw/register-service-worker.js +44 -0
- package/dist/sw/register-service-worker.js.map +1 -0
- package/dist/sw.cjs +1 -2
- package/dist/sw.d.ts +99 -0
- package/dist/sw.js +7 -377
- package/dist/telemetry/TelemetryProvider.cjs +2 -0
- package/dist/telemetry/TelemetryProvider.cjs.map +1 -0
- package/dist/telemetry/TelemetryProvider.js +21 -0
- package/dist/telemetry/TelemetryProvider.js.map +1 -0
- package/dist/telemetry/console-adapter.cjs +2 -0
- package/dist/telemetry/console-adapter.cjs.map +1 -0
- package/dist/telemetry/console-adapter.js +16 -0
- package/dist/telemetry/console-adapter.js.map +1 -0
- package/dist/telemetry/posthog-adapter.cjs +2 -0
- package/dist/telemetry/posthog-adapter.cjs.map +1 -0
- package/dist/telemetry/posthog-adapter.js +44 -0
- package/dist/telemetry/posthog-adapter.js.map +1 -0
- package/dist/telemetry/sentry-adapter.cjs +2 -0
- package/dist/telemetry/sentry-adapter.cjs.map +1 -0
- package/dist/telemetry/sentry-adapter.js +40 -0
- package/dist/telemetry/sentry-adapter.js.map +1 -0
- package/dist/tempest-react-sdk.cjs +1 -15
- package/dist/tempest-react-sdk.d.ts +1094 -333
- package/dist/tempest-react-sdk.js +255 -9473
- package/dist/testing/create-mock-handlers.cjs +2 -0
- package/dist/testing/create-mock-handlers.cjs.map +1 -0
- package/dist/testing/create-mock-handlers.js +15 -0
- package/dist/testing/create-mock-handlers.js.map +1 -0
- package/dist/testing.cjs +1 -2
- package/dist/testing.js +2 -14
- package/dist/theme/ThemeProvider.cjs +2 -0
- package/dist/theme/ThemeProvider.cjs.map +1 -0
- package/dist/theme/ThemeProvider.js +74 -0
- package/dist/theme/ThemeProvider.js.map +1 -0
- package/dist/theme/initial-theme.cjs +11 -0
- package/dist/theme/initial-theme.cjs.map +1 -0
- package/dist/theme/initial-theme.js +30 -0
- package/dist/theme/initial-theme.js.map +1 -0
- package/dist/utils/arrays.cjs +2 -0
- package/dist/utils/arrays.cjs.map +1 -0
- package/dist/utils/arrays.js +34 -0
- package/dist/utils/arrays.js.map +1 -0
- package/dist/utils/cn.cjs +2 -0
- package/dist/utils/cn.cjs.map +1 -0
- package/dist/utils/cn.js +17 -0
- package/dist/utils/cn.js.map +1 -0
- package/dist/utils/format.cjs +2 -0
- package/dist/utils/format.cjs.map +1 -0
- package/dist/utils/format.js +36 -0
- package/dist/utils/format.js.map +1 -0
- package/dist/utils/functions.cjs +2 -0
- package/dist/utils/functions.cjs.map +1 -0
- package/dist/utils/functions.js +43 -0
- package/dist/utils/functions.js.map +1 -0
- package/dist/utils/guards.cjs +2 -0
- package/dist/utils/guards.cjs.map +1 -0
- package/dist/utils/guards.js +22 -0
- package/dist/utils/guards.js.map +1 -0
- package/dist/utils/ids.cjs +2 -0
- package/dist/utils/ids.cjs.map +1 -0
- package/dist/utils/ids.js +9 -0
- package/dist/utils/ids.js.map +1 -0
- package/dist/utils/numbers.cjs +2 -0
- package/dist/utils/numbers.cjs.map +1 -0
- package/dist/utils/numbers.js +30 -0
- package/dist/utils/numbers.js.map +1 -0
- package/dist/utils/objects.cjs +2 -0
- package/dist/utils/objects.cjs.map +1 -0
- package/dist/utils/objects.js +32 -0
- package/dist/utils/objects.js.map +1 -0
- package/dist/utils/promises.cjs +2 -0
- package/dist/utils/promises.cjs.map +1 -0
- package/dist/utils/promises.js +21 -0
- package/dist/utils/promises.js.map +1 -0
- package/dist/utils/relative-time.cjs +2 -0
- package/dist/utils/relative-time.cjs.map +1 -0
- package/dist/utils/relative-time.js +71 -0
- package/dist/utils/relative-time.js.map +1 -0
- package/dist/utils/storage.cjs +2 -0
- package/dist/utils/storage.cjs.map +1 -0
- package/dist/utils/storage.js +26 -0
- package/dist/utils/storage.js.map +1 -0
- package/dist/utils/strings.cjs +2 -0
- package/dist/utils/strings.cjs.map +1 -0
- package/dist/utils/strings.js +29 -0
- package/dist/utils/strings.js.map +1 -0
- package/dist/utils/xlsx.cjs +2 -0
- package/dist/utils/xlsx.cjs.map +1 -0
- package/dist/utils/xlsx.js +52 -0
- package/dist/utils/xlsx.js.map +1 -0
- package/dist/vision/core/canvas.cjs +2 -0
- package/dist/vision/core/canvas.cjs.map +1 -0
- package/dist/vision/core/canvas.js +32 -0
- package/dist/vision/core/canvas.js.map +1 -0
- package/dist/vision/core/exceptions.cjs +2 -0
- package/dist/vision/core/exceptions.cjs.map +1 -0
- package/dist/vision/core/exceptions.js +10 -0
- package/dist/vision/core/exceptions.js.map +1 -0
- package/dist/vision/core/providers.cjs +2 -0
- package/dist/vision/core/providers.cjs.map +1 -0
- package/dist/vision/core/providers.js +9 -0
- package/dist/vision/core/providers.js.map +1 -0
- package/dist/vision/core/session.cjs +2 -0
- package/dist/vision/core/session.cjs.map +1 -0
- package/dist/vision/core/session.js +48 -0
- package/dist/vision/core/session.js.map +1 -0
- package/dist/vision/index.cjs +2 -0
- package/dist/vision/index.cjs.map +1 -0
- package/dist/vision/index.js +21 -0
- package/dist/vision/index.js.map +1 -0
- package/dist/vision/io/image.cjs +2 -0
- package/dist/vision/io/image.cjs.map +1 -0
- package/dist/vision/io/image.js +57 -0
- package/dist/vision/io/image.js.map +1 -0
- package/dist/vision/labels.cjs +2 -0
- package/dist/vision/labels.cjs.map +1 -0
- package/dist/vision/labels.js +31 -0
- package/dist/vision/labels.js.map +1 -0
- package/dist/vision/luminance.cjs +2 -0
- package/dist/vision/luminance.cjs.map +1 -0
- package/dist/vision/luminance.js +40 -0
- package/dist/vision/luminance.js.map +1 -0
- package/dist/vision/postprocess/classification.cjs +2 -0
- package/dist/vision/postprocess/classification.cjs.map +1 -0
- package/dist/vision/postprocess/classification.js +33 -0
- package/dist/vision/postprocess/classification.js.map +1 -0
- package/dist/vision/postprocess/detection.cjs +2 -0
- package/dist/vision/postprocess/detection.cjs.map +1 -0
- package/dist/vision/postprocess/detection.js +129 -0
- package/dist/vision/postprocess/detection.js.map +1 -0
- package/dist/vision/postprocess/segmentation.cjs +2 -0
- package/dist/vision/postprocess/segmentation.cjs.map +1 -0
- package/dist/vision/postprocess/segmentation.js +103 -0
- package/dist/vision/postprocess/segmentation.js.map +1 -0
- package/dist/vision/preprocess/image.cjs +2 -0
- package/dist/vision/preprocess/image.cjs.map +1 -0
- package/dist/vision/preprocess/image.js +72 -0
- package/dist/vision/preprocess/image.js.map +1 -0
- package/dist/vision/results.cjs +2 -0
- package/dist/vision/results.cjs.map +1 -0
- package/dist/vision/results.js +165 -0
- package/dist/vision/results.js.map +1 -0
- package/dist/vision/tasks/base.cjs +2 -0
- package/dist/vision/tasks/base.cjs.map +1 -0
- package/dist/vision/tasks/base.js +14 -0
- package/dist/vision/tasks/base.js.map +1 -0
- package/dist/vision/tasks/classifier.cjs +2 -0
- package/dist/vision/tasks/classifier.cjs.map +1 -0
- package/dist/vision/tasks/classifier.js +90 -0
- package/dist/vision/tasks/classifier.js.map +1 -0
- package/dist/vision/tasks/detector.cjs +2 -0
- package/dist/vision/tasks/detector.cjs.map +1 -0
- package/dist/vision/tasks/detector.js +112 -0
- package/dist/vision/tasks/detector.js.map +1 -0
- package/dist/vision/tasks/segmenter.cjs +2 -0
- package/dist/vision/tasks/segmenter.cjs.map +1 -0
- package/dist/vision/tasks/segmenter.js +144 -0
- package/dist/vision/tasks/segmenter.js.map +1 -0
- package/dist/vision/types.cjs +2 -0
- package/dist/vision/types.cjs.map +1 -0
- package/dist/vision/types.js +108 -0
- package/dist/vision/types.js.map +1 -0
- package/dist/vision/use-camera-stream.cjs +2 -0
- package/dist/vision/use-camera-stream.cjs.map +1 -0
- package/dist/vision/use-camera-stream.js +82 -0
- package/dist/vision/use-camera-stream.js.map +1 -0
- package/dist/vision/use-live-luminance.cjs +2 -0
- package/dist/vision/use-live-luminance.cjs.map +1 -0
- package/dist/vision/use-live-luminance.js +27 -0
- package/dist/vision/use-live-luminance.js.map +1 -0
- package/dist/vision.cjs +1 -2
- package/dist/vision.js +20 -1561
- package/dist/vite/create-vite-config.cjs +2 -0
- package/dist/vite/create-vite-config.cjs.map +1 -0
- package/dist/vite/create-vite-config.js +44 -0
- package/dist/vite/create-vite-config.js.map +1 -0
- package/dist/vite/tempest-pwa-dev-sw.cjs +2 -0
- package/dist/vite/tempest-pwa-dev-sw.cjs.map +1 -0
- package/dist/vite/tempest-pwa-dev-sw.js +47 -0
- package/dist/vite/tempest-pwa-dev-sw.js.map +1 -0
- package/dist/vite/tempest-pwa-icons.cjs +2 -0
- package/dist/vite/tempest-pwa-icons.cjs.map +1 -0
- package/dist/vite/tempest-pwa-icons.js +181 -0
- package/dist/vite/tempest-pwa-icons.js.map +1 -0
- package/dist/vite/tempest-pwa-manifest.cjs +3 -0
- package/dist/vite/tempest-pwa-manifest.cjs.map +1 -0
- package/dist/vite/tempest-pwa-manifest.js +37 -0
- package/dist/vite/tempest-pwa-manifest.js.map +1 -0
- package/dist/vite.cjs +1 -4
- package/dist/vite.js +5 -265
- package/dist/ws/create-web-socket.cjs +2 -0
- package/dist/ws/create-web-socket.cjs.map +1 -0
- package/dist/ws/create-web-socket.js +70 -0
- package/dist/ws/create-web-socket.js.map +1 -0
- package/dist/ws/use-web-socket.cjs +2 -0
- package/dist/ws/use-web-socket.cjs.map +1 -0
- package/dist/ws/use-web-socket.js +33 -0
- package/dist/ws/use-web-socket.js.map +1 -0
- package/package.json +26 -19
- package/template/eslint.config.js +8 -1
- package/template/package.json +15 -15
- package/template/src/App.tsx +1 -0
- package/template/src/layouts/RootLayout.tsx +1 -0
- package/template/src/lib/api.ts +1 -0
- package/template/src/main.tsx +3 -1
- package/template/src/pages/Login.tsx +1 -0
- package/template/src/routes.tsx +2 -1
- package/template-pwa/package.json +1 -1
- package/template-pwa/src/main.tsx +11 -20
- package/template-pwa/src/pwa.tsx +42 -0
- package/dist/AC-Brw7ZrEs.cjs +0 -2
- package/dist/AC-Brw7ZrEs.cjs.map +0 -1
- package/dist/AC-DLl3Z4oj.js +0 -12
- package/dist/AC-DLl3Z4oj.js.map +0 -1
- package/dist/AL-DPGoZjht.cjs +0 -2
- package/dist/AL-DPGoZjht.cjs.map +0 -1
- package/dist/AL-gswGaWlj.js +0 -12
- package/dist/AL-gswGaWlj.js.map +0 -1
- package/dist/AM-QN1eL4Tn.js +0 -12
- package/dist/AM-QN1eL4Tn.js.map +0 -1
- package/dist/AM-VqNWvsI-.cjs +0 -2
- package/dist/AM-VqNWvsI-.cjs.map +0 -1
- package/dist/AP-CPvBa_FK.cjs +0 -2
- package/dist/AP-CPvBa_FK.cjs.map +0 -1
- package/dist/AP-CRAbh1js.js +0 -12
- package/dist/AP-CRAbh1js.js.map +0 -1
- package/dist/BA-CKy_HnnV.js +0 -12
- package/dist/BA-CKy_HnnV.js.map +0 -1
- package/dist/BA-DoMQ6slK.cjs +0 -2
- package/dist/BA-DoMQ6slK.cjs.map +0 -1
- package/dist/CE-Ca-XMDFW.js +0 -12
- package/dist/CE-Ca-XMDFW.js.map +0 -1
- package/dist/CE-as-pGPQa.cjs +0 -2
- package/dist/CE-as-pGPQa.cjs.map +0 -1
- package/dist/DF-8kzFoovF.js +0 -12
- package/dist/DF-8kzFoovF.js.map +0 -1
- package/dist/DF-Wr8WNxSX.cjs +0 -2
- package/dist/DF-Wr8WNxSX.cjs.map +0 -1
- package/dist/ES-B4uWNG6s.js +0 -12
- package/dist/ES-B4uWNG6s.js.map +0 -1
- package/dist/ES-wKVjD_TM.cjs +0 -2
- package/dist/ES-wKVjD_TM.cjs.map +0 -1
- package/dist/GO-D4m4rOqy.cjs +0 -2
- package/dist/GO-D4m4rOqy.cjs.map +0 -1
- package/dist/GO-DuaAgIfo.js +0 -12
- package/dist/GO-DuaAgIfo.js.map +0 -1
- package/dist/MA-BmaUZZKe.cjs +0 -2
- package/dist/MA-BmaUZZKe.cjs.map +0 -1
- package/dist/MA-wOyPxG_M.js +0 -12
- package/dist/MA-wOyPxG_M.js.map +0 -1
- package/dist/MG-BYsqJd-S.js +0 -12
- package/dist/MG-BYsqJd-S.js.map +0 -1
- package/dist/MG-BchdfJXp.cjs +0 -2
- package/dist/MG-BchdfJXp.cjs.map +0 -1
- package/dist/MS-DZkgtN_7.js +0 -12
- package/dist/MS-DZkgtN_7.js.map +0 -1
- package/dist/MS-Dz9lDw37.cjs +0 -2
- package/dist/MS-Dz9lDw37.cjs.map +0 -1
- package/dist/MT-BkVchoah.cjs +0 -2
- package/dist/MT-BkVchoah.cjs.map +0 -1
- package/dist/MT-GmMwFWw2.js +0 -12
- package/dist/MT-GmMwFWw2.js.map +0 -1
- package/dist/PA-C2FpT6Ew.cjs +0 -2
- package/dist/PA-C2FpT6Ew.cjs.map +0 -1
- package/dist/PA-DgyDzDFi.js +0 -12
- package/dist/PA-DgyDzDFi.js.map +0 -1
- package/dist/PB-BGkzbQup.cjs +0 -2
- package/dist/PB-BGkzbQup.cjs.map +0 -1
- package/dist/PB-D-6NE6KM.js +0 -12
- package/dist/PB-D-6NE6KM.js.map +0 -1
- package/dist/PE-D8V7gWY-.cjs +0 -2
- package/dist/PE-D8V7gWY-.cjs.map +0 -1
- package/dist/PE-vqm-t7Nh.js +0 -12
- package/dist/PE-vqm-t7Nh.js.map +0 -1
- package/dist/PI-CILuGJlW.js +0 -12
- package/dist/PI-CILuGJlW.js.map +0 -1
- package/dist/PI-dJYCbXQM.cjs +0 -2
- package/dist/PI-dJYCbXQM.cjs.map +0 -1
- package/dist/PR-DN8AV__r.js +0 -12
- package/dist/PR-DN8AV__r.js.map +0 -1
- package/dist/PR-P17oBdNH.cjs +0 -2
- package/dist/PR-P17oBdNH.cjs.map +0 -1
- package/dist/RJ-Bccz05Em.js +0 -12
- package/dist/RJ-Bccz05Em.js.map +0 -1
- package/dist/RJ-Budqx7QP.cjs +0 -2
- package/dist/RJ-Budqx7QP.cjs.map +0 -1
- package/dist/RN-DLcJBxo3.cjs +0 -2
- package/dist/RN-DLcJBxo3.cjs.map +0 -1
- package/dist/RN-DTqFP-Nm.js +0 -12
- package/dist/RN-DTqFP-Nm.js.map +0 -1
- package/dist/RO-BCC54UTU.js +0 -12
- package/dist/RO-BCC54UTU.js.map +0 -1
- package/dist/RO-B_IDyci4.cjs +0 -2
- package/dist/RO-B_IDyci4.cjs.map +0 -1
- package/dist/RR-CDGUEyla.cjs +0 -2
- package/dist/RR-CDGUEyla.cjs.map +0 -1
- package/dist/RR-OCnI_XpU.js +0 -12
- package/dist/RR-OCnI_XpU.js.map +0 -1
- package/dist/RS-DiBeY_u5.cjs +0 -2
- package/dist/RS-DiBeY_u5.cjs.map +0 -1
- package/dist/RS-Dy7gBbbH.js +0 -12
- package/dist/RS-Dy7gBbbH.js.map +0 -1
- package/dist/SC-CEMoj8g2.cjs +0 -2
- package/dist/SC-CEMoj8g2.cjs.map +0 -1
- package/dist/SC-trCqQDXz.js +0 -12
- package/dist/SC-trCqQDXz.js.map +0 -1
- package/dist/SE-DAfFbZcK.cjs +0 -2
- package/dist/SE-DAfFbZcK.cjs.map +0 -1
- package/dist/SE-DBdfSrGk.js +0 -12
- package/dist/SE-DBdfSrGk.js.map +0 -1
- package/dist/SP-Cse4d68i.cjs +0 -2
- package/dist/SP-Cse4d68i.cjs.map +0 -1
- package/dist/SP-qPZjJDOT.js +0 -12
- package/dist/SP-qPZjJDOT.js.map +0 -1
- package/dist/TO-CZtMDVug.js +0 -12
- package/dist/TO-CZtMDVug.js.map +0 -1
- package/dist/TO-Dwi5zIyF.cjs +0 -2
- package/dist/TO-Dwi5zIyF.cjs.map +0 -1
- package/dist/br-centroids--O7-1KXz.cjs +0 -2
- package/dist/br-centroids--O7-1KXz.cjs.map +0 -1
- package/dist/br-centroids-IHN7PIzD.js +0 -10
- package/dist/br-centroids-IHN7PIzD.js.map +0 -1
- package/dist/br-geo-BYynYOwK.cjs +0 -2
- package/dist/br-geo-BYynYOwK.cjs.map +0 -1
- package/dist/br-geo-DFRuvjuU.js +0 -8
- package/dist/br-geo-DFRuvjuU.js.map +0 -1
- package/dist/charts.cjs.map +0 -1
- package/dist/charts.js.map +0 -1
- package/dist/cn-C0Sxc9eb.js +0 -19
- package/dist/cn-C0Sxc9eb.js.map +0 -1
- package/dist/cn-CNScIEB4.cjs +0 -2
- package/dist/cn-CNScIEB4.cjs.map +0 -1
- package/dist/editor.cjs.map +0 -1
- package/dist/editor.js.map +0 -1
- package/dist/leaflet-map-BHBcL_7k.js +0 -51
- package/dist/leaflet-map-BHBcL_7k.js.map +0 -1
- package/dist/leaflet-map-BzYV9czG.cjs +0 -2
- package/dist/leaflet-map-BzYV9czG.cjs.map +0 -1
- package/dist/projection-CILVBdpd.cjs +0 -2
- package/dist/projection-CILVBdpd.cjs.map +0 -1
- package/dist/projection-Wnqr_svy.js +0 -215
- package/dist/projection-Wnqr_svy.js.map +0 -1
- package/dist/sw.cjs.map +0 -1
- package/dist/sw.js.map +0 -1
- package/dist/tempest-react-sdk.cjs.map +0 -1
- package/dist/tempest-react-sdk.js.map +0 -1
- package/dist/testing.cjs.map +0 -1
- package/dist/testing.js.map +0 -1
- package/dist/vision.cjs.map +0 -1
- package/dist/vision.js.map +0 -1
- package/dist/vite.cjs.map +0 -1
- package/dist/vite.js.map +0 -1
package/dist/auth/jwt.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
//#region src/auth/jwt.ts
|
|
2
|
+
function e(e) {
|
|
3
|
+
let t = e.replace(/-/g, "+").replace(/_/g, "/"), n = t.length % 4 == 0 ? "" : "=".repeat(4 - t.length % 4);
|
|
4
|
+
return typeof atob < "u" ? atob(t + n) : Buffer.from(t + n, "base64").toString("binary");
|
|
5
|
+
}
|
|
6
|
+
function t(t) {
|
|
7
|
+
let n = t.split(".");
|
|
8
|
+
if (n.length !== 3) throw Error("Invalid JWT: must contain three segments.");
|
|
9
|
+
let [r, i, a] = n;
|
|
10
|
+
try {
|
|
11
|
+
return {
|
|
12
|
+
header: JSON.parse(e(r)),
|
|
13
|
+
payload: JSON.parse(e(i)),
|
|
14
|
+
signature: a
|
|
15
|
+
};
|
|
16
|
+
} catch {
|
|
17
|
+
throw Error("Invalid JWT: header or payload is not valid JSON.");
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function n(e, n = 0) {
|
|
21
|
+
try {
|
|
22
|
+
let { payload: r } = t(e);
|
|
23
|
+
if (typeof r.exp != "number") return !0;
|
|
24
|
+
let i = Math.floor(Date.now() / 1e3);
|
|
25
|
+
return r.exp <= i + n;
|
|
26
|
+
} catch {
|
|
27
|
+
return !0;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//#endregion
|
|
31
|
+
export { t as decodeJWT, n as isJWTExpired };
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=jwt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt.js","names":[],"sources":["../../src/auth/jwt.ts"],"sourcesContent":["export interface DecodedJWT {\n header: Record<string, unknown>;\n payload: Record<string, unknown> & { exp?: number; iat?: number; sub?: string };\n signature: string;\n}\n\nfunction base64UrlDecode(input: string): string {\n const padded = input.replace(/-/g, \"+\").replace(/_/g, \"/\");\n const padding = padded.length % 4 === 0 ? \"\" : \"=\".repeat(4 - (padded.length % 4));\n if (typeof atob !== \"undefined\") {\n return atob(padded + padding);\n }\n return Buffer.from(padded + padding, \"base64\").toString(\"binary\");\n}\n\n/**\n * Decode a JWT into header/payload/signature. Does **not** verify the\n * signature — for that, do it server-side or use a JOSE library on the\n * client.\n *\n * @throws If the token shape is invalid (missing parts, bad JSON).\n */\nexport function decodeJWT(token: string): DecodedJWT {\n const parts = token.split(\".\");\n if (parts.length !== 3) throw new Error(\"Invalid JWT: must contain three segments.\");\n const [headerSeg, payloadSeg, signature] = parts as [string, string, string];\n try {\n return {\n header: JSON.parse(base64UrlDecode(headerSeg)),\n payload: JSON.parse(base64UrlDecode(payloadSeg)),\n signature,\n };\n } catch {\n throw new Error(\"Invalid JWT: header or payload is not valid JSON.\");\n }\n}\n\n/**\n * Return true when the JWT's `exp` claim is in the past (or missing).\n *\n * @param token - JWT to inspect.\n * @param leewaySeconds - Treat tokens expiring within this window as expired.\n */\nexport function isJWTExpired(token: string, leewaySeconds = 0): boolean {\n try {\n const { payload } = decodeJWT(token);\n if (typeof payload.exp !== \"number\") return true;\n const nowSeconds = Math.floor(Date.now() / 1000);\n return payload.exp <= nowSeconds + leewaySeconds;\n } catch {\n return true;\n }\n}\n"],"mappings":";AAMA,SAAS,EAAgB,GAAuB;CAC5C,IAAM,IAAS,EAAM,QAAQ,MAAM,GAAG,CAAC,CAAC,QAAQ,MAAM,GAAG,GACnD,IAAU,EAAO,SAAS,KAAM,IAAI,KAAK,IAAI,OAAO,IAAK,EAAO,SAAS,CAAE;CAIjF,OAHI,OAAO,OAAS,MACT,KAAK,IAAS,CAAO,IAEzB,OAAO,KAAK,IAAS,GAAS,QAAQ,CAAC,CAAC,SAAS,QAAQ;AACpE;AASA,SAAgB,EAAU,GAA2B;CACjD,IAAM,IAAQ,EAAM,MAAM,GAAG;CAC7B,IAAI,EAAM,WAAW,GAAG,MAAU,MAAM,2CAA2C;CACnF,IAAM,CAAC,GAAW,GAAY,KAAa;CAC3C,IAAI;EACA,OAAO;GACH,QAAQ,KAAK,MAAM,EAAgB,CAAS,CAAC;GAC7C,SAAS,KAAK,MAAM,EAAgB,CAAU,CAAC;GAC/C;EACJ;CACJ,QAAQ;EACJ,MAAU,MAAM,mDAAmD;CACvE;AACJ;AAQA,SAAgB,EAAa,GAAe,IAAgB,GAAY;CACpE,IAAI;EACA,IAAM,EAAE,eAAY,EAAU,CAAK;EACnC,IAAI,OAAO,EAAQ,OAAQ,UAAU,OAAO;EAC5C,IAAM,IAAa,KAAK,MAAM,KAAK,IAAI,IAAI,GAAI;EAC/C,OAAO,EAAQ,OAAO,IAAa;CACvC,QAAQ;EACJ,OAAO;CACX;AACJ"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
let e=require("react");function t(t,n={}){let{retries:r=3,initialDelay:i=400,reloadOnFinalFailure:a=!0}=n;async function o(e=1){try{return await t()}catch(t){if(e>=r)throw a&&typeof window<`u`&&window.location.reload(),t;return await new Promise(t=>setTimeout(t,i*2**(e-1))),o(e+1)}}return(0,e.lazy)(o)}exports.lazyWithRetry=t;
|
|
2
|
+
//# sourceMappingURL=lazy-with-retry.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy-with-retry.cjs","names":[],"sources":["../../src/auth/lazy-with-retry.ts"],"sourcesContent":["import { lazy } from \"react\";\nimport type { ComponentType } from \"react\";\n\nexport interface LazyWithRetryOptions {\n /** Max attempts. Default: 3. */\n retries?: number;\n /** Initial delay (ms) before retrying. Default: 400. */\n initialDelay?: number;\n /**\n * Reload the page after every retry fails. Helps when the stale chunk\n * error is caused by an old `index.html` referencing deleted bundles.\n * Default: true.\n */\n reloadOnFinalFailure?: boolean;\n}\n\n/**\n * Wrap `React.lazy` with automatic retry. Common cause of failure:\n * deployed-then-cached `index.html` references chunk filenames that no\n * longer exist. Retrying after a short delay typically picks up the new\n * bundle; a final `location.reload()` recovers from stale `index.html`.\n *\n * @example\n * const Settings = lazyWithRetry(() => import(\"./Settings\"));\n */\nexport function lazyWithRetry<T extends ComponentType<unknown>>(\n factory: () => Promise<{ default: T }>,\n options: LazyWithRetryOptions = {},\n): ReturnType<typeof lazy<T>> {\n const { retries = 3, initialDelay = 400, reloadOnFinalFailure = true } = options;\n\n async function load(attempt = 1): Promise<{ default: T }> {\n try {\n return await factory();\n } catch (error) {\n if (attempt >= retries) {\n if (reloadOnFinalFailure && typeof window !== \"undefined\") {\n window.location.reload();\n }\n throw error;\n }\n await new Promise((resolve) => setTimeout(resolve, initialDelay * 2 ** (attempt - 1)));\n return load(attempt + 1);\n }\n }\n\n return lazy(load) as ReturnType<typeof lazy<T>>;\n}\n"],"mappings":"uBAyBA,SAAgB,EACZ,EACA,EAAgC,CAAC,EACP,CAC1B,GAAM,CAAE,UAAU,EAAG,eAAe,IAAK,uBAAuB,IAAS,EAEzE,eAAe,EAAK,EAAU,EAA4B,CACtD,GAAI,CACA,OAAO,MAAM,EAAQ,CACzB,OAAS,EAAO,CACZ,GAAI,GAAW,EAIX,MAHI,GAAwB,OAAO,OAAW,KAC1C,OAAO,SAAS,OAAO,EAErB,EAGV,OADA,MAAM,IAAI,QAAS,GAAY,WAAW,EAAS,EAAe,IAAM,EAAU,EAAE,CAAC,EAC9E,EAAK,EAAU,CAAC,CAC3B,CACJ,CAEA,OAAA,EAAA,EAAA,KAAA,CAAY,CAAI,CACpB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { lazy as e } from "react";
|
|
2
|
+
//#region src/auth/lazy-with-retry.ts
|
|
3
|
+
function t(t, n = {}) {
|
|
4
|
+
let { retries: r = 3, initialDelay: i = 400, reloadOnFinalFailure: a = !0 } = n;
|
|
5
|
+
async function o(e = 1) {
|
|
6
|
+
try {
|
|
7
|
+
return await t();
|
|
8
|
+
} catch (t) {
|
|
9
|
+
if (e >= r) throw a && typeof window < "u" && window.location.reload(), t;
|
|
10
|
+
return await new Promise((t) => setTimeout(t, i * 2 ** (e - 1))), o(e + 1);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
return e(o);
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
export { t as lazyWithRetry };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=lazy-with-retry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy-with-retry.js","names":[],"sources":["../../src/auth/lazy-with-retry.ts"],"sourcesContent":["import { lazy } from \"react\";\nimport type { ComponentType } from \"react\";\n\nexport interface LazyWithRetryOptions {\n /** Max attempts. Default: 3. */\n retries?: number;\n /** Initial delay (ms) before retrying. Default: 400. */\n initialDelay?: number;\n /**\n * Reload the page after every retry fails. Helps when the stale chunk\n * error is caused by an old `index.html` referencing deleted bundles.\n * Default: true.\n */\n reloadOnFinalFailure?: boolean;\n}\n\n/**\n * Wrap `React.lazy` with automatic retry. Common cause of failure:\n * deployed-then-cached `index.html` references chunk filenames that no\n * longer exist. Retrying after a short delay typically picks up the new\n * bundle; a final `location.reload()` recovers from stale `index.html`.\n *\n * @example\n * const Settings = lazyWithRetry(() => import(\"./Settings\"));\n */\nexport function lazyWithRetry<T extends ComponentType<unknown>>(\n factory: () => Promise<{ default: T }>,\n options: LazyWithRetryOptions = {},\n): ReturnType<typeof lazy<T>> {\n const { retries = 3, initialDelay = 400, reloadOnFinalFailure = true } = options;\n\n async function load(attempt = 1): Promise<{ default: T }> {\n try {\n return await factory();\n } catch (error) {\n if (attempt >= retries) {\n if (reloadOnFinalFailure && typeof window !== \"undefined\") {\n window.location.reload();\n }\n throw error;\n }\n await new Promise((resolve) => setTimeout(resolve, initialDelay * 2 ** (attempt - 1)));\n return load(attempt + 1);\n }\n }\n\n return lazy(load) as ReturnType<typeof lazy<T>>;\n}\n"],"mappings":";;AAyBA,SAAgB,EACZ,GACA,IAAgC,CAAC,GACP;CAC1B,IAAM,EAAE,aAAU,GAAG,kBAAe,KAAK,0BAAuB,OAAS;CAEzE,eAAe,EAAK,IAAU,GAA4B;EACtD,IAAI;GACA,OAAO,MAAM,EAAQ;EACzB,SAAS,GAAO;GACZ,IAAI,KAAW,GAIX,MAHI,KAAwB,OAAO,SAAW,OAC1C,OAAO,SAAS,OAAO,GAErB;GAGV,OADA,MAAM,IAAI,SAAS,MAAY,WAAW,GAAS,IAAe,MAAM,IAAU,EAAE,CAAC,GAC9E,EAAK,IAAU,CAAC;EAC3B;CACJ;CAEA,OAAO,EAAK,CAAI;AACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refresh-queue.cjs","names":[],"sources":["../../src/auth/refresh-queue.ts"],"sourcesContent":["/**\n * Deduplicate concurrent refresh calls. When multiple 401 responses arrive\n * at once, all of them share the same in-flight `refresh()` promise instead\n * of triggering N parallel refreshes.\n *\n * @example\n * const refresh = createRefreshQueue(() => AuthService.refresh());\n *\n * // In every request that hits 401:\n * await refresh();\n * // ...retry the original request\n */\nexport function createRefreshQueue(refresh: () => Promise<void>): () => Promise<void> {\n let current: Promise<void> | null = null;\n\n return () => {\n if (current) return current;\n current = (async () => {\n try {\n await refresh();\n } finally {\n current = null;\n }\n })();\n return current;\n };\n}\n"],"mappings":"AAYA,SAAgB,EAAmB,EAAmD,CAClF,IAAI,EAAgC,KAEpC,UACQ,IACJ,GAAW,SAAY,CACnB,GAAI,CACA,MAAM,EAAQ,CAClB,QAAU,CACN,EAAU,IACd,CACJ,EAAA,CAAG,EACI,EAEf"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//#region src/auth/refresh-queue.ts
|
|
2
|
+
function e(e) {
|
|
3
|
+
let t = null;
|
|
4
|
+
return () => t || (t = (async () => {
|
|
5
|
+
try {
|
|
6
|
+
await e();
|
|
7
|
+
} finally {
|
|
8
|
+
t = null;
|
|
9
|
+
}
|
|
10
|
+
})(), t);
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { e as createRefreshQueue };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=refresh-queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refresh-queue.js","names":[],"sources":["../../src/auth/refresh-queue.ts"],"sourcesContent":["/**\n * Deduplicate concurrent refresh calls. When multiple 401 responses arrive\n * at once, all of them share the same in-flight `refresh()` promise instead\n * of triggering N parallel refreshes.\n *\n * @example\n * const refresh = createRefreshQueue(() => AuthService.refresh());\n *\n * // In every request that hits 401:\n * await refresh();\n * // ...retry the original request\n */\nexport function createRefreshQueue(refresh: () => Promise<void>): () => Promise<void> {\n let current: Promise<void> | null = null;\n\n return () => {\n if (current) return current;\n current = (async () => {\n try {\n await refresh();\n } finally {\n current = null;\n }\n })();\n return current;\n };\n}\n"],"mappings":";AAYA,SAAgB,EAAmB,GAAmD;CAClF,IAAI,IAAgC;CAEpC,aACQ,MACJ,KAAW,YAAY;EACnB,IAAI;GACA,MAAM,EAAQ;EAClB,UAAU;GACN,IAAU;EACd;CACJ,EAAA,CAAG,GACI;AAEf"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("../utils/cn.cjs"),t=require("../geo/projection.cjs"),n=require("./locations.cjs"),r=require("./BrazilMap.module.cjs"),i=require("./MapMarkers.cjs"),a=require("./MapTooltip.cjs"),o=require("./regions.cjs"),s=require("./use-map-zoom.cjs"),c=require("./svg-utils.cjs"),l=require("./use-map-hover.cjs");let u=require("react"),d=require("react/jsx-runtime");function f({selected:n,onSelect:f,values:m,minColor:h=`#dbeafe`,maxColor:g=`#2563eb`,colorScale:_,colorByRegion:v=!1,height:y=440,padding:b=12,showLabels:x=!0,label:S=`Mapa do Brasil por estado`,loadingContent:C,showTooltip:w=!0,renderTooltip:T,markers:E,onMarkerClick:D,zoomable:O=!1,className:k,style:A,...j}){let M=(0,u.useRef)(null),[N,P]=(0,u.useState)(600),[F,I]=(0,u.useState)(null),{hover:L,onMove:R,onLeave:z}=l.useMapHover(M),B=s.useMapZoom(O);(0,u.useEffect)(()=>{let e=!0;return Promise.resolve().then(()=>require("./br-geo.cjs")).then(t=>{e&&I(t.BR_UF_GEOJSON)}),()=>{e=!1}},[]),(0,u.useEffect)(()=>{let e=M.current;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(e=>{let t=e[0]?.contentRect.width;t&&t>0&&P(t)});return t.observe(e),()=>t.disconnect()},[]);let V=(0,u.useMemo)(()=>n?new Set(Array.isArray(n)?n:[n]):new Set,[n]),H=(0,u.useMemo)(()=>{if(!m)return null;let e=Object.values(m).filter(e=>typeof e==`number`);return e.length===0?null:[Math.min(...e),Math.max(...e)]},[m]),U=(0,u.useMemo)(()=>{if(!F)return null;let e=t.fitProjection(c.geometriesBounds(F.features.map(e=>e.geometry)),N,y,{padding:b});return{projection:e,items:F.features.map(t=>({uf:t.properties.uf,name:t.properties.name,region:t.properties.region,d:c.geometryPath(t.geometry,e),centroid:c.geometryCentroid(t.geometry,e)}))}},[F,N,y,b]);function W(e){let t=m?.[e];if(typeof t!=`number`)return;if(_)return _(t);if(!H)return;let[n,r]=H;return c.lerpColor(h,g,r===n?1:(t-n)/(r-n))}let G=(0,u.useMemo)(()=>U?U.items.map(t=>{let n=V.has(t.uf),i=n?void 0:v?o.REGION_COLORS[t.region]:W(t.uf);return(0,d.jsx)(`path`,{className:e.cn(r.default.state,n&&r.default.selected),d:t.d,fillRule:`evenodd`,style:i?{fill:i}:void 0,"data-uf":t.uf,tabIndex:f?0:void 0,role:f?`button`:void 0,"aria-label":t.name,"aria-pressed":f?n:void 0,onClick:f?()=>f(t.uf):void 0,onMouseMove:w?e=>R({uf:t.uf,name:t.name},e):void 0,onMouseLeave:w?z:void 0,onKeyDown:f?e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),f(t.uf))}:void 0},t.uf)}):null,[U,V,m,_,v,h,g,f,w,R,z]);return(0,d.jsxs)(`div`,{ref:M,className:e.cn(r.default.map,k),style:{height:y,...A},role:`group`,"aria-label":S,...j,children:[U?(0,d.jsx)(`svg`,{className:r.default.svg,width:`100%`,height:y,viewBox:`0 0 ${N} ${y}`,preserveAspectRatio:`xMidYMid meet`,...B.handlers,children:(0,d.jsxs)(`g`,{transform:B.transform||void 0,children:[G,x&&U.items.map(e=>(0,d.jsx)(`text`,{className:r.default.label,x:e.centroid.x,y:e.centroid.y,textAnchor:`middle`,dominantBaseline:`central`,children:e.uf},`label-${e.uf}`)),E&&E.length>0&&(0,d.jsx)(i.MapMarkers,{projection:U.projection,markers:E,onMarkerClick:D})]})}):(0,d.jsx)(`div`,{className:r.default.loading,children:C??`Carregando mapa…`}),B.isTransformed&&(0,d.jsx)(`button`,{type:`button`,className:r.default.zoomReset,onClick:B.reset,children:`Reset`}),w&&L&&(0,d.jsx)(a.MapTooltip,{x:L.x,y:L.y,children:T?T({uf:L.item.uf,name:L.item.name,value:m?.[L.item.uf]}):(0,d.jsx)(p,{uf:L.item.uf,name:L.item.name,value:m?.[L.item.uf]})})]})}function p({uf:e,name:t,value:i}){let a=n.getState(e);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(`div`,{className:r.default.tooltipTitle,children:[t,` (`,e,`)`]}),(0,d.jsxs)(`div`,{className:r.default.tooltipMeta,children:[a?`${a.region} · ${a.cities.length} cidades`:e,typeof i==`number`?` · ${i}`:``]})]})}exports.BrazilMap=f;
|
|
2
|
+
//# sourceMappingURL=BrazilMap.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrazilMap.cjs","names":[],"sources":["../../src/br/BrazilMap.tsx"],"sourcesContent":["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"],"mappings":"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"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { cn as e } from "../utils/cn.js";
|
|
2
|
+
import { fitProjection as t } from "../geo/projection.js";
|
|
3
|
+
import { getState as n } from "./locations.js";
|
|
4
|
+
import r from "./BrazilMap.module.js";
|
|
5
|
+
import { MapMarkers as i } from "./MapMarkers.js";
|
|
6
|
+
import { MapTooltip as a } from "./MapTooltip.js";
|
|
7
|
+
import { REGION_COLORS as o } from "./regions.js";
|
|
8
|
+
import { useMapZoom as s } from "./use-map-zoom.js";
|
|
9
|
+
import { geometriesBounds as c, geometryCentroid as l, geometryPath as u, lerpColor as d } from "./svg-utils.js";
|
|
10
|
+
import { useMapHover as f } from "./use-map-hover.js";
|
|
11
|
+
import { useEffect as p, useMemo as m, useRef as h, useState as g } from "react";
|
|
12
|
+
import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
|
|
13
|
+
//#region src/br/BrazilMap.tsx
|
|
14
|
+
function b({ selected: n, onSelect: _, values: b, minColor: S = "#dbeafe", maxColor: C = "#2563eb", colorScale: w, colorByRegion: T = !1, height: E = 440, padding: D = 12, showLabels: O = !0, label: k = "Mapa do Brasil por estado", loadingContent: A, showTooltip: j = !0, renderTooltip: M, markers: N, onMarkerClick: P, zoomable: F = !1, className: I, style: L, ...R }) {
|
|
15
|
+
let z = h(null), [B, V] = g(600), [H, U] = g(null), { hover: W, onMove: G, onLeave: K } = f(z), q = s(F);
|
|
16
|
+
p(() => {
|
|
17
|
+
let e = !0;
|
|
18
|
+
return import("./br-geo.js").then((t) => {
|
|
19
|
+
e && U(t.BR_UF_GEOJSON);
|
|
20
|
+
}), () => {
|
|
21
|
+
e = !1;
|
|
22
|
+
};
|
|
23
|
+
}, []), p(() => {
|
|
24
|
+
let e = z.current;
|
|
25
|
+
if (!e || typeof ResizeObserver > "u") return;
|
|
26
|
+
let t = new ResizeObserver((e) => {
|
|
27
|
+
let t = e[0]?.contentRect.width;
|
|
28
|
+
t && t > 0 && V(t);
|
|
29
|
+
});
|
|
30
|
+
return t.observe(e), () => t.disconnect();
|
|
31
|
+
}, []);
|
|
32
|
+
let J = m(() => n ? new Set(Array.isArray(n) ? n : [n]) : /* @__PURE__ */ new Set(), [n]), Y = m(() => {
|
|
33
|
+
if (!b) return null;
|
|
34
|
+
let e = Object.values(b).filter((e) => typeof e == "number");
|
|
35
|
+
return e.length === 0 ? null : [Math.min(...e), Math.max(...e)];
|
|
36
|
+
}, [b]), X = m(() => {
|
|
37
|
+
if (!H) return null;
|
|
38
|
+
let e = t(c(H.features.map((e) => e.geometry)), B, E, { padding: D });
|
|
39
|
+
return {
|
|
40
|
+
projection: e,
|
|
41
|
+
items: H.features.map((t) => ({
|
|
42
|
+
uf: t.properties.uf,
|
|
43
|
+
name: t.properties.name,
|
|
44
|
+
region: t.properties.region,
|
|
45
|
+
d: u(t.geometry, e),
|
|
46
|
+
centroid: l(t.geometry, e)
|
|
47
|
+
}))
|
|
48
|
+
};
|
|
49
|
+
}, [
|
|
50
|
+
H,
|
|
51
|
+
B,
|
|
52
|
+
E,
|
|
53
|
+
D
|
|
54
|
+
]);
|
|
55
|
+
function Z(e) {
|
|
56
|
+
let t = b?.[e];
|
|
57
|
+
if (typeof t != "number") return;
|
|
58
|
+
if (w) return w(t);
|
|
59
|
+
if (!Y) return;
|
|
60
|
+
let [n, r] = Y;
|
|
61
|
+
return d(S, C, r === n ? 1 : (t - n) / (r - n));
|
|
62
|
+
}
|
|
63
|
+
let Q = m(() => X ? X.items.map((t) => {
|
|
64
|
+
let n = J.has(t.uf), i = n ? void 0 : T ? o[t.region] : Z(t.uf);
|
|
65
|
+
return /* @__PURE__ */ v("path", {
|
|
66
|
+
className: e(r.state, n && r.selected),
|
|
67
|
+
d: t.d,
|
|
68
|
+
fillRule: "evenodd",
|
|
69
|
+
style: i ? { fill: i } : void 0,
|
|
70
|
+
"data-uf": t.uf,
|
|
71
|
+
tabIndex: _ ? 0 : void 0,
|
|
72
|
+
role: _ ? "button" : void 0,
|
|
73
|
+
"aria-label": t.name,
|
|
74
|
+
"aria-pressed": _ ? n : void 0,
|
|
75
|
+
onClick: _ ? () => _(t.uf) : void 0,
|
|
76
|
+
onMouseMove: j ? (e) => G({
|
|
77
|
+
uf: t.uf,
|
|
78
|
+
name: t.name
|
|
79
|
+
}, e) : void 0,
|
|
80
|
+
onMouseLeave: j ? K : void 0,
|
|
81
|
+
onKeyDown: _ ? (e) => {
|
|
82
|
+
(e.key === "Enter" || e.key === " ") && (e.preventDefault(), _(t.uf));
|
|
83
|
+
} : void 0
|
|
84
|
+
}, t.uf);
|
|
85
|
+
}) : null, [
|
|
86
|
+
X,
|
|
87
|
+
J,
|
|
88
|
+
b,
|
|
89
|
+
w,
|
|
90
|
+
T,
|
|
91
|
+
S,
|
|
92
|
+
C,
|
|
93
|
+
_,
|
|
94
|
+
j,
|
|
95
|
+
G,
|
|
96
|
+
K
|
|
97
|
+
]);
|
|
98
|
+
return /* @__PURE__ */ y("div", {
|
|
99
|
+
ref: z,
|
|
100
|
+
className: e(r.map, I),
|
|
101
|
+
style: {
|
|
102
|
+
height: E,
|
|
103
|
+
...L
|
|
104
|
+
},
|
|
105
|
+
role: "group",
|
|
106
|
+
"aria-label": k,
|
|
107
|
+
...R,
|
|
108
|
+
children: [
|
|
109
|
+
X ? /* @__PURE__ */ v("svg", {
|
|
110
|
+
className: r.svg,
|
|
111
|
+
width: "100%",
|
|
112
|
+
height: E,
|
|
113
|
+
viewBox: `0 0 ${B} ${E}`,
|
|
114
|
+
preserveAspectRatio: "xMidYMid meet",
|
|
115
|
+
...q.handlers,
|
|
116
|
+
children: /* @__PURE__ */ y("g", {
|
|
117
|
+
transform: q.transform || void 0,
|
|
118
|
+
children: [
|
|
119
|
+
Q,
|
|
120
|
+
O && X.items.map((e) => /* @__PURE__ */ v("text", {
|
|
121
|
+
className: r.label,
|
|
122
|
+
x: e.centroid.x,
|
|
123
|
+
y: e.centroid.y,
|
|
124
|
+
textAnchor: "middle",
|
|
125
|
+
dominantBaseline: "central",
|
|
126
|
+
children: e.uf
|
|
127
|
+
}, `label-${e.uf}`)),
|
|
128
|
+
N && N.length > 0 && /* @__PURE__ */ v(i, {
|
|
129
|
+
projection: X.projection,
|
|
130
|
+
markers: N,
|
|
131
|
+
onMarkerClick: P
|
|
132
|
+
})
|
|
133
|
+
]
|
|
134
|
+
})
|
|
135
|
+
}) : /* @__PURE__ */ v("div", {
|
|
136
|
+
className: r.loading,
|
|
137
|
+
children: A ?? "Carregando mapa…"
|
|
138
|
+
}),
|
|
139
|
+
q.isTransformed && /* @__PURE__ */ v("button", {
|
|
140
|
+
type: "button",
|
|
141
|
+
className: r.zoomReset,
|
|
142
|
+
onClick: q.reset,
|
|
143
|
+
children: "Reset"
|
|
144
|
+
}),
|
|
145
|
+
j && W && /* @__PURE__ */ v(a, {
|
|
146
|
+
x: W.x,
|
|
147
|
+
y: W.y,
|
|
148
|
+
children: M ? M({
|
|
149
|
+
uf: W.item.uf,
|
|
150
|
+
name: W.item.name,
|
|
151
|
+
value: b?.[W.item.uf]
|
|
152
|
+
}) : /* @__PURE__ */ v(x, {
|
|
153
|
+
uf: W.item.uf,
|
|
154
|
+
name: W.item.name,
|
|
155
|
+
value: b?.[W.item.uf]
|
|
156
|
+
})
|
|
157
|
+
})
|
|
158
|
+
]
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
function x({ uf: e, name: t, value: i }) {
|
|
162
|
+
let a = n(e);
|
|
163
|
+
return /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ y("div", {
|
|
164
|
+
className: r.tooltipTitle,
|
|
165
|
+
children: [
|
|
166
|
+
t,
|
|
167
|
+
" (",
|
|
168
|
+
e,
|
|
169
|
+
")"
|
|
170
|
+
]
|
|
171
|
+
}), /* @__PURE__ */ y("div", {
|
|
172
|
+
className: r.tooltipMeta,
|
|
173
|
+
children: [a ? `${a.region} · ${a.cities.length} cidades` : e, typeof i == "number" ? ` · ${i}` : ""]
|
|
174
|
+
})] });
|
|
175
|
+
}
|
|
176
|
+
//#endregion
|
|
177
|
+
export { b as BrazilMap };
|
|
178
|
+
|
|
179
|
+
//# sourceMappingURL=BrazilMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrazilMap.js","names":[],"sources":["../../src/br/BrazilMap.tsx"],"sourcesContent":["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"],"mappings":";;;;;;;;;;;;;AAuFA,SAAgB,EAAU,EACtB,aACA,aACA,WACA,cAAW,WACX,cAAW,WACX,eACA,mBAAgB,IAChB,YAAS,KACT,aAAU,IACV,gBAAa,IACb,WAAQ,6BACR,mBACA,iBAAc,IACd,kBACA,YACA,kBACA,cAAW,IACX,cACA,UACA,GAAG,KACY;CACf,IAAM,IAAe,EAAuB,IAAI,GAC1C,CAAC,GAAO,KAAY,EAAiB,GAAG,GACxC,CAAC,GAAY,KAAiB,EAAuC,IAAI,GACzE,EAAE,UAAO,WAAQ,eAAY,EAAsC,CAAY,GAC/E,IAAU,EAAW,CAAQ;CAYnC,AAVA,QAAgB;EACZ,IAAI,IAAS;EAIb,OAHA,OAAY,cAAW,CAAC,MAAM,MAAM;GAChC,AAAI,KAAQ,EAAc,EAAE,aAAa;EAC7C,CAAC,SACY;GACT,IAAS;EACb;CACJ,GAAG,CAAC,CAAC,GAEL,QAAgB;EACZ,IAAM,IAAO,EAAa;EAC1B,IAAI,CAAC,KAAQ,OAAO,iBAAmB,KAAa;EACpD,IAAM,IAAW,IAAI,gBAAgB,MAAY;GAC7C,IAAM,IAAW,EAAQ,EAAE,EAAE,YAAY;GACzC,AAAI,KAAY,IAAW,KAAG,EAAS,CAAQ;EACnD,CAAC;EAED,OADA,EAAS,QAAQ,CAAI,SACR,EAAS,WAAW;CACrC,GAAG,CAAC,CAAC;CAEL,IAAM,IAAc,QACX,IACE,IAAI,IAAI,MAAM,QAAQ,CAAQ,IAAI,IAAW,CAAC,CAAc,CAAC,oBAD9C,IAAI,IAAI,GAE/B,CAAC,CAAQ,CAAC,GAEP,IAAa,QAAuC;EACtD,IAAI,CAAC,GAAQ,OAAO;EACpB,IAAM,IAAO,OAAO,OAAO,CAAM,CAAC,CAAC,QAAQ,MAAmB,OAAO,KAAM,QAAQ;EAEnF,OADI,EAAK,WAAW,IAAU,OACvB,CAAC,KAAK,IAAI,GAAG,CAAI,GAAG,KAAK,IAAI,GAAG,CAAI,CAAC;CAChD,GAAG,CAAC,CAAM,CAAC,GAEL,IAAS,QAAc;EACzB,IAAI,CAAC,GAAY,OAAO;EACxB,IAAM,IAAa,EACf,EAAiB,EAAW,SAAS,KAAK,MAAM,EAAE,QAAQ,CAAC,GAC3D,GACA,GACA,EAAE,WAAQ,CACd;EAQA,OAAO;GAAE;GAAY,OAPP,EAAW,SAAS,KAAK,OAAa;IAChD,IAAI,EAAQ,WAAW;IACvB,MAAM,EAAQ,WAAW;IACzB,QAAQ,EAAQ,WAAW;IAC3B,GAAG,EAAa,EAAQ,UAAU,CAAU;IAC5C,UAAU,EAAiB,EAAQ,UAAU,CAAU;GAC3D,EACqB;EAAM;CAC/B,GAAG;EAAC;EAAY;EAAO;EAAQ;CAAO,CAAC;CAEvC,SAAS,EAAQ,GAA4B;EACzC,IAAM,IAAI,IAAS;EACnB,IAAI,OAAO,KAAM,UAAU;EAC3B,IAAI,GAAY,OAAO,EAAW,CAAC;EACnC,IAAI,CAAC,GAAY;EACjB,IAAM,CAAC,GAAK,KAAO;EAEnB,OAAO,EAAU,GAAU,GADjB,MAAQ,IAAM,KAAK,IAAI,MAAQ,IAAM,EACT;CAC1C;CAGA,IAAM,IAAW,QACR,IACE,EAAO,MAAM,KAAK,MAAU;EAC/B,IAAM,IAAa,EAAY,IAAI,EAAM,EAAE,GACrC,IAAY,IACZ,KAAA,IACA,IACE,EAAc,EAAM,UACpB,EAAQ,EAAM,EAAE;EACxB,OACI,kBAAC,QAAD;GAEI,WAAW,EAAG,EAAO,OAAO,KAAc,EAAO,QAAQ;GACzD,GAAG,EAAM;GACT,UAAS;GACT,OAAO,IAAY,EAAE,MAAM,EAAU,IAAI,KAAA;GACzC,WAAS,EAAM;GACf,UAAU,IAAW,IAAI,KAAA;GACzB,MAAM,IAAW,WAAW,KAAA;GAC5B,cAAY,EAAM;GAClB,gBAAc,IAAW,IAAa,KAAA;GACtC,SAAS,UAAiB,EAAS,EAAM,EAAE,IAAI,KAAA;GAC/C,aACI,KACO,MAAM,EAAO;IAAE,IAAI,EAAM;IAAI,MAAM,EAAM;GAAK,GAAG,CAAC,IACnD,KAAA;GAEV,cAAc,IAAc,IAAU,KAAA;GACtC,WACI,KACO,MAAM;IACH,CAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,SAC/B,EAAE,eAAe,GACjB,EAAS,EAAM,EAAE;GAEzB,IACA,KAAA;EAEb,GA3BQ,EAAM,EA2Bd;CAET,CAAC,IAvCmB,MAyCrB;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACJ,CAAC;CAED,OACI,kBAAC,OAAD;EACI,KAAK;EACL,WAAW,EAAG,EAAO,KAAK,CAAS;EACnC,OAAO;GAAE;GAAQ,GAAG;EAAM;EAC1B,MAAK;EACL,cAAY;EACZ,GAAI;YANR;GAQM,IAGE,kBAAC,OAAD;IACI,WAAW,EAAO;IAClB,OAAM;IACE;IACR,SAAS,OAAO,EAAM,GAAG;IACzB,qBAAoB;IACpB,GAAI,EAAQ;cAEZ,kBAAC,KAAD;KAAG,WAAW,EAAQ,aAAa,KAAA;eAAnC;MACK;MAEA,KACG,EAAO,MAAM,KAAK,MACd,kBAAC,QAAD;OAEI,WAAW,EAAO;OAClB,GAAG,EAAM,SAAS;OAClB,GAAG,EAAM,SAAS;OAClB,YAAW;OACX,kBAAiB;iBAEhB,EAAM;MACL,GARG,SAAS,EAAM,IAQlB,CACT;MAEJ,KAAW,EAAQ,SAAS,KACzB,kBAAC,GAAD;OACI,YAAY,EAAO;OACV;OACM;MAClB,CAAA;KAEN;;GACF,CAAA,IAnCL,kBAAC,OAAD;IAAK,WAAW,EAAO;cAAU,KAAkB;GAAwB,CAAA;GAsC9E,EAAQ,iBACL,kBAAC,UAAD;IAAQ,MAAK;IAAS,WAAW,EAAO;IAAW,SAAS,EAAQ;cAAO;GAEnE,CAAA;GAGX,KAAe,KACZ,kBAAC,GAAD;IAAY,GAAG,EAAM;IAAG,GAAG,EAAM;cAC5B,IACG,EAAc;KACV,IAAI,EAAM,KAAK;KACf,MAAM,EAAM,KAAK;KACjB,OAAO,IAAS,EAAM,KAAK;IAC/B,CAAC,IAED,kBAAC,GAAD;KACI,IAAI,EAAM,KAAK;KACf,MAAM,EAAM,KAAK;KACjB,OAAO,IAAS,EAAM,KAAK;IAC9B,CAAA;GAEG,CAAA;EAEf;;AAEb;AAGA,SAAS,EAAiB,EAAE,OAAI,SAAM,YAAmD;CACrF,IAAM,IAAQ,EAAS,CAAE;CACzB,OACI,kBAAA,GAAA,EAAA,UAAA,CACI,kBAAC,OAAD;EAAK,WAAW,EAAO;YAAvB;GACK;GAAK;GAAG;GAAG;EACX;KACL,kBAAC,OAAD;EAAK,WAAW,EAAO;YAAvB,CACK,IAAQ,GAAG,EAAM,OAAO,KAAK,EAAM,OAAO,OAAO,YAAY,GAC7D,OAAO,KAAU,WAAW,MAAM,MAAU,EAC5C;GACP,EAAA,CAAA;AAEV"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e=`tempest_map_t-hwx`,t=`tempest_svg_mUsn2`,n=`tempest_loading_55clN`,r=`tempest_state_JV7Hu`,i=`tempest_selected_CNxWu`,a=`tempest_label_PK-ES`,o=`tempest_tooltip_7n2Ui`,s=`tempest_tooltipTitle_PJZp0`,c=`tempest_tooltipMeta_hmNSP`,l=`tempest_marker_5td7B`,u=`tempest_zoomReset_IXmak`,d={map:e,svg:t,loading:n,state:r,selected:i,label:a,tooltip:o,tooltipTitle:s,tooltipMeta:c,marker:l,zoomReset:u};exports.default=d,exports.label=a,exports.loading=n,exports.map=e,exports.marker=l,exports.selected=i,exports.state=r,exports.svg=t,exports.tooltip=o,exports.tooltipMeta=c,exports.tooltipTitle=s,exports.zoomReset=u;
|
|
2
|
+
//# sourceMappingURL=BrazilMap.module.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrazilMap.module.cjs","names":[],"sources":["../../src/br/BrazilMap.module.css"],"sourcesContent":[".map {\n position: relative;\n width: 100%;\n background: var(--tempest-surface-2);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-lg);\n font-family: var(--tempest-font-sans);\n overflow: hidden;\n}\n\n.svg {\n display: block;\n width: 100%;\n}\n\n.loading {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-sm);\n}\n\n.state {\n fill: var(--tempest-surface-3);\n stroke: var(--tempest-border-strong);\n stroke-width: 0.75;\n stroke-linejoin: round;\n transition:\n fill 0.12s ease,\n opacity 0.12s ease;\n}\n\n.state[role=\"button\"] {\n cursor: pointer;\n}\n\n.state[role=\"button\"]:hover {\n fill: var(--tempest-primary-soft);\n}\n\n.state[role=\"button\"]:focus-visible {\n outline: none;\n stroke: var(--tempest-primary);\n stroke-width: 1.5;\n}\n\n.selected {\n fill: var(--tempest-primary);\n stroke: var(--tempest-primary-active);\n stroke-width: 1.25;\n}\n\n.selected:hover {\n fill: var(--tempest-primary-hover);\n}\n\n.label {\n fill: var(--tempest-text);\n font-size: 10px;\n font-weight: var(--tempest-weight-medium);\n pointer-events: none;\n user-select: none;\n}\n\n.tooltip {\n position: absolute;\n z-index: 2;\n transform: translate(12px, 12px);\n max-width: 240px;\n padding: var(--tempest-space-2) var(--tempest-space-3);\n background: var(--tempest-surface);\n color: var(--tempest-text);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n box-shadow: var(--tempest-shadow-md, 0 4px 12px rgb(0 0 0 / 0.12));\n font-size: var(--tempest-text-xs);\n line-height: var(--tempest-leading-snug);\n pointer-events: none;\n white-space: nowrap;\n}\n\n.tooltipTitle {\n font-weight: var(--tempest-weight-semibold);\n font-size: var(--tempest-text-sm);\n}\n\n.tooltipMeta {\n color: var(--tempest-text-muted);\n}\n\n.marker {\n stroke: var(--tempest-surface);\n stroke-width: 2;\n}\n\n.marker[role=\"button\"] {\n cursor: pointer;\n}\n\n.marker[role=\"button\"]:hover {\n stroke: var(--tempest-primary-active);\n}\n\n.marker[role=\"button\"]:focus-visible {\n outline: none;\n stroke: var(--tempest-primary);\n stroke-width: 3;\n}\n\n.zoomReset {\n position: absolute;\n top: var(--tempest-space-2);\n right: var(--tempest-space-2);\n padding: var(--tempest-space-1) var(--tempest-space-2);\n font-family: var(--tempest-font-sans);\n font-size: var(--tempest-text-xs);\n color: var(--tempest-text);\n background: var(--tempest-surface);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-sm);\n cursor: pointer;\n}\n\n.zoomReset:hover {\n background: var(--tempest-surface-2);\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//#region src/br/BrazilMap.module.css
|
|
2
|
+
var e = "tempest_map_t-hwx", t = "tempest_svg_mUsn2", n = "tempest_loading_55clN", r = "tempest_state_JV7Hu", i = "tempest_selected_CNxWu", a = "tempest_label_PK-ES", o = "tempest_tooltip_7n2Ui", s = "tempest_tooltipTitle_PJZp0", c = "tempest_tooltipMeta_hmNSP", l = "tempest_marker_5td7B", u = "tempest_zoomReset_IXmak", d = {
|
|
3
|
+
map: e,
|
|
4
|
+
svg: t,
|
|
5
|
+
loading: n,
|
|
6
|
+
state: r,
|
|
7
|
+
selected: i,
|
|
8
|
+
label: a,
|
|
9
|
+
tooltip: o,
|
|
10
|
+
tooltipTitle: s,
|
|
11
|
+
tooltipMeta: c,
|
|
12
|
+
marker: l,
|
|
13
|
+
zoomReset: u
|
|
14
|
+
};
|
|
15
|
+
//#endregion
|
|
16
|
+
export { d as default, a as label, n as loading, e as map, l as marker, i as selected, r as state, t as svg, o as tooltip, c as tooltipMeta, s as tooltipTitle, u as zoomReset };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=BrazilMap.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrazilMap.module.js","names":[],"sources":["../../src/br/BrazilMap.module.css"],"sourcesContent":[".map {\n position: relative;\n width: 100%;\n background: var(--tempest-surface-2);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-lg);\n font-family: var(--tempest-font-sans);\n overflow: hidden;\n}\n\n.svg {\n display: block;\n width: 100%;\n}\n\n.loading {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-sm);\n}\n\n.state {\n fill: var(--tempest-surface-3);\n stroke: var(--tempest-border-strong);\n stroke-width: 0.75;\n stroke-linejoin: round;\n transition:\n fill 0.12s ease,\n opacity 0.12s ease;\n}\n\n.state[role=\"button\"] {\n cursor: pointer;\n}\n\n.state[role=\"button\"]:hover {\n fill: var(--tempest-primary-soft);\n}\n\n.state[role=\"button\"]:focus-visible {\n outline: none;\n stroke: var(--tempest-primary);\n stroke-width: 1.5;\n}\n\n.selected {\n fill: var(--tempest-primary);\n stroke: var(--tempest-primary-active);\n stroke-width: 1.25;\n}\n\n.selected:hover {\n fill: var(--tempest-primary-hover);\n}\n\n.label {\n fill: var(--tempest-text);\n font-size: 10px;\n font-weight: var(--tempest-weight-medium);\n pointer-events: none;\n user-select: none;\n}\n\n.tooltip {\n position: absolute;\n z-index: 2;\n transform: translate(12px, 12px);\n max-width: 240px;\n padding: var(--tempest-space-2) var(--tempest-space-3);\n background: var(--tempest-surface);\n color: var(--tempest-text);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n box-shadow: var(--tempest-shadow-md, 0 4px 12px rgb(0 0 0 / 0.12));\n font-size: var(--tempest-text-xs);\n line-height: var(--tempest-leading-snug);\n pointer-events: none;\n white-space: nowrap;\n}\n\n.tooltipTitle {\n font-weight: var(--tempest-weight-semibold);\n font-size: var(--tempest-text-sm);\n}\n\n.tooltipMeta {\n color: var(--tempest-text-muted);\n}\n\n.marker {\n stroke: var(--tempest-surface);\n stroke-width: 2;\n}\n\n.marker[role=\"button\"] {\n cursor: pointer;\n}\n\n.marker[role=\"button\"]:hover {\n stroke: var(--tempest-primary-active);\n}\n\n.marker[role=\"button\"]:focus-visible {\n outline: none;\n stroke: var(--tempest-primary);\n stroke-width: 3;\n}\n\n.zoomReset {\n position: absolute;\n top: var(--tempest-space-2);\n right: var(--tempest-space-2);\n padding: var(--tempest-space-1) var(--tempest-space-2);\n font-family: var(--tempest-font-sans);\n font-size: var(--tempest-text-xs);\n color: var(--tempest-text);\n background: var(--tempest-surface);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-sm);\n cursor: pointer;\n}\n\n.zoomReset:hover {\n background: var(--tempest-surface-2);\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("../components/Select/Select.cjs"),t=require("./locations.cjs");let n=require("react"),r=require("react/jsx-runtime");function i({defaultUf:i,defaultCity:a,onChange:o,stateLabel:s=`Estado`,cityLabel:c=`Cidade`,statePlaceholder:l=`Selecione o estado`,cityPlaceholder:u=`Selecione a cidade`,disabled:d=!1,layout:f=`row`}){let[p,m]=(0,n.useState)(i??null),[h,g]=(0,n.useState)(a??null),_=(0,n.useMemo)(()=>t.listStates().map(e=>({value:e.uf,label:e.name})),[]),v=(0,n.useMemo)(()=>p?t.cityChoices(p):[],[p]);function y(e){let n=t.normalizeUf(e);m(n),g(null),o?.({uf:n,city:null})}function b(e){let t=e||null;g(t),o?.({uf:p,city:t})}return(0,r.jsxs)(`div`,{style:{display:`flex`,flexDirection:f===`row`?`row`:`column`,gap:`var(--tempest-space-3, 12px)`,flexWrap:`wrap`},children:[(0,r.jsx)(e.Select,{label:s,placeholder:l,options:_,value:p??``,disabled:d,onChange:e=>y(e.target.value),style:{minWidth:0}}),(0,r.jsx)(e.Select,{label:c,placeholder:u,options:v,value:h??``,disabled:d||!p,onChange:e=>b(e.target.value),style:{minWidth:0}})]})}exports.BrazilStateCitySelect=i;
|
|
2
|
+
//# sourceMappingURL=BrazilStateCitySelect.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrazilStateCitySelect.cjs","names":[],"sources":["../../src/br/BrazilStateCitySelect.tsx"],"sourcesContent":["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"],"mappings":"sIA0CA,SAAgB,EAAsB,CAClC,YACA,cACA,WACA,aAAa,SACb,YAAY,SACZ,mBAAmB,qBACnB,kBAAkB,qBAClB,WAAW,GACX,SAAS,OACgC,CACzC,GAAM,CAAC,EAAI,IAAA,EAAA,EAAA,SAAA,CAA6B,GAAa,IAAI,EACnD,CAAC,EAAM,IAAA,EAAA,EAAA,SAAA,CAAmC,GAAe,IAAI,EAE7D,GAAA,EAAA,EAAA,QAAA,KACI,EAAA,WAAW,CAAC,CAAC,IAAK,IAAO,CAAE,MAAO,EAAE,GAAI,MAAO,EAAE,IAAK,EAAE,EAC9D,CAAC,CACL,EACM,GAAA,EAAA,EAAA,QAAA,KAA6B,EAAK,EAAA,YAAY,CAAE,EAAI,CAAC,EAAI,CAAC,CAAE,CAAC,EAEnE,SAAS,EAAS,EAAoB,CAClC,IAAM,EAAS,EAAA,YAAY,CAAI,EAC/B,EAAM,CAAM,EACZ,EAAQ,IAAI,EACZ,IAAW,CAAE,GAAI,EAAQ,KAAM,IAAK,CAAC,CACzC,CAEA,SAAS,EAAW,EAAoB,CACpC,IAAM,EAAW,GAAQ,KACzB,EAAQ,CAAQ,EAChB,IAAW,CAAE,KAAI,KAAM,CAAS,CAAC,CACrC,CAEA,OACI,EAAA,EAAA,KAAA,CAAC,MAAD,CACI,MAAO,CACH,QAAS,OACT,cAAe,IAAW,MAAQ,MAAQ,SAC1C,IAAK,+BACL,SAAU,MACd,WANJ,EAQI,EAAA,EAAA,IAAA,CAAC,EAAA,OAAD,CACI,MAAO,EACP,YAAa,EACb,QAAS,EACT,MAAO,GAAM,GACH,WACV,SAAW,GAAM,EAAS,EAAE,OAAO,KAAK,EACxC,MAAO,CAAE,SAAU,CAAE,CACxB,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,EAAA,OAAD,CACI,MAAO,EACP,YAAa,EACb,QAAS,EACT,MAAO,GAAQ,GACf,SAAU,GAAY,CAAC,EACvB,SAAW,GAAM,EAAW,EAAE,OAAO,KAAK,EAC1C,MAAO,CAAE,SAAU,CAAE,CACxB,CAAA,CACA,GAEb"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Select as e } from "../components/Select/Select.js";
|
|
2
|
+
import { cityChoices as t, listStates as n, normalizeUf as r } from "./locations.js";
|
|
3
|
+
import { useMemo as i, useState as a } from "react";
|
|
4
|
+
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
5
|
+
//#region src/br/BrazilStateCitySelect.tsx
|
|
6
|
+
function c({ defaultUf: c, defaultCity: l, onChange: u, stateLabel: d = "Estado", cityLabel: f = "Cidade", statePlaceholder: p = "Selecione o estado", cityPlaceholder: m = "Selecione a cidade", disabled: h = !1, layout: g = "row" }) {
|
|
7
|
+
let [_, v] = a(c ?? null), [y, b] = a(l ?? null), x = i(() => n().map((e) => ({
|
|
8
|
+
value: e.uf,
|
|
9
|
+
label: e.name
|
|
10
|
+
})), []), S = i(() => _ ? t(_) : [], [_]);
|
|
11
|
+
function C(e) {
|
|
12
|
+
let t = r(e);
|
|
13
|
+
v(t), b(null), u?.({
|
|
14
|
+
uf: t,
|
|
15
|
+
city: null
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
function w(e) {
|
|
19
|
+
let t = e || null;
|
|
20
|
+
b(t), u?.({
|
|
21
|
+
uf: _,
|
|
22
|
+
city: t
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
return /* @__PURE__ */ s("div", {
|
|
26
|
+
style: {
|
|
27
|
+
display: "flex",
|
|
28
|
+
flexDirection: g === "row" ? "row" : "column",
|
|
29
|
+
gap: "var(--tempest-space-3, 12px)",
|
|
30
|
+
flexWrap: "wrap"
|
|
31
|
+
},
|
|
32
|
+
children: [/* @__PURE__ */ o(e, {
|
|
33
|
+
label: d,
|
|
34
|
+
placeholder: p,
|
|
35
|
+
options: x,
|
|
36
|
+
value: _ ?? "",
|
|
37
|
+
disabled: h,
|
|
38
|
+
onChange: (e) => C(e.target.value),
|
|
39
|
+
style: { minWidth: 0 }
|
|
40
|
+
}), /* @__PURE__ */ o(e, {
|
|
41
|
+
label: f,
|
|
42
|
+
placeholder: m,
|
|
43
|
+
options: S,
|
|
44
|
+
value: y ?? "",
|
|
45
|
+
disabled: h || !_,
|
|
46
|
+
onChange: (e) => w(e.target.value),
|
|
47
|
+
style: { minWidth: 0 }
|
|
48
|
+
})]
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
//#endregion
|
|
52
|
+
export { c as BrazilStateCitySelect };
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=BrazilStateCitySelect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrazilStateCitySelect.js","names":[],"sources":["../../src/br/BrazilStateCitySelect.tsx"],"sourcesContent":["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"],"mappings":";;;;;AA0CA,SAAgB,EAAsB,EAClC,cACA,gBACA,aACA,gBAAa,UACb,eAAY,UACZ,sBAAmB,sBACnB,qBAAkB,sBAClB,cAAW,IACX,YAAS,SACgC;CACzC,IAAM,CAAC,GAAI,KAAS,EAAoB,KAAa,IAAI,GACnD,CAAC,GAAM,KAAW,EAAwB,KAAe,IAAI,GAE7D,IAAe,QACX,EAAW,CAAC,CAAC,KAAK,OAAO;EAAE,OAAO,EAAE;EAAI,OAAO,EAAE;CAAK,EAAE,GAC9D,CAAC,CACL,GACM,IAAc,QAAe,IAAK,EAAY,CAAE,IAAI,CAAC,GAAI,CAAC,CAAE,CAAC;CAEnE,SAAS,EAAS,GAAoB;EAClC,IAAM,IAAS,EAAY,CAAI;EAG/B,AAFA,EAAM,CAAM,GACZ,EAAQ,IAAI,GACZ,IAAW;GAAE,IAAI;GAAQ,MAAM;EAAK,CAAC;CACzC;CAEA,SAAS,EAAW,GAAoB;EACpC,IAAM,IAAW,KAAQ;EAEzB,AADA,EAAQ,CAAQ,GAChB,IAAW;GAAE;GAAI,MAAM;EAAS,CAAC;CACrC;CAEA,OACI,kBAAC,OAAD;EACI,OAAO;GACH,SAAS;GACT,eAAe,MAAW,QAAQ,QAAQ;GAC1C,KAAK;GACL,UAAU;EACd;YANJ,CAQI,kBAAC,GAAD;GACI,OAAO;GACP,aAAa;GACb,SAAS;GACT,OAAO,KAAM;GACH;GACV,WAAW,MAAM,EAAS,EAAE,OAAO,KAAK;GACxC,OAAO,EAAE,UAAU,EAAE;EACxB,CAAA,GACD,kBAAC,GAAD;GACI,OAAO;GACP,aAAa;GACb,SAAS;GACT,OAAO,KAAQ;GACf,UAAU,KAAY,CAAC;GACvB,WAAW,MAAM,EAAW,EAAE,OAAO,KAAK;GAC1C,OAAO,EAAE,UAAU,EAAE;EACxB,CAAA,CACA;;AAEb"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("../utils/cn.cjs"),t=require("../geo/projection.cjs"),n=require("./locations.cjs"),r=require("./state-geo.cjs"),i=require("./BrazilMap.module.cjs"),a=require("./MapMarkers.cjs"),o=require("./MapTooltip.cjs"),s=require("./use-map-zoom.cjs"),c=require("./svg-utils.cjs"),l=require("./use-map-hover.cjs");let u=require("react"),d=require("react/jsx-runtime");function f({uf:f,selected:p,onSelect:m,values:h,minColor:g=`#dbeafe`,maxColor:_=`#2563eb`,colorScale:v,height:y=440,padding:b=12,showLabels:x=!1,label:S,loadingContent:C,showTooltip:w=!0,renderTooltip:T,markers:E,onMarkerClick:D,zoomable:O=!1,className:k,style:A,...j}){let M=(0,u.useRef)(null),[N,P]=(0,u.useState)(600),[F,I]=(0,u.useState)(null),L=s.useMapZoom(O),{hover:R,onMove:z,onLeave:B}=l.useMapHover(M);(0,u.useEffect)(()=>{let e=!0;return I(null),r.loadStateMunicipalities(f).then(t=>{e&&I(t)}),()=>{e=!1}},[f]),(0,u.useEffect)(()=>{let e=M.current;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(e=>{let t=e[0]?.contentRect.width;t&&t>0&&P(t)});return t.observe(e),()=>t.disconnect()},[]);let V=(0,u.useMemo)(()=>p?new Set(Array.isArray(p)?p:[p]):new Set,[p]),H=(0,u.useMemo)(()=>{if(!h)return null;let e=Object.values(h).filter(e=>typeof e==`number`);return e.length===0?null:[Math.min(...e),Math.max(...e)]},[h]),U=(0,u.useMemo)(()=>{if(!F)return null;let e=t.fitProjection(c.geometriesBounds(F.features.map(e=>e.geometry)),N,y,{padding:b});return{projection:e,items:F.features.map(t=>({id:t.properties.id,name:t.properties.name,d:c.geometryPath(t.geometry,e),centroid:c.geometryCentroid(t.geometry,e)}))}},[F,N,y,b]);function W(e,t){let n=h?.[e]??h?.[t];if(typeof n!=`number`)return;if(v)return v(n);if(!H)return;let[r,i]=H;return c.lerpColor(g,_,i===r?1:(n-r)/(i-r))}let G=(0,u.useMemo)(()=>U?U.items.map(t=>{let n=V.has(t.id)||V.has(t.name),r=n?void 0:W(t.id,t.name);return(0,d.jsx)(`path`,{className:e.cn(i.default.state,n&&i.default.selected),d:t.d,fillRule:`evenodd`,style:r?{fill:r}:void 0,"data-city-id":t.id,"data-city":t.name,tabIndex:m?0:void 0,role:m?`button`:void 0,"aria-label":t.name,"aria-pressed":m?n:void 0,onClick:m?()=>m({id:t.id,name:t.name}):void 0,onMouseMove:w?e=>z({id:t.id,name:t.name},e):void 0,onMouseLeave:w?B:void 0,onKeyDown:m?e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),m({id:t.id,name:t.name}))}:void 0},t.id)}):null,[U,V,h,v,g,_,m,w,z,B]),K=S??`Municípios de ${n.getState(f)?.name??f}`;return(0,d.jsxs)(`div`,{ref:M,className:e.cn(i.default.map,k),style:{height:y,...A},role:`group`,"aria-label":K,...j,children:[U?(0,d.jsx)(`svg`,{className:i.default.svg,width:`100%`,height:y,viewBox:`0 0 ${N} ${y}`,preserveAspectRatio:`xMidYMid meet`,...L.handlers,children:(0,d.jsxs)(`g`,{transform:L.transform||void 0,children:[G,x&&U.items.map(e=>(0,d.jsx)(`text`,{className:i.default.label,x:e.centroid.x,y:e.centroid.y,textAnchor:`middle`,dominantBaseline:`central`,children:e.name},`label-${e.id}`)),E&&E.length>0&&(0,d.jsx)(a.MapMarkers,{projection:U.projection,markers:E,onMarkerClick:D})]})}):(0,d.jsx)(`div`,{className:i.default.loading,children:C??`Carregando municípios…`}),L.isTransformed&&(0,d.jsx)(`button`,{type:`button`,className:i.default.zoomReset,onClick:L.reset,children:`Reset`}),w&&R&&(0,d.jsx)(o.MapTooltip,{x:R.x,y:R.y,children:T?T({...R.item,value:h?.[R.item.id]??h?.[R.item.name]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(`div`,{className:i.default.tooltipTitle,children:R.item.name}),(0,d.jsxs)(`div`,{className:i.default.tooltipMeta,children:[`IBGE `,R.item.id,(()=>{let e=h?.[R.item.id]??h?.[R.item.name];return typeof e==`number`?` · ${e}`:``})()]})]})})]})}exports.BrazilStateMap=f;
|
|
2
|
+
//# sourceMappingURL=BrazilStateMap.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrazilStateMap.cjs","names":[],"sources":["../../src/br/BrazilStateMap.tsx"],"sourcesContent":["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"],"mappings":"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"}
|