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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TrajectoryMap.cjs","names":[],"sources":["../../src/geo/TrajectoryMap.tsx"],"sourcesContent":["import { lazy, Suspense, useEffect, useMemo, useRef, useState, type HTMLAttributes } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport { boundingBox, expandBounds } from \"./bounds\";\nimport { haversineKm } from \"./distance\";\nimport { fitProjection, type PixelPoint } from \"./projection\";\nimport type { Coordinate, GeoMarker } from \"./types\";\nimport styles from \"./TrajectoryMap.module.css\";\n\n// Leaflet layer is loaded on demand — only when a `tileUrl` is supplied, so\n// apps that stick to the tile-free SVG never pull leaflet into their bundle.\nconst LeafletTrajectory = lazy(() =>\n import(\"./leaflet-map\").then((m) => ({ default: m.LeafletTrajectory })),\n);\n\nexport interface TrajectoryMapProps extends Omit<HTMLAttributes<HTMLDivElement>, \"children\"> {\n /** Ordered coordinates forming the trajectory. */\n points: readonly Coordinate[];\n /** Optional \"current position\" marker, drawn on top of the path. */\n current?: Coordinate | null;\n /** Viewport height in pixels. Default: `320`. */\n height?: number;\n /** Inner padding in pixels kept clear on every edge. Default: `24`. */\n padding?: number;\n /** Draw a light reference grid behind the path (SVG mode). Default: `true`. */\n showGrid?: boolean;\n /** Draw a distance scale bar (SVG mode). Default: `true`. */\n showScale?: boolean;\n /** Path stroke color. Default: the primary token. */\n strokeColor?: string;\n /**\n * Tile URL template (`{z}/{x}/{y}`) of a map server **you host**. When set,\n * the map upgrades to a real Leaflet tile layer (requires `leaflet` to be\n * installed). Omit for the zero-dependency, zero-network SVG plot.\n */\n tileUrl?: string;\n /** Attribution text shown over the tile layer. */\n tileAttribution?: string;\n /** Accessible label for the map region. Default: `\"Trajetória\"`. */\n label?: string;\n /** Point markers to overlay (e.g. stops, POIs). Included in the auto-fit. */\n markers?: readonly GeoMarker[];\n /** Fired when a marker is clicked. */\n onMarkerClick?: (marker: GeoMarker, index: number) => void;\n}\n\nconst NICE_KM_STEPS = [0.05, 0.1, 0.25, 0.5, 1, 2, 5, 10, 25, 50, 100, 250, 500, 1000] as const;\n\n/** Pick the largest \"nice\" distance whose bar fits within `maxPixels`. */\nfunction pickScaleKm(kmPerPixel: number, maxPixels: number): { km: number; pixels: number } {\n const maxKm = kmPerPixel * maxPixels;\n let chosen: number = NICE_KM_STEPS[0];\n for (const step of NICE_KM_STEPS) {\n if (step <= maxKm) chosen = step;\n }\n return { km: chosen, pixels: chosen / kmPerPixel };\n}\n\n/** Format a distance in km for the scale bar (meters below 1 km). */\nfunction formatScale(km: number): string {\n return km < 1 ? `${Math.round(km * 1000)} m` : `${km % 1 === 0 ? km : km.toFixed(1)} km`;\n}\n\n/**\n * Plot a GPS trajectory. By default it renders a **tile-free SVG** map (Web\n * Mercator projection, auto-fit to the points, optional grid + scale bar) —\n * 100% self-contained, no external tiles or paid API. Pass `tileUrl` pointing\n * at a map server **you host** to upgrade to a real Leaflet tile layer.\n *\n * @example\n * // Zero-dependency SVG plot\n * <TrajectoryMap points={points} current={lastPoint} height={360} />\n *\n * @example\n * // Real tiles from your own server (requires `leaflet` installed)\n * <TrajectoryMap points={points} tileUrl=\"https://tiles.internal/{z}/{x}/{y}.png\" />\n */\nexport function TrajectoryMap({\n points,\n current,\n height = 320,\n padding = 24,\n showGrid = true,\n showScale = true,\n strokeColor,\n tileUrl,\n tileAttribution,\n label = \"Trajetória\",\n markers,\n onMarkerClick,\n className,\n style,\n ...rest\n}: TrajectoryMapProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n const [width, setWidth] = useState<number>(600);\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 allPoints = useMemo<Coordinate[]>(\n () => [...points, ...(current ? [current] : []), ...(markers ?? [])],\n [points, current, markers],\n );\n\n const svg = useMemo(() => {\n const box = boundingBox(allPoints);\n if (!box) return null;\n\n const projection = fitProjection(expandBounds(box, 0.12), width, height, { padding });\n const pixels: PixelPoint[] = points.map((p) => projection.project(p));\n const polyline = pixels.map((p) => `${p.x.toFixed(1)},${p.y.toFixed(1)}`).join(\" \");\n\n const startPixel = pixels[0] ?? null;\n const endPixel = pixels.length > 0 ? pixels[pixels.length - 1] : null;\n const currentPixel = current ? projection.project(current) : null;\n\n // Distance-per-pixel at the map center, for the scale bar: measure the\n // center → east-edge span in both km (haversine) and pixels (projected).\n const centerCoord = {\n latitude: (box.minLatitude + box.maxLatitude) / 2,\n longitude: (box.minLongitude + box.maxLongitude) / 2,\n };\n const center = projection.project(centerCoord);\n const eastRef = projection.project({ ...centerCoord, longitude: box.maxLongitude });\n const edgeKm = haversineKm(centerCoord, { ...centerCoord, longitude: box.maxLongitude });\n const edgePixels = Math.abs(eastRef.x - center.x) || 1;\n const kmPerPixel = edgeKm / edgePixels || 0;\n\n const markerPixels = (markers ?? []).map((m) => ({ marker: m, p: projection.project(m) }));\n\n return { polyline, startPixel, endPixel, currentPixel, kmPerPixel, markerPixels };\n }, [allPoints, points, current, markers, width, height, padding]);\n\n // ── Leaflet tile mode ────────────────────────────────────────────────────\n if (tileUrl) {\n return (\n <div\n ref={containerRef}\n className={cn(styles.map, className)}\n style={{ height, ...style }}\n role=\"img\"\n aria-label={label}\n {...rest}\n >\n <Suspense fallback={<div className={styles.loading}>Carregando mapa…</div>}>\n <LeafletTrajectory\n points={points}\n current={current}\n tileUrl={tileUrl}\n tileAttribution={tileAttribution}\n strokeColor={strokeColor}\n />\n </Suspense>\n </div>\n );\n }\n\n // ── Tile-free SVG mode ─────────────────────────────────────────────────────\n const scale =\n showScale && svg && svg.kmPerPixel > 0\n ? pickScaleKm(svg.kmPerPixel, Math.min(120, width * 0.35))\n : null;\n\n return (\n <div\n ref={containerRef}\n className={cn(styles.map, className)}\n style={{ height, ...style }}\n role=\"img\"\n aria-label={label}\n {...rest}\n >\n {!svg ? (\n <div className={styles.empty}>Sem pontos de trajetória ainda.</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 >\n {showGrid && (\n <g className={styles.grid}>\n {[0.25, 0.5, 0.75].map((f) => (\n <line\n key={`h${f}`}\n x1={0}\n y1={height * f}\n x2={width}\n y2={height * f}\n />\n ))}\n {[0.25, 0.5, 0.75].map((f) => (\n <line\n key={`v${f}`}\n x1={width * f}\n y1={0}\n x2={width * f}\n y2={height}\n />\n ))}\n </g>\n )}\n\n {svg.polyline && (\n <polyline\n className={styles.path}\n points={svg.polyline}\n fill=\"none\"\n stroke={strokeColor}\n data-testid=\"trajectory-path\"\n />\n )}\n\n {svg.startPixel && (\n <circle\n className={styles.start}\n cx={svg.startPixel.x}\n cy={svg.startPixel.y}\n r={5}\n />\n )}\n {svg.endPixel && !current && (\n <circle\n className={styles.end}\n cx={svg.endPixel.x}\n cy={svg.endPixel.y}\n r={5}\n />\n )}\n {svg.currentPixel && (\n <>\n <circle\n className={styles.pulse}\n cx={svg.currentPixel.x}\n cy={svg.currentPixel.y}\n r={10}\n />\n <circle\n className={styles.current}\n cx={svg.currentPixel.x}\n cy={svg.currentPixel.y}\n r={5}\n />\n </>\n )}\n\n {svg.markerPixels.map(({ marker, p }, i) => {\n const interactive = Boolean(onMarkerClick);\n return (\n <circle\n key={marker.id ?? i}\n className={styles.marker}\n cx={p.x}\n cy={p.y}\n r={marker.radius ?? 6}\n style={marker.color ? { fill: marker.color } : undefined}\n data-marker-id={marker.id ?? i}\n tabIndex={interactive ? 0 : undefined}\n role={interactive ? \"button\" : undefined}\n aria-label={marker.label}\n onClick={interactive ? () => onMarkerClick?.(marker, i) : undefined}\n onKeyDown={\n interactive\n ? (e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n onMarkerClick?.(marker, i);\n }\n }\n : undefined\n }\n >\n {marker.label ? <title>{marker.label}</title> : null}\n </circle>\n );\n })}\n\n {scale && (\n <g\n className={styles.scale}\n transform={`translate(${padding}, ${height - padding})`}\n >\n <line x1={0} y1={0} x2={scale.pixels} y2={0} />\n <line x1={0} y1={-4} x2={0} y2={4} />\n <line x1={scale.pixels} y1={-4} x2={scale.pixels} y2={4} />\n <text x={scale.pixels / 2} y={-8} textAnchor=\"middle\">\n {formatScale(scale.km)}\n </text>\n </g>\n )}\n </svg>\n )}\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
import { cn as e } from "../utils/cn.js";
|
|
2
|
+
import { haversineKm as t } from "./distance.js";
|
|
3
|
+
import { boundingBox as n, expandBounds as r } from "./bounds.js";
|
|
4
|
+
import { fitProjection as i } from "./projection.js";
|
|
5
|
+
import a from "./TrajectoryMap.module.js";
|
|
6
|
+
import { Suspense as o, lazy as s, useEffect as c, useMemo as l, useRef as u, useState as d } from "react";
|
|
7
|
+
import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
8
|
+
//#region src/geo/TrajectoryMap.tsx
|
|
9
|
+
var h = s(() => import("./leaflet-map.js").then((e) => ({ default: e.LeafletTrajectory }))), g = [
|
|
10
|
+
.05,
|
|
11
|
+
.1,
|
|
12
|
+
.25,
|
|
13
|
+
.5,
|
|
14
|
+
1,
|
|
15
|
+
2,
|
|
16
|
+
5,
|
|
17
|
+
10,
|
|
18
|
+
25,
|
|
19
|
+
50,
|
|
20
|
+
100,
|
|
21
|
+
250,
|
|
22
|
+
500,
|
|
23
|
+
1e3
|
|
24
|
+
];
|
|
25
|
+
function _(e, t) {
|
|
26
|
+
let n = e * t, r = g[0];
|
|
27
|
+
for (let e of g) e <= n && (r = e);
|
|
28
|
+
return {
|
|
29
|
+
km: r,
|
|
30
|
+
pixels: r / e
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function v(e) {
|
|
34
|
+
return e < 1 ? `${Math.round(e * 1e3)} m` : `${e % 1 == 0 ? e : e.toFixed(1)} km`;
|
|
35
|
+
}
|
|
36
|
+
function y({ points: s, current: g, height: y = 320, padding: b = 24, showGrid: x = !0, showScale: S = !0, strokeColor: C, tileUrl: w, tileAttribution: T, label: E = "Trajetória", markers: D, onMarkerClick: O, className: k, style: A, ...j }) {
|
|
37
|
+
let M = u(null), [N, P] = d(600);
|
|
38
|
+
c(() => {
|
|
39
|
+
let e = M.current;
|
|
40
|
+
if (!e || typeof ResizeObserver > "u") return;
|
|
41
|
+
let t = new ResizeObserver((e) => {
|
|
42
|
+
let t = e[0]?.contentRect.width;
|
|
43
|
+
t && t > 0 && P(t);
|
|
44
|
+
});
|
|
45
|
+
return t.observe(e), () => t.disconnect();
|
|
46
|
+
}, []);
|
|
47
|
+
let F = l(() => [
|
|
48
|
+
...s,
|
|
49
|
+
...g ? [g] : [],
|
|
50
|
+
...D ?? []
|
|
51
|
+
], [
|
|
52
|
+
s,
|
|
53
|
+
g,
|
|
54
|
+
D
|
|
55
|
+
]), I = l(() => {
|
|
56
|
+
let e = n(F);
|
|
57
|
+
if (!e) return null;
|
|
58
|
+
let a = i(r(e, .12), N, y, { padding: b }), o = s.map((e) => a.project(e)), c = o.map((e) => `${e.x.toFixed(1)},${e.y.toFixed(1)}`).join(" "), l = o[0] ?? null, u = o.length > 0 ? o[o.length - 1] : null, d = g ? a.project(g) : null, f = {
|
|
59
|
+
latitude: (e.minLatitude + e.maxLatitude) / 2,
|
|
60
|
+
longitude: (e.minLongitude + e.maxLongitude) / 2
|
|
61
|
+
}, p = a.project(f), m = a.project({
|
|
62
|
+
...f,
|
|
63
|
+
longitude: e.maxLongitude
|
|
64
|
+
});
|
|
65
|
+
return {
|
|
66
|
+
polyline: c,
|
|
67
|
+
startPixel: l,
|
|
68
|
+
endPixel: u,
|
|
69
|
+
currentPixel: d,
|
|
70
|
+
kmPerPixel: t(f, {
|
|
71
|
+
...f,
|
|
72
|
+
longitude: e.maxLongitude
|
|
73
|
+
}) / (Math.abs(m.x - p.x) || 1) || 0,
|
|
74
|
+
markerPixels: (D ?? []).map((e) => ({
|
|
75
|
+
marker: e,
|
|
76
|
+
p: a.project(e)
|
|
77
|
+
}))
|
|
78
|
+
};
|
|
79
|
+
}, [
|
|
80
|
+
F,
|
|
81
|
+
s,
|
|
82
|
+
g,
|
|
83
|
+
D,
|
|
84
|
+
N,
|
|
85
|
+
y,
|
|
86
|
+
b
|
|
87
|
+
]);
|
|
88
|
+
if (w) return /* @__PURE__ */ p("div", {
|
|
89
|
+
ref: M,
|
|
90
|
+
className: e(a.map, k),
|
|
91
|
+
style: {
|
|
92
|
+
height: y,
|
|
93
|
+
...A
|
|
94
|
+
},
|
|
95
|
+
role: "img",
|
|
96
|
+
"aria-label": E,
|
|
97
|
+
...j,
|
|
98
|
+
children: /* @__PURE__ */ p(o, {
|
|
99
|
+
fallback: /* @__PURE__ */ p("div", {
|
|
100
|
+
className: a.loading,
|
|
101
|
+
children: "Carregando mapa…"
|
|
102
|
+
}),
|
|
103
|
+
children: /* @__PURE__ */ p(h, {
|
|
104
|
+
points: s,
|
|
105
|
+
current: g,
|
|
106
|
+
tileUrl: w,
|
|
107
|
+
tileAttribution: T,
|
|
108
|
+
strokeColor: C
|
|
109
|
+
})
|
|
110
|
+
})
|
|
111
|
+
});
|
|
112
|
+
let L = S && I && I.kmPerPixel > 0 ? _(I.kmPerPixel, Math.min(120, N * .35)) : null;
|
|
113
|
+
return /* @__PURE__ */ p("div", {
|
|
114
|
+
ref: M,
|
|
115
|
+
className: e(a.map, k),
|
|
116
|
+
style: {
|
|
117
|
+
height: y,
|
|
118
|
+
...A
|
|
119
|
+
},
|
|
120
|
+
role: "img",
|
|
121
|
+
"aria-label": E,
|
|
122
|
+
...j,
|
|
123
|
+
children: I ? /* @__PURE__ */ m("svg", {
|
|
124
|
+
className: a.svg,
|
|
125
|
+
width: "100%",
|
|
126
|
+
height: y,
|
|
127
|
+
viewBox: `0 0 ${N} ${y}`,
|
|
128
|
+
preserveAspectRatio: "xMidYMid meet",
|
|
129
|
+
children: [
|
|
130
|
+
x && /* @__PURE__ */ m("g", {
|
|
131
|
+
className: a.grid,
|
|
132
|
+
children: [[
|
|
133
|
+
.25,
|
|
134
|
+
.5,
|
|
135
|
+
.75
|
|
136
|
+
].map((e) => /* @__PURE__ */ p("line", {
|
|
137
|
+
x1: 0,
|
|
138
|
+
y1: y * e,
|
|
139
|
+
x2: N,
|
|
140
|
+
y2: y * e
|
|
141
|
+
}, `h${e}`)), [
|
|
142
|
+
.25,
|
|
143
|
+
.5,
|
|
144
|
+
.75
|
|
145
|
+
].map((e) => /* @__PURE__ */ p("line", {
|
|
146
|
+
x1: N * e,
|
|
147
|
+
y1: 0,
|
|
148
|
+
x2: N * e,
|
|
149
|
+
y2: y
|
|
150
|
+
}, `v${e}`))]
|
|
151
|
+
}),
|
|
152
|
+
I.polyline && /* @__PURE__ */ p("polyline", {
|
|
153
|
+
className: a.path,
|
|
154
|
+
points: I.polyline,
|
|
155
|
+
fill: "none",
|
|
156
|
+
stroke: C,
|
|
157
|
+
"data-testid": "trajectory-path"
|
|
158
|
+
}),
|
|
159
|
+
I.startPixel && /* @__PURE__ */ p("circle", {
|
|
160
|
+
className: a.start,
|
|
161
|
+
cx: I.startPixel.x,
|
|
162
|
+
cy: I.startPixel.y,
|
|
163
|
+
r: 5
|
|
164
|
+
}),
|
|
165
|
+
I.endPixel && !g && /* @__PURE__ */ p("circle", {
|
|
166
|
+
className: a.end,
|
|
167
|
+
cx: I.endPixel.x,
|
|
168
|
+
cy: I.endPixel.y,
|
|
169
|
+
r: 5
|
|
170
|
+
}),
|
|
171
|
+
I.currentPixel && /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ p("circle", {
|
|
172
|
+
className: a.pulse,
|
|
173
|
+
cx: I.currentPixel.x,
|
|
174
|
+
cy: I.currentPixel.y,
|
|
175
|
+
r: 10
|
|
176
|
+
}), /* @__PURE__ */ p("circle", {
|
|
177
|
+
className: a.current,
|
|
178
|
+
cx: I.currentPixel.x,
|
|
179
|
+
cy: I.currentPixel.y,
|
|
180
|
+
r: 5
|
|
181
|
+
})] }),
|
|
182
|
+
I.markerPixels.map(({ marker: e, p: t }, n) => {
|
|
183
|
+
let r = !!O;
|
|
184
|
+
return /* @__PURE__ */ p("circle", {
|
|
185
|
+
className: a.marker,
|
|
186
|
+
cx: t.x,
|
|
187
|
+
cy: t.y,
|
|
188
|
+
r: e.radius ?? 6,
|
|
189
|
+
style: e.color ? { fill: e.color } : void 0,
|
|
190
|
+
"data-marker-id": e.id ?? n,
|
|
191
|
+
tabIndex: r ? 0 : void 0,
|
|
192
|
+
role: r ? "button" : void 0,
|
|
193
|
+
"aria-label": e.label,
|
|
194
|
+
onClick: r ? () => O?.(e, n) : void 0,
|
|
195
|
+
onKeyDown: r ? (t) => {
|
|
196
|
+
(t.key === "Enter" || t.key === " ") && (t.preventDefault(), O?.(e, n));
|
|
197
|
+
} : void 0,
|
|
198
|
+
children: e.label ? /* @__PURE__ */ p("title", { children: e.label }) : null
|
|
199
|
+
}, e.id ?? n);
|
|
200
|
+
}),
|
|
201
|
+
L && /* @__PURE__ */ m("g", {
|
|
202
|
+
className: a.scale,
|
|
203
|
+
transform: `translate(${b}, ${y - b})`,
|
|
204
|
+
children: [
|
|
205
|
+
/* @__PURE__ */ p("line", {
|
|
206
|
+
x1: 0,
|
|
207
|
+
y1: 0,
|
|
208
|
+
x2: L.pixels,
|
|
209
|
+
y2: 0
|
|
210
|
+
}),
|
|
211
|
+
/* @__PURE__ */ p("line", {
|
|
212
|
+
x1: 0,
|
|
213
|
+
y1: -4,
|
|
214
|
+
x2: 0,
|
|
215
|
+
y2: 4
|
|
216
|
+
}),
|
|
217
|
+
/* @__PURE__ */ p("line", {
|
|
218
|
+
x1: L.pixels,
|
|
219
|
+
y1: -4,
|
|
220
|
+
x2: L.pixels,
|
|
221
|
+
y2: 4
|
|
222
|
+
}),
|
|
223
|
+
/* @__PURE__ */ p("text", {
|
|
224
|
+
x: L.pixels / 2,
|
|
225
|
+
y: -8,
|
|
226
|
+
textAnchor: "middle",
|
|
227
|
+
children: v(L.km)
|
|
228
|
+
})
|
|
229
|
+
]
|
|
230
|
+
})
|
|
231
|
+
]
|
|
232
|
+
}) : /* @__PURE__ */ p("div", {
|
|
233
|
+
className: a.empty,
|
|
234
|
+
children: "Sem pontos de trajetória ainda."
|
|
235
|
+
})
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
//#endregion
|
|
239
|
+
export { y as TrajectoryMap };
|
|
240
|
+
|
|
241
|
+
//# sourceMappingURL=TrajectoryMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TrajectoryMap.js","names":[],"sources":["../../src/geo/TrajectoryMap.tsx"],"sourcesContent":["import { lazy, Suspense, useEffect, useMemo, useRef, useState, type HTMLAttributes } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport { boundingBox, expandBounds } from \"./bounds\";\nimport { haversineKm } from \"./distance\";\nimport { fitProjection, type PixelPoint } from \"./projection\";\nimport type { Coordinate, GeoMarker } from \"./types\";\nimport styles from \"./TrajectoryMap.module.css\";\n\n// Leaflet layer is loaded on demand — only when a `tileUrl` is supplied, so\n// apps that stick to the tile-free SVG never pull leaflet into their bundle.\nconst LeafletTrajectory = lazy(() =>\n import(\"./leaflet-map\").then((m) => ({ default: m.LeafletTrajectory })),\n);\n\nexport interface TrajectoryMapProps extends Omit<HTMLAttributes<HTMLDivElement>, \"children\"> {\n /** Ordered coordinates forming the trajectory. */\n points: readonly Coordinate[];\n /** Optional \"current position\" marker, drawn on top of the path. */\n current?: Coordinate | null;\n /** Viewport height in pixels. Default: `320`. */\n height?: number;\n /** Inner padding in pixels kept clear on every edge. Default: `24`. */\n padding?: number;\n /** Draw a light reference grid behind the path (SVG mode). Default: `true`. */\n showGrid?: boolean;\n /** Draw a distance scale bar (SVG mode). Default: `true`. */\n showScale?: boolean;\n /** Path stroke color. Default: the primary token. */\n strokeColor?: string;\n /**\n * Tile URL template (`{z}/{x}/{y}`) of a map server **you host**. When set,\n * the map upgrades to a real Leaflet tile layer (requires `leaflet` to be\n * installed). Omit for the zero-dependency, zero-network SVG plot.\n */\n tileUrl?: string;\n /** Attribution text shown over the tile layer. */\n tileAttribution?: string;\n /** Accessible label for the map region. Default: `\"Trajetória\"`. */\n label?: string;\n /** Point markers to overlay (e.g. stops, POIs). Included in the auto-fit. */\n markers?: readonly GeoMarker[];\n /** Fired when a marker is clicked. */\n onMarkerClick?: (marker: GeoMarker, index: number) => void;\n}\n\nconst NICE_KM_STEPS = [0.05, 0.1, 0.25, 0.5, 1, 2, 5, 10, 25, 50, 100, 250, 500, 1000] as const;\n\n/** Pick the largest \"nice\" distance whose bar fits within `maxPixels`. */\nfunction pickScaleKm(kmPerPixel: number, maxPixels: number): { km: number; pixels: number } {\n const maxKm = kmPerPixel * maxPixels;\n let chosen: number = NICE_KM_STEPS[0];\n for (const step of NICE_KM_STEPS) {\n if (step <= maxKm) chosen = step;\n }\n return { km: chosen, pixels: chosen / kmPerPixel };\n}\n\n/** Format a distance in km for the scale bar (meters below 1 km). */\nfunction formatScale(km: number): string {\n return km < 1 ? `${Math.round(km * 1000)} m` : `${km % 1 === 0 ? km : km.toFixed(1)} km`;\n}\n\n/**\n * Plot a GPS trajectory. By default it renders a **tile-free SVG** map (Web\n * Mercator projection, auto-fit to the points, optional grid + scale bar) —\n * 100% self-contained, no external tiles or paid API. Pass `tileUrl` pointing\n * at a map server **you host** to upgrade to a real Leaflet tile layer.\n *\n * @example\n * // Zero-dependency SVG plot\n * <TrajectoryMap points={points} current={lastPoint} height={360} />\n *\n * @example\n * // Real tiles from your own server (requires `leaflet` installed)\n * <TrajectoryMap points={points} tileUrl=\"https://tiles.internal/{z}/{x}/{y}.png\" />\n */\nexport function TrajectoryMap({\n points,\n current,\n height = 320,\n padding = 24,\n showGrid = true,\n showScale = true,\n strokeColor,\n tileUrl,\n tileAttribution,\n label = \"Trajetória\",\n markers,\n onMarkerClick,\n className,\n style,\n ...rest\n}: TrajectoryMapProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n const [width, setWidth] = useState<number>(600);\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 allPoints = useMemo<Coordinate[]>(\n () => [...points, ...(current ? [current] : []), ...(markers ?? [])],\n [points, current, markers],\n );\n\n const svg = useMemo(() => {\n const box = boundingBox(allPoints);\n if (!box) return null;\n\n const projection = fitProjection(expandBounds(box, 0.12), width, height, { padding });\n const pixels: PixelPoint[] = points.map((p) => projection.project(p));\n const polyline = pixels.map((p) => `${p.x.toFixed(1)},${p.y.toFixed(1)}`).join(\" \");\n\n const startPixel = pixels[0] ?? null;\n const endPixel = pixels.length > 0 ? pixels[pixels.length - 1] : null;\n const currentPixel = current ? projection.project(current) : null;\n\n // Distance-per-pixel at the map center, for the scale bar: measure the\n // center → east-edge span in both km (haversine) and pixels (projected).\n const centerCoord = {\n latitude: (box.minLatitude + box.maxLatitude) / 2,\n longitude: (box.minLongitude + box.maxLongitude) / 2,\n };\n const center = projection.project(centerCoord);\n const eastRef = projection.project({ ...centerCoord, longitude: box.maxLongitude });\n const edgeKm = haversineKm(centerCoord, { ...centerCoord, longitude: box.maxLongitude });\n const edgePixels = Math.abs(eastRef.x - center.x) || 1;\n const kmPerPixel = edgeKm / edgePixels || 0;\n\n const markerPixels = (markers ?? []).map((m) => ({ marker: m, p: projection.project(m) }));\n\n return { polyline, startPixel, endPixel, currentPixel, kmPerPixel, markerPixels };\n }, [allPoints, points, current, markers, width, height, padding]);\n\n // ── Leaflet tile mode ────────────────────────────────────────────────────\n if (tileUrl) {\n return (\n <div\n ref={containerRef}\n className={cn(styles.map, className)}\n style={{ height, ...style }}\n role=\"img\"\n aria-label={label}\n {...rest}\n >\n <Suspense fallback={<div className={styles.loading}>Carregando mapa…</div>}>\n <LeafletTrajectory\n points={points}\n current={current}\n tileUrl={tileUrl}\n tileAttribution={tileAttribution}\n strokeColor={strokeColor}\n />\n </Suspense>\n </div>\n );\n }\n\n // ── Tile-free SVG mode ─────────────────────────────────────────────────────\n const scale =\n showScale && svg && svg.kmPerPixel > 0\n ? pickScaleKm(svg.kmPerPixel, Math.min(120, width * 0.35))\n : null;\n\n return (\n <div\n ref={containerRef}\n className={cn(styles.map, className)}\n style={{ height, ...style }}\n role=\"img\"\n aria-label={label}\n {...rest}\n >\n {!svg ? (\n <div className={styles.empty}>Sem pontos de trajetória ainda.</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 >\n {showGrid && (\n <g className={styles.grid}>\n {[0.25, 0.5, 0.75].map((f) => (\n <line\n key={`h${f}`}\n x1={0}\n y1={height * f}\n x2={width}\n y2={height * f}\n />\n ))}\n {[0.25, 0.5, 0.75].map((f) => (\n <line\n key={`v${f}`}\n x1={width * f}\n y1={0}\n x2={width * f}\n y2={height}\n />\n ))}\n </g>\n )}\n\n {svg.polyline && (\n <polyline\n className={styles.path}\n points={svg.polyline}\n fill=\"none\"\n stroke={strokeColor}\n data-testid=\"trajectory-path\"\n />\n )}\n\n {svg.startPixel && (\n <circle\n className={styles.start}\n cx={svg.startPixel.x}\n cy={svg.startPixel.y}\n r={5}\n />\n )}\n {svg.endPixel && !current && (\n <circle\n className={styles.end}\n cx={svg.endPixel.x}\n cy={svg.endPixel.y}\n r={5}\n />\n )}\n {svg.currentPixel && (\n <>\n <circle\n className={styles.pulse}\n cx={svg.currentPixel.x}\n cy={svg.currentPixel.y}\n r={10}\n />\n <circle\n className={styles.current}\n cx={svg.currentPixel.x}\n cy={svg.currentPixel.y}\n r={5}\n />\n </>\n )}\n\n {svg.markerPixels.map(({ marker, p }, i) => {\n const interactive = Boolean(onMarkerClick);\n return (\n <circle\n key={marker.id ?? i}\n className={styles.marker}\n cx={p.x}\n cy={p.y}\n r={marker.radius ?? 6}\n style={marker.color ? { fill: marker.color } : undefined}\n data-marker-id={marker.id ?? i}\n tabIndex={interactive ? 0 : undefined}\n role={interactive ? \"button\" : undefined}\n aria-label={marker.label}\n onClick={interactive ? () => onMarkerClick?.(marker, i) : undefined}\n onKeyDown={\n interactive\n ? (e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n onMarkerClick?.(marker, i);\n }\n }\n : undefined\n }\n >\n {marker.label ? <title>{marker.label}</title> : null}\n </circle>\n );\n })}\n\n {scale && (\n <g\n className={styles.scale}\n transform={`translate(${padding}, ${height - padding})`}\n >\n <line x1={0} y1={0} x2={scale.pixels} y2={0} />\n <line x1={0} y1={-4} x2={0} y2={4} />\n <line x1={scale.pixels} y1={-4} x2={scale.pixels} y2={4} />\n <text x={scale.pixels / 2} y={-8} textAnchor=\"middle\">\n {formatScale(scale.km)}\n </text>\n </g>\n )}\n </svg>\n )}\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e=`tempest_map_3qgBX`,t=`tempest_svg_Da-XM`,n=`tempest_empty_QQGkP`,r=`tempest_loading_R6YCf`,i=`tempest_grid_xFsTS`,a=`tempest_path_-A7Sl`,o=`tempest_start_OPmUL`,s=`tempest_end_7SX7p`,c=`tempest_current_WFLJk`,l=`tempest_pulse_DUzgL`,u=`tempest_tempest-geo-pulse_9O0Rj`,d=`tempest_marker_HB3Rb`,f=`tempest_scale_YuwqB`,p={map:e,svg:t,empty:n,loading:r,grid:i,path:a,start:o,end:s,current:c,pulse:l,tempestGeoPulse:u,marker:d,scale:f};exports.current=c,exports.default=p,exports.empty=n,exports.end=s,exports.grid=i,exports.loading=r,exports.map=e,exports.marker=d,exports.path=a,exports.pulse=l,exports.scale=f,exports.start=o,exports.svg=t,exports.tempestGeoPulse=u;
|
|
2
|
+
//# sourceMappingURL=TrajectoryMap.module.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TrajectoryMap.module.cjs","names":[],"sources":["../../src/geo/TrajectoryMap.module.css"],"sourcesContent":[".map {\n position: relative;\n width: 100%;\n overflow: hidden;\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}\n\n.svg {\n display: block;\n width: 100%;\n}\n\n.empty,\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.grid line {\n stroke: var(--tempest-border);\n stroke-width: 1;\n stroke-dasharray: 3 5;\n opacity: 0.5;\n}\n\n.path {\n stroke: var(--tempest-primary);\n stroke-width: 3;\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n.start {\n fill: var(--tempest-success-solid);\n stroke: var(--tempest-surface);\n stroke-width: 2;\n}\n\n.end {\n fill: var(--tempest-primary);\n stroke: var(--tempest-surface);\n stroke-width: 2;\n}\n\n.current {\n fill: var(--tempest-primary);\n stroke: var(--tempest-surface);\n stroke-width: 2;\n}\n\n.pulse {\n fill: var(--tempest-primary);\n opacity: 0.25;\n transform-origin: center;\n transform-box: fill-box;\n animation: tempest-geo-pulse 1.8s ease-out infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .pulse {\n animation: none;\n }\n}\n\n@keyframes tempest-geo-pulse {\n 0% {\n transform: scale(0.6);\n opacity: 0.35;\n }\n 100% {\n transform: scale(1.6);\n opacity: 0;\n }\n}\n\n.marker {\n fill: var(--tempest-primary);\n stroke: var(--tempest-surface);\n stroke-width: 2;\n}\n\n.marker[role=\"button\"] {\n cursor: pointer;\n}\n\n.marker[role=\"button\"]:focus-visible {\n outline: none;\n stroke: var(--tempest-primary-active);\n stroke-width: 3;\n}\n\n.scale line {\n stroke: var(--tempest-text);\n stroke-width: 2;\n}\n\n.scale text {\n fill: var(--tempest-text);\n font-size: var(--tempest-text-xs);\n font-family: var(--tempest-font-sans);\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region src/geo/TrajectoryMap.module.css
|
|
2
|
+
var e = "tempest_map_3qgBX", t = "tempest_svg_Da-XM", n = "tempest_empty_QQGkP", r = "tempest_loading_R6YCf", i = "tempest_grid_xFsTS", a = "tempest_path_-A7Sl", o = "tempest_start_OPmUL", s = "tempest_end_7SX7p", c = "tempest_current_WFLJk", l = "tempest_pulse_DUzgL", u = "tempest_tempest-geo-pulse_9O0Rj", d = "tempest_marker_HB3Rb", f = "tempest_scale_YuwqB", p = {
|
|
3
|
+
map: e,
|
|
4
|
+
svg: t,
|
|
5
|
+
empty: n,
|
|
6
|
+
loading: r,
|
|
7
|
+
grid: i,
|
|
8
|
+
path: a,
|
|
9
|
+
start: o,
|
|
10
|
+
end: s,
|
|
11
|
+
current: c,
|
|
12
|
+
pulse: l,
|
|
13
|
+
tempestGeoPulse: u,
|
|
14
|
+
marker: d,
|
|
15
|
+
scale: f
|
|
16
|
+
};
|
|
17
|
+
//#endregion
|
|
18
|
+
export { c as current, p as default, n as empty, s as end, i as grid, r as loading, e as map, d as marker, a as path, l as pulse, f as scale, o as start, t as svg, u as tempestGeoPulse };
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=TrajectoryMap.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TrajectoryMap.module.js","names":[],"sources":["../../src/geo/TrajectoryMap.module.css"],"sourcesContent":[".map {\n position: relative;\n width: 100%;\n overflow: hidden;\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}\n\n.svg {\n display: block;\n width: 100%;\n}\n\n.empty,\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.grid line {\n stroke: var(--tempest-border);\n stroke-width: 1;\n stroke-dasharray: 3 5;\n opacity: 0.5;\n}\n\n.path {\n stroke: var(--tempest-primary);\n stroke-width: 3;\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n.start {\n fill: var(--tempest-success-solid);\n stroke: var(--tempest-surface);\n stroke-width: 2;\n}\n\n.end {\n fill: var(--tempest-primary);\n stroke: var(--tempest-surface);\n stroke-width: 2;\n}\n\n.current {\n fill: var(--tempest-primary);\n stroke: var(--tempest-surface);\n stroke-width: 2;\n}\n\n.pulse {\n fill: var(--tempest-primary);\n opacity: 0.25;\n transform-origin: center;\n transform-box: fill-box;\n animation: tempest-geo-pulse 1.8s ease-out infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .pulse {\n animation: none;\n }\n}\n\n@keyframes tempest-geo-pulse {\n 0% {\n transform: scale(0.6);\n opacity: 0.35;\n }\n 100% {\n transform: scale(1.6);\n opacity: 0;\n }\n}\n\n.marker {\n fill: var(--tempest-primary);\n stroke: var(--tempest-surface);\n stroke-width: 2;\n}\n\n.marker[role=\"button\"] {\n cursor: pointer;\n}\n\n.marker[role=\"button\"]:focus-visible {\n outline: none;\n stroke: var(--tempest-primary-active);\n stroke-width: 3;\n}\n\n.scale line {\n stroke: var(--tempest-text);\n stroke-width: 2;\n}\n\n.scale text {\n fill: var(--tempest-text);\n font-size: var(--tempest-text-xs);\n font-family: var(--tempest-font-sans);\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function e(e){if(e.length===0)return null;let t=e[0].latitude,n=e[0].latitude,r=e[0].longitude,i=e[0].longitude;for(let a of e)a.latitude<t&&(t=a.latitude),a.latitude>n&&(n=a.latitude),a.longitude<r&&(r=a.longitude),a.longitude>i&&(i=a.longitude);return{minLatitude:t,maxLatitude:n,minLongitude:r,maxLongitude:i}}function t(e){return{latitude:(e.minLatitude+e.maxLatitude)/2,longitude:(e.minLongitude+e.maxLongitude)/2}}function n(e,t=.1){let n=e.maxLatitude-e.minLatitude,r=e.maxLongitude-e.minLongitude,i=n*t||.001,a=r*t||.001;return{minLatitude:e.minLatitude-i,maxLatitude:e.maxLatitude+i,minLongitude:e.minLongitude-a,maxLongitude:e.maxLongitude+a}}exports.boundingBox=e,exports.boundsCenter=t,exports.expandBounds=n;
|
|
2
|
+
//# sourceMappingURL=bounds.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bounds.cjs","names":[],"sources":["../../src/geo/bounds.ts"],"sourcesContent":["import type { Coordinate, GeoBounds } from \"./types\";\n\n/**\n * Compute the axis-aligned bounding box that contains every point. Returns\n * `null` for an empty list (there is nothing to bound).\n *\n * @param points - Coordinates to enclose.\n * @returns The bounds, or `null` when `points` is empty.\n */\nexport function boundingBox(points: readonly Coordinate[]): GeoBounds | null {\n if (points.length === 0) return null;\n\n let minLatitude = points[0].latitude;\n let maxLatitude = points[0].latitude;\n let minLongitude = points[0].longitude;\n let maxLongitude = points[0].longitude;\n\n for (const point of points) {\n if (point.latitude < minLatitude) minLatitude = point.latitude;\n if (point.latitude > maxLatitude) maxLatitude = point.latitude;\n if (point.longitude < minLongitude) minLongitude = point.longitude;\n if (point.longitude > maxLongitude) maxLongitude = point.longitude;\n }\n\n return { minLatitude, maxLatitude, minLongitude, maxLongitude };\n}\n\n/** Geometric center of a bounding box. */\nexport function boundsCenter(bounds: GeoBounds): Coordinate {\n return {\n latitude: (bounds.minLatitude + bounds.maxLatitude) / 2,\n longitude: (bounds.minLongitude + bounds.maxLongitude) / 2,\n };\n}\n\n/**\n * Grow a bounding box outward by `ratio` of its own span on every side, with a\n * small absolute floor so a single-point (zero-span) box still gets padding.\n * A `ratio` of `0.1` adds 10% margin — handy so a plotted trajectory does not\n * hug the edge of the viewport.\n *\n * @param bounds - The box to expand.\n * @param ratio - Fraction of the span to add per side. Default: `0.1`.\n * @returns A new, larger {@link GeoBounds}.\n */\nexport function expandBounds(bounds: GeoBounds, ratio = 0.1): GeoBounds {\n const latSpan = bounds.maxLatitude - bounds.minLatitude;\n const lonSpan = bounds.maxLongitude - bounds.minLongitude;\n const latPad = latSpan * ratio || 0.001;\n const lonPad = lonSpan * ratio || 0.001;\n\n return {\n minLatitude: bounds.minLatitude - latPad,\n maxLatitude: bounds.maxLatitude + latPad,\n minLongitude: bounds.minLongitude - lonPad,\n maxLongitude: bounds.maxLongitude + lonPad,\n };\n}\n"],"mappings":"AASA,SAAgB,EAAY,EAAiD,CACzE,GAAI,EAAO,SAAW,EAAG,OAAO,KAEhC,IAAI,EAAc,EAAO,EAAE,CAAC,SACxB,EAAc,EAAO,EAAE,CAAC,SACxB,EAAe,EAAO,EAAE,CAAC,UACzB,EAAe,EAAO,EAAE,CAAC,UAE7B,IAAK,IAAM,KAAS,EACZ,EAAM,SAAW,IAAa,EAAc,EAAM,UAClD,EAAM,SAAW,IAAa,EAAc,EAAM,UAClD,EAAM,UAAY,IAAc,EAAe,EAAM,WACrD,EAAM,UAAY,IAAc,EAAe,EAAM,WAG7D,MAAO,CAAE,cAAa,cAAa,eAAc,cAAa,CAClE,CAGA,SAAgB,EAAa,EAA+B,CACxD,MAAO,CACH,UAAW,EAAO,YAAc,EAAO,aAAe,EACtD,WAAY,EAAO,aAAe,EAAO,cAAgB,CAC7D,CACJ,CAYA,SAAgB,EAAa,EAAmB,EAAQ,GAAgB,CACpE,IAAM,EAAU,EAAO,YAAc,EAAO,YACtC,EAAU,EAAO,aAAe,EAAO,aACvC,EAAS,EAAU,GAAS,KAC5B,EAAS,EAAU,GAAS,KAElC,MAAO,CACH,YAAa,EAAO,YAAc,EAClC,YAAa,EAAO,YAAc,EAClC,aAAc,EAAO,aAAe,EACpC,aAAc,EAAO,aAAe,CACxC,CACJ"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
//#region src/geo/bounds.ts
|
|
2
|
+
function e(e) {
|
|
3
|
+
if (e.length === 0) return null;
|
|
4
|
+
let t = e[0].latitude, n = e[0].latitude, r = e[0].longitude, i = e[0].longitude;
|
|
5
|
+
for (let a of e) a.latitude < t && (t = a.latitude), a.latitude > n && (n = a.latitude), a.longitude < r && (r = a.longitude), a.longitude > i && (i = a.longitude);
|
|
6
|
+
return {
|
|
7
|
+
minLatitude: t,
|
|
8
|
+
maxLatitude: n,
|
|
9
|
+
minLongitude: r,
|
|
10
|
+
maxLongitude: i
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
function t(e) {
|
|
14
|
+
return {
|
|
15
|
+
latitude: (e.minLatitude + e.maxLatitude) / 2,
|
|
16
|
+
longitude: (e.minLongitude + e.maxLongitude) / 2
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function n(e, t = .1) {
|
|
20
|
+
let n = e.maxLatitude - e.minLatitude, r = e.maxLongitude - e.minLongitude, i = n * t || .001, a = r * t || .001;
|
|
21
|
+
return {
|
|
22
|
+
minLatitude: e.minLatitude - i,
|
|
23
|
+
maxLatitude: e.maxLatitude + i,
|
|
24
|
+
minLongitude: e.minLongitude - a,
|
|
25
|
+
maxLongitude: e.maxLongitude + a
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
export { e as boundingBox, t as boundsCenter, n as expandBounds };
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=bounds.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bounds.js","names":[],"sources":["../../src/geo/bounds.ts"],"sourcesContent":["import type { Coordinate, GeoBounds } from \"./types\";\n\n/**\n * Compute the axis-aligned bounding box that contains every point. Returns\n * `null` for an empty list (there is nothing to bound).\n *\n * @param points - Coordinates to enclose.\n * @returns The bounds, or `null` when `points` is empty.\n */\nexport function boundingBox(points: readonly Coordinate[]): GeoBounds | null {\n if (points.length === 0) return null;\n\n let minLatitude = points[0].latitude;\n let maxLatitude = points[0].latitude;\n let minLongitude = points[0].longitude;\n let maxLongitude = points[0].longitude;\n\n for (const point of points) {\n if (point.latitude < minLatitude) minLatitude = point.latitude;\n if (point.latitude > maxLatitude) maxLatitude = point.latitude;\n if (point.longitude < minLongitude) minLongitude = point.longitude;\n if (point.longitude > maxLongitude) maxLongitude = point.longitude;\n }\n\n return { minLatitude, maxLatitude, minLongitude, maxLongitude };\n}\n\n/** Geometric center of a bounding box. */\nexport function boundsCenter(bounds: GeoBounds): Coordinate {\n return {\n latitude: (bounds.minLatitude + bounds.maxLatitude) / 2,\n longitude: (bounds.minLongitude + bounds.maxLongitude) / 2,\n };\n}\n\n/**\n * Grow a bounding box outward by `ratio` of its own span on every side, with a\n * small absolute floor so a single-point (zero-span) box still gets padding.\n * A `ratio` of `0.1` adds 10% margin — handy so a plotted trajectory does not\n * hug the edge of the viewport.\n *\n * @param bounds - The box to expand.\n * @param ratio - Fraction of the span to add per side. Default: `0.1`.\n * @returns A new, larger {@link GeoBounds}.\n */\nexport function expandBounds(bounds: GeoBounds, ratio = 0.1): GeoBounds {\n const latSpan = bounds.maxLatitude - bounds.minLatitude;\n const lonSpan = bounds.maxLongitude - bounds.minLongitude;\n const latPad = latSpan * ratio || 0.001;\n const lonPad = lonSpan * ratio || 0.001;\n\n return {\n minLatitude: bounds.minLatitude - latPad,\n maxLatitude: bounds.maxLatitude + latPad,\n minLongitude: bounds.minLongitude - lonPad,\n maxLongitude: bounds.maxLongitude + lonPad,\n };\n}\n"],"mappings":";AASA,SAAgB,EAAY,GAAiD;CACzE,IAAI,EAAO,WAAW,GAAG,OAAO;CAEhC,IAAI,IAAc,EAAO,EAAE,CAAC,UACxB,IAAc,EAAO,EAAE,CAAC,UACxB,IAAe,EAAO,EAAE,CAAC,WACzB,IAAe,EAAO,EAAE,CAAC;CAE7B,KAAK,IAAM,KAAS,GAIhB,AAHI,EAAM,WAAW,MAAa,IAAc,EAAM,WAClD,EAAM,WAAW,MAAa,IAAc,EAAM,WAClD,EAAM,YAAY,MAAc,IAAe,EAAM,YACrD,EAAM,YAAY,MAAc,IAAe,EAAM;CAG7D,OAAO;EAAE;EAAa;EAAa;EAAc;CAAa;AAClE;AAGA,SAAgB,EAAa,GAA+B;CACxD,OAAO;EACH,WAAW,EAAO,cAAc,EAAO,eAAe;EACtD,YAAY,EAAO,eAAe,EAAO,gBAAgB;CAC7D;AACJ;AAYA,SAAgB,EAAa,GAAmB,IAAQ,IAAgB;CACpE,IAAM,IAAU,EAAO,cAAc,EAAO,aACtC,IAAU,EAAO,eAAe,EAAO,cACvC,IAAS,IAAU,KAAS,MAC5B,IAAS,IAAU,KAAS;CAElC,OAAO;EACH,aAAa,EAAO,cAAc;EAClC,aAAa,EAAO,cAAc;EAClC,cAAc,EAAO,eAAe;EACpC,cAAc,EAAO,eAAe;CACxC;AACJ"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("./distance.cjs");function t(t={}){let{minDistanceKm:n=.005,maxPoints:r=1/0,positionOptions:i,onUpdate:a,onError:o,onStatusChange:s}=t,c=[],l=0,u=null,d=null,f=`idle`;function p(e){f!==e&&(f=e,s?.(e))}function m(t){let i={latitude:t.coords.latitude,longitude:t.coords.longitude,timestamp:t.timestamp,accuracy:t.coords.accuracy};if(u){let t=e.haversineKm(u,i);if(t<n)return;l+=t}u=i,c.push(i),c.length>r&&(c=c.slice(c.length-r)),a?.(c)}function h(e){p(`error`),o?.(e)}function g(){if(d===null){if(typeof navigator>`u`||!navigator.geolocation){p(`error`);return}p(`tracking`),d=navigator.geolocation.watchPosition(m,h,i)}}function _(){d!==null&&typeof navigator<`u`&&navigator.geolocation&&navigator.geolocation.clearWatch(d),d=null,p(`idle`)}function v(){_(),c=[],l=0,u=null,a?.(c)}return{start:g,stop:_,clear:v,get points(){return c},get distanceKm(){return l},get status(){return f}}}exports.createPositionTracker=t;
|
|
2
|
+
//# sourceMappingURL=create-position-tracker.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-position-tracker.cjs","names":[],"sources":["../../src/geo/create-position-tracker.ts"],"sourcesContent":["import { haversineKm } from \"./distance\";\nimport type { TrackPoint } from \"./types\";\n\n/** Lifecycle status of a {@link PositionTracker}. */\nexport type TrackerStatus = \"idle\" | \"tracking\" | \"error\";\n\n/** Options for {@link createPositionTracker}. */\nexport interface CreatePositionTrackerOptions {\n /**\n * Discard a new sample when it is closer than this (in km) to the last\n * kept point — filters GPS jitter while standing still. Default: `0.005`\n * (5 meters). Pass `0` to keep every sample.\n */\n minDistanceKm?: number;\n /**\n * Cap the retained trajectory to the most recent N points (older points are\n * dropped, but their distance stays counted). Default: `Infinity`.\n */\n maxPoints?: number;\n /** Forwarded to `navigator.geolocation.watchPosition`. */\n positionOptions?: PositionOptions;\n /** Called with the full trajectory each time a point is added. */\n onUpdate?: (points: readonly TrackPoint[]) => void;\n /** Called on a `GeolocationPositionError`. */\n onError?: (error: GeolocationPositionError) => void;\n /** Called whenever the status changes. */\n onStatusChange?: (status: TrackerStatus) => void;\n}\n\n/** Imperative controller returned by {@link createPositionTracker}. */\nexport interface PositionTracker {\n /** Begin watching position. No-op if already tracking. */\n start: () => void;\n /** Stop watching. Retains the recorded trajectory. */\n stop: () => void;\n /** Stop and discard the recorded trajectory. */\n clear: () => void;\n /** Snapshot of the recorded trajectory (newest last). */\n readonly points: readonly TrackPoint[];\n /** Total distance of the recorded trajectory in kilometers. */\n readonly distanceKm: number;\n /** Current tracker status. */\n readonly status: TrackerStatus;\n}\n\n/**\n * Record a live GPS trajectory from `navigator.geolocation.watchPosition`.\n * Framework-free — the {@link usePositionTracker} hook wraps this for React.\n *\n * Jitter while stationary is filtered by `minDistanceKm`; distance is\n * accumulated across the *full* run even when `maxPoints` trims the retained\n * array. 100% browser-side: no network, no external service.\n *\n * @param options - Filtering, retention and callbacks.\n * @returns A controller with `start`/`stop`/`clear` and live getters.\n *\n * @example\n * const tracker = createPositionTracker({\n * minDistanceKm: 0.01,\n * onUpdate: (pts) => console.log(pts.length, \"points\"),\n * });\n * tracker.start();\n * // …later\n * tracker.stop();\n * console.log(tracker.distanceKm);\n */\nexport function createPositionTracker(options: CreatePositionTrackerOptions = {}): PositionTracker {\n const {\n minDistanceKm = 0.005,\n maxPoints = Infinity,\n positionOptions,\n onUpdate,\n onError,\n onStatusChange,\n } = options;\n\n let points: TrackPoint[] = [];\n let distanceKm = 0;\n let lastKept: TrackPoint | null = null;\n let watchId: number | null = null;\n let status: TrackerStatus = \"idle\";\n\n function setStatus(next: TrackerStatus): void {\n if (status === next) return;\n status = next;\n onStatusChange?.(next);\n }\n\n function handlePosition(position: GeolocationPosition): void {\n const point: TrackPoint = {\n latitude: position.coords.latitude,\n longitude: position.coords.longitude,\n timestamp: position.timestamp,\n accuracy: position.coords.accuracy,\n };\n\n if (lastKept) {\n const step = haversineKm(lastKept, point);\n if (step < minDistanceKm) return;\n distanceKm += step;\n }\n\n lastKept = point;\n points.push(point);\n if (points.length > maxPoints) {\n points = points.slice(points.length - maxPoints);\n }\n onUpdate?.(points);\n }\n\n function handleError(error: GeolocationPositionError): void {\n setStatus(\"error\");\n onError?.(error);\n }\n\n function start(): void {\n if (watchId !== null) return;\n if (typeof navigator === \"undefined\" || !navigator.geolocation) {\n setStatus(\"error\");\n return;\n }\n setStatus(\"tracking\");\n watchId = navigator.geolocation.watchPosition(handlePosition, handleError, positionOptions);\n }\n\n function stop(): void {\n if (watchId !== null && typeof navigator !== \"undefined\" && navigator.geolocation) {\n navigator.geolocation.clearWatch(watchId);\n }\n watchId = null;\n setStatus(\"idle\");\n }\n\n function clear(): void {\n stop();\n points = [];\n distanceKm = 0;\n lastKept = null;\n onUpdate?.(points);\n }\n\n return {\n start,\n stop,\n clear,\n get points() {\n return points;\n },\n get distanceKm() {\n return distanceKm;\n },\n get status() {\n return status;\n },\n };\n}\n"],"mappings":"kCAkEA,SAAgB,EAAsB,EAAwC,CAAC,EAAoB,CAC/F,GAAM,CACF,gBAAgB,KAChB,YAAY,IACZ,kBACA,WACA,UACA,kBACA,EAEA,EAAuB,CAAC,EACxB,EAAa,EACb,EAA8B,KAC9B,EAAyB,KACzB,EAAwB,OAE5B,SAAS,EAAU,EAA2B,CACtC,IAAW,IACf,EAAS,EACT,IAAiB,CAAI,EACzB,CAEA,SAAS,EAAe,EAAqC,CACzD,IAAM,EAAoB,CACtB,SAAU,EAAS,OAAO,SAC1B,UAAW,EAAS,OAAO,UAC3B,UAAW,EAAS,UACpB,SAAU,EAAS,OAAO,QAC9B,EAEA,GAAI,EAAU,CACV,IAAM,EAAO,EAAA,YAAY,EAAU,CAAK,EACxC,GAAI,EAAO,EAAe,OAC1B,GAAc,CAClB,CAEA,EAAW,EACX,EAAO,KAAK,CAAK,EACb,EAAO,OAAS,IAChB,EAAS,EAAO,MAAM,EAAO,OAAS,CAAS,GAEnD,IAAW,CAAM,CACrB,CAEA,SAAS,EAAY,EAAuC,CACxD,EAAU,OAAO,EACjB,IAAU,CAAK,CACnB,CAEA,SAAS,GAAc,CACf,OAAY,KAChB,IAAI,OAAO,UAAc,KAAe,CAAC,UAAU,YAAa,CAC5D,EAAU,OAAO,EACjB,MACJ,CACA,EAAU,UAAU,EACpB,EAAU,UAAU,YAAY,cAAc,EAAgB,EAAa,CAAe,CAF1F,CAGJ,CAEA,SAAS,GAAa,CACd,IAAY,MAAQ,OAAO,UAAc,KAAe,UAAU,aAClE,UAAU,YAAY,WAAW,CAAO,EAE5C,EAAU,KACV,EAAU,MAAM,CACpB,CAEA,SAAS,GAAc,CACnB,EAAK,EACL,EAAS,CAAC,EACV,EAAa,EACb,EAAW,KACX,IAAW,CAAM,CACrB,CAEA,MAAO,CACH,QACA,OACA,QACA,IAAI,QAAS,CACT,OAAO,CACX,EACA,IAAI,YAAa,CACb,OAAO,CACX,EACA,IAAI,QAAS,CACT,OAAO,CACX,CACJ,CACJ"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { haversineKm as e } from "./distance.js";
|
|
2
|
+
//#region src/geo/create-position-tracker.ts
|
|
3
|
+
function t(t = {}) {
|
|
4
|
+
let { minDistanceKm: n = .005, maxPoints: r = Infinity, positionOptions: i, onUpdate: a, onError: o, onStatusChange: s } = t, c = [], l = 0, u = null, d = null, f = "idle";
|
|
5
|
+
function p(e) {
|
|
6
|
+
f !== e && (f = e, s?.(e));
|
|
7
|
+
}
|
|
8
|
+
function m(t) {
|
|
9
|
+
let i = {
|
|
10
|
+
latitude: t.coords.latitude,
|
|
11
|
+
longitude: t.coords.longitude,
|
|
12
|
+
timestamp: t.timestamp,
|
|
13
|
+
accuracy: t.coords.accuracy
|
|
14
|
+
};
|
|
15
|
+
if (u) {
|
|
16
|
+
let t = e(u, i);
|
|
17
|
+
if (t < n) return;
|
|
18
|
+
l += t;
|
|
19
|
+
}
|
|
20
|
+
u = i, c.push(i), c.length > r && (c = c.slice(c.length - r)), a?.(c);
|
|
21
|
+
}
|
|
22
|
+
function h(e) {
|
|
23
|
+
p("error"), o?.(e);
|
|
24
|
+
}
|
|
25
|
+
function g() {
|
|
26
|
+
if (d === null) {
|
|
27
|
+
if (typeof navigator > "u" || !navigator.geolocation) {
|
|
28
|
+
p("error");
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
p("tracking"), d = navigator.geolocation.watchPosition(m, h, i);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function _() {
|
|
35
|
+
d !== null && typeof navigator < "u" && navigator.geolocation && navigator.geolocation.clearWatch(d), d = null, p("idle");
|
|
36
|
+
}
|
|
37
|
+
function v() {
|
|
38
|
+
_(), c = [], l = 0, u = null, a?.(c);
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
start: g,
|
|
42
|
+
stop: _,
|
|
43
|
+
clear: v,
|
|
44
|
+
get points() {
|
|
45
|
+
return c;
|
|
46
|
+
},
|
|
47
|
+
get distanceKm() {
|
|
48
|
+
return l;
|
|
49
|
+
},
|
|
50
|
+
get status() {
|
|
51
|
+
return f;
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
//#endregion
|
|
56
|
+
export { t as createPositionTracker };
|
|
57
|
+
|
|
58
|
+
//# sourceMappingURL=create-position-tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-position-tracker.js","names":[],"sources":["../../src/geo/create-position-tracker.ts"],"sourcesContent":["import { haversineKm } from \"./distance\";\nimport type { TrackPoint } from \"./types\";\n\n/** Lifecycle status of a {@link PositionTracker}. */\nexport type TrackerStatus = \"idle\" | \"tracking\" | \"error\";\n\n/** Options for {@link createPositionTracker}. */\nexport interface CreatePositionTrackerOptions {\n /**\n * Discard a new sample when it is closer than this (in km) to the last\n * kept point — filters GPS jitter while standing still. Default: `0.005`\n * (5 meters). Pass `0` to keep every sample.\n */\n minDistanceKm?: number;\n /**\n * Cap the retained trajectory to the most recent N points (older points are\n * dropped, but their distance stays counted). Default: `Infinity`.\n */\n maxPoints?: number;\n /** Forwarded to `navigator.geolocation.watchPosition`. */\n positionOptions?: PositionOptions;\n /** Called with the full trajectory each time a point is added. */\n onUpdate?: (points: readonly TrackPoint[]) => void;\n /** Called on a `GeolocationPositionError`. */\n onError?: (error: GeolocationPositionError) => void;\n /** Called whenever the status changes. */\n onStatusChange?: (status: TrackerStatus) => void;\n}\n\n/** Imperative controller returned by {@link createPositionTracker}. */\nexport interface PositionTracker {\n /** Begin watching position. No-op if already tracking. */\n start: () => void;\n /** Stop watching. Retains the recorded trajectory. */\n stop: () => void;\n /** Stop and discard the recorded trajectory. */\n clear: () => void;\n /** Snapshot of the recorded trajectory (newest last). */\n readonly points: readonly TrackPoint[];\n /** Total distance of the recorded trajectory in kilometers. */\n readonly distanceKm: number;\n /** Current tracker status. */\n readonly status: TrackerStatus;\n}\n\n/**\n * Record a live GPS trajectory from `navigator.geolocation.watchPosition`.\n * Framework-free — the {@link usePositionTracker} hook wraps this for React.\n *\n * Jitter while stationary is filtered by `minDistanceKm`; distance is\n * accumulated across the *full* run even when `maxPoints` trims the retained\n * array. 100% browser-side: no network, no external service.\n *\n * @param options - Filtering, retention and callbacks.\n * @returns A controller with `start`/`stop`/`clear` and live getters.\n *\n * @example\n * const tracker = createPositionTracker({\n * minDistanceKm: 0.01,\n * onUpdate: (pts) => console.log(pts.length, \"points\"),\n * });\n * tracker.start();\n * // …later\n * tracker.stop();\n * console.log(tracker.distanceKm);\n */\nexport function createPositionTracker(options: CreatePositionTrackerOptions = {}): PositionTracker {\n const {\n minDistanceKm = 0.005,\n maxPoints = Infinity,\n positionOptions,\n onUpdate,\n onError,\n onStatusChange,\n } = options;\n\n let points: TrackPoint[] = [];\n let distanceKm = 0;\n let lastKept: TrackPoint | null = null;\n let watchId: number | null = null;\n let status: TrackerStatus = \"idle\";\n\n function setStatus(next: TrackerStatus): void {\n if (status === next) return;\n status = next;\n onStatusChange?.(next);\n }\n\n function handlePosition(position: GeolocationPosition): void {\n const point: TrackPoint = {\n latitude: position.coords.latitude,\n longitude: position.coords.longitude,\n timestamp: position.timestamp,\n accuracy: position.coords.accuracy,\n };\n\n if (lastKept) {\n const step = haversineKm(lastKept, point);\n if (step < minDistanceKm) return;\n distanceKm += step;\n }\n\n lastKept = point;\n points.push(point);\n if (points.length > maxPoints) {\n points = points.slice(points.length - maxPoints);\n }\n onUpdate?.(points);\n }\n\n function handleError(error: GeolocationPositionError): void {\n setStatus(\"error\");\n onError?.(error);\n }\n\n function start(): void {\n if (watchId !== null) return;\n if (typeof navigator === \"undefined\" || !navigator.geolocation) {\n setStatus(\"error\");\n return;\n }\n setStatus(\"tracking\");\n watchId = navigator.geolocation.watchPosition(handlePosition, handleError, positionOptions);\n }\n\n function stop(): void {\n if (watchId !== null && typeof navigator !== \"undefined\" && navigator.geolocation) {\n navigator.geolocation.clearWatch(watchId);\n }\n watchId = null;\n setStatus(\"idle\");\n }\n\n function clear(): void {\n stop();\n points = [];\n distanceKm = 0;\n lastKept = null;\n onUpdate?.(points);\n }\n\n return {\n start,\n stop,\n clear,\n get points() {\n return points;\n },\n get distanceKm() {\n return distanceKm;\n },\n get status() {\n return status;\n },\n };\n}\n"],"mappings":";;AAkEA,SAAgB,EAAsB,IAAwC,CAAC,GAAoB;CAC/F,IAAM,EACF,mBAAgB,MAChB,eAAY,UACZ,oBACA,aACA,YACA,sBACA,GAEA,IAAuB,CAAC,GACxB,IAAa,GACb,IAA8B,MAC9B,IAAyB,MACzB,IAAwB;CAE5B,SAAS,EAAU,GAA2B;EACtC,MAAW,MACf,IAAS,GACT,IAAiB,CAAI;CACzB;CAEA,SAAS,EAAe,GAAqC;EACzD,IAAM,IAAoB;GACtB,UAAU,EAAS,OAAO;GAC1B,WAAW,EAAS,OAAO;GAC3B,WAAW,EAAS;GACpB,UAAU,EAAS,OAAO;EAC9B;EAEA,IAAI,GAAU;GACV,IAAM,IAAO,EAAY,GAAU,CAAK;GACxC,IAAI,IAAO,GAAe;GAC1B,KAAc;EAClB;EAOA,AALA,IAAW,GACX,EAAO,KAAK,CAAK,GACb,EAAO,SAAS,MAChB,IAAS,EAAO,MAAM,EAAO,SAAS,CAAS,IAEnD,IAAW,CAAM;CACrB;CAEA,SAAS,EAAY,GAAuC;EAExD,AADA,EAAU,OAAO,GACjB,IAAU,CAAK;CACnB;CAEA,SAAS,IAAc;EACf,UAAY,MAChB;OAAI,OAAO,YAAc,OAAe,CAAC,UAAU,aAAa;IAC5D,EAAU,OAAO;IACjB;GACJ;GAEA,AADA,EAAU,UAAU,GACpB,IAAU,UAAU,YAAY,cAAc,GAAgB,GAAa,CAAe;EAF1F;CAGJ;CAEA,SAAS,IAAa;EAKlB,AAJI,MAAY,QAAQ,OAAO,YAAc,OAAe,UAAU,eAClE,UAAU,YAAY,WAAW,CAAO,GAE5C,IAAU,MACV,EAAU,MAAM;CACpB;CAEA,SAAS,IAAc;EAKnB,AAJA,EAAK,GACL,IAAS,CAAC,GACV,IAAa,GACb,IAAW,MACX,IAAW,CAAM;CACrB;CAEA,OAAO;EACH;EACA;EACA;EACA,IAAI,SAAS;GACT,OAAO;EACX;EACA,IAAI,aAAa;GACb,OAAO;EACX;EACA,IAAI,SAAS;GACT,OAAO;EACX;CACJ;AACJ"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e=6371.0088;function t(e){return e*Math.PI/180}function n(n,r){let i=t(n.latitude),a=t(r.latitude),o=t(r.latitude-n.latitude),s=t(r.longitude-n.longitude),c=Math.sin(o/2)**2+Math.cos(i)*Math.cos(a)*Math.sin(s/2)**2;return 2*e*Math.asin(Math.sqrt(c))}function r(e){let t=0;for(let r=1;r<e.length;r+=1)t+=n(e[r-1],e[r]);return t}function i(e,n){let r=t(e.latitude),i=t(n.latitude),a=t(n.longitude-e.longitude),o=Math.sin(a)*Math.cos(i),s=Math.cos(r)*Math.sin(i)-Math.sin(r)*Math.cos(i)*Math.cos(a);return(Math.atan2(o,s)*180/Math.PI+360)%360}exports.EARTH_RADIUS_KM=e,exports.bearingDeg=i,exports.haversineKm=n,exports.pathLengthKm=r,exports.toRadians=t;
|
|
2
|
+
//# sourceMappingURL=distance.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"distance.cjs","names":[],"sources":["../../src/geo/distance.ts"],"sourcesContent":["import type { Coordinate } from \"./types\";\n\n/**\n * Mean Earth radius in kilometers. Same value used by `tempest-fastapi-sdk`\n * (`geo/distance.py`) so client and server distances agree.\n */\nexport const EARTH_RADIUS_KM = 6371.0088;\n\n/** Convert degrees to radians. */\nexport function toRadians(degrees: number): number {\n return (degrees * Math.PI) / 180;\n}\n\n/**\n * Great-circle distance between two coordinates using the haversine formula\n * (spherical Earth). Mirrors `haversine_km` from `tempest-fastapi-sdk`.\n *\n * @param origin - Start coordinate.\n * @param destination - End coordinate.\n * @returns Distance in kilometers (`>= 0`).\n *\n * @example\n * haversineKm(\n * { latitude: -23.5505, longitude: -46.6333 }, // São Paulo\n * { latitude: -22.9068, longitude: -43.1729 }, // Rio de Janeiro\n * ); // ≈ 360.9\n */\nexport function haversineKm(origin: Coordinate, destination: Coordinate): number {\n const lat1 = toRadians(origin.latitude);\n const lat2 = toRadians(destination.latitude);\n const deltaLat = toRadians(destination.latitude - origin.latitude);\n const deltaLon = toRadians(destination.longitude - origin.longitude);\n\n const a =\n Math.sin(deltaLat / 2) ** 2 + Math.cos(lat1) * Math.cos(lat2) * Math.sin(deltaLon / 2) ** 2;\n\n return 2 * EARTH_RADIUS_KM * Math.asin(Math.sqrt(a));\n}\n\n/**\n * Total length of a trajectory: the sum of haversine distances between each\n * consecutive pair of points. Returns `0` for an empty or single-point path.\n *\n * @param points - Ordered coordinates along the path.\n * @returns Cumulative distance in kilometers.\n */\nexport function pathLengthKm(points: readonly Coordinate[]): number {\n let total = 0;\n for (let i = 1; i < points.length; i += 1) {\n total += haversineKm(points[i - 1], points[i]);\n }\n return total;\n}\n\n/**\n * Initial bearing (forward azimuth) from `origin` to `destination`, in degrees\n * clockwise from true north, normalized to `[0, 360)`. Useful for orienting a\n * heading arrow on a trajectory.\n *\n * @param origin - Start coordinate.\n * @param destination - End coordinate.\n * @returns Bearing in degrees, `[0, 360)`.\n */\nexport function bearingDeg(origin: Coordinate, destination: Coordinate): number {\n const lat1 = toRadians(origin.latitude);\n const lat2 = toRadians(destination.latitude);\n const deltaLon = toRadians(destination.longitude - origin.longitude);\n\n const y = Math.sin(deltaLon) * Math.cos(lat2);\n const x =\n Math.cos(lat1) * Math.sin(lat2) - Math.sin(lat1) * Math.cos(lat2) * Math.cos(deltaLon);\n\n const bearing = (Math.atan2(y, x) * 180) / Math.PI;\n return (bearing + 360) % 360;\n}\n"],"mappings":"AAMA,IAAa,EAAkB,UAG/B,SAAgB,EAAU,EAAyB,CAC/C,OAAQ,EAAU,KAAK,GAAM,GACjC,CAgBA,SAAgB,EAAY,EAAoB,EAAiC,CAC7E,IAAM,EAAO,EAAU,EAAO,QAAQ,EAChC,EAAO,EAAU,EAAY,QAAQ,EACrC,EAAW,EAAU,EAAY,SAAW,EAAO,QAAQ,EAC3D,EAAW,EAAU,EAAY,UAAY,EAAO,SAAS,EAE7D,EACF,KAAK,IAAI,EAAW,CAAC,GAAK,EAAI,KAAK,IAAI,CAAI,EAAI,KAAK,IAAI,CAAI,EAAI,KAAK,IAAI,EAAW,CAAC,GAAK,EAE9F,MAAO,GAAI,EAAkB,KAAK,KAAK,KAAK,KAAK,CAAC,CAAC,CACvD,CASA,SAAgB,EAAa,EAAuC,CAChE,IAAI,EAAQ,EACZ,IAAK,IAAI,EAAI,EAAG,EAAI,EAAO,OAAQ,GAAK,EACpC,GAAS,EAAY,EAAO,EAAI,GAAI,EAAO,EAAE,EAEjD,OAAO,CACX,CAWA,SAAgB,EAAW,EAAoB,EAAiC,CAC5E,IAAM,EAAO,EAAU,EAAO,QAAQ,EAChC,EAAO,EAAU,EAAY,QAAQ,EACrC,EAAW,EAAU,EAAY,UAAY,EAAO,SAAS,EAE7D,EAAI,KAAK,IAAI,CAAQ,EAAI,KAAK,IAAI,CAAI,EACtC,EACF,KAAK,IAAI,CAAI,EAAI,KAAK,IAAI,CAAI,EAAI,KAAK,IAAI,CAAI,EAAI,KAAK,IAAI,CAAI,EAAI,KAAK,IAAI,CAAQ,EAGzF,OADiB,KAAK,MAAM,EAAG,CAAC,EAAI,IAAO,KAAK,GAC9B,KAAO,GAC7B"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//#region src/geo/distance.ts
|
|
2
|
+
var e = 6371.0088;
|
|
3
|
+
function t(e) {
|
|
4
|
+
return e * Math.PI / 180;
|
|
5
|
+
}
|
|
6
|
+
function n(n, r) {
|
|
7
|
+
let i = t(n.latitude), a = t(r.latitude), o = t(r.latitude - n.latitude), s = t(r.longitude - n.longitude), c = Math.sin(o / 2) ** 2 + Math.cos(i) * Math.cos(a) * Math.sin(s / 2) ** 2;
|
|
8
|
+
return 2 * e * Math.asin(Math.sqrt(c));
|
|
9
|
+
}
|
|
10
|
+
function r(e) {
|
|
11
|
+
let t = 0;
|
|
12
|
+
for (let r = 1; r < e.length; r += 1) t += n(e[r - 1], e[r]);
|
|
13
|
+
return t;
|
|
14
|
+
}
|
|
15
|
+
function i(e, n) {
|
|
16
|
+
let r = t(e.latitude), i = t(n.latitude), a = t(n.longitude - e.longitude), o = Math.sin(a) * Math.cos(i), s = Math.cos(r) * Math.sin(i) - Math.sin(r) * Math.cos(i) * Math.cos(a);
|
|
17
|
+
return (Math.atan2(o, s) * 180 / Math.PI + 360) % 360;
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { e as EARTH_RADIUS_KM, i as bearingDeg, n as haversineKm, r as pathLengthKm, t as toRadians };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=distance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"distance.js","names":[],"sources":["../../src/geo/distance.ts"],"sourcesContent":["import type { Coordinate } from \"./types\";\n\n/**\n * Mean Earth radius in kilometers. Same value used by `tempest-fastapi-sdk`\n * (`geo/distance.py`) so client and server distances agree.\n */\nexport const EARTH_RADIUS_KM = 6371.0088;\n\n/** Convert degrees to radians. */\nexport function toRadians(degrees: number): number {\n return (degrees * Math.PI) / 180;\n}\n\n/**\n * Great-circle distance between two coordinates using the haversine formula\n * (spherical Earth). Mirrors `haversine_km` from `tempest-fastapi-sdk`.\n *\n * @param origin - Start coordinate.\n * @param destination - End coordinate.\n * @returns Distance in kilometers (`>= 0`).\n *\n * @example\n * haversineKm(\n * { latitude: -23.5505, longitude: -46.6333 }, // São Paulo\n * { latitude: -22.9068, longitude: -43.1729 }, // Rio de Janeiro\n * ); // ≈ 360.9\n */\nexport function haversineKm(origin: Coordinate, destination: Coordinate): number {\n const lat1 = toRadians(origin.latitude);\n const lat2 = toRadians(destination.latitude);\n const deltaLat = toRadians(destination.latitude - origin.latitude);\n const deltaLon = toRadians(destination.longitude - origin.longitude);\n\n const a =\n Math.sin(deltaLat / 2) ** 2 + Math.cos(lat1) * Math.cos(lat2) * Math.sin(deltaLon / 2) ** 2;\n\n return 2 * EARTH_RADIUS_KM * Math.asin(Math.sqrt(a));\n}\n\n/**\n * Total length of a trajectory: the sum of haversine distances between each\n * consecutive pair of points. Returns `0` for an empty or single-point path.\n *\n * @param points - Ordered coordinates along the path.\n * @returns Cumulative distance in kilometers.\n */\nexport function pathLengthKm(points: readonly Coordinate[]): number {\n let total = 0;\n for (let i = 1; i < points.length; i += 1) {\n total += haversineKm(points[i - 1], points[i]);\n }\n return total;\n}\n\n/**\n * Initial bearing (forward azimuth) from `origin` to `destination`, in degrees\n * clockwise from true north, normalized to `[0, 360)`. Useful for orienting a\n * heading arrow on a trajectory.\n *\n * @param origin - Start coordinate.\n * @param destination - End coordinate.\n * @returns Bearing in degrees, `[0, 360)`.\n */\nexport function bearingDeg(origin: Coordinate, destination: Coordinate): number {\n const lat1 = toRadians(origin.latitude);\n const lat2 = toRadians(destination.latitude);\n const deltaLon = toRadians(destination.longitude - origin.longitude);\n\n const y = Math.sin(deltaLon) * Math.cos(lat2);\n const x =\n Math.cos(lat1) * Math.sin(lat2) - Math.sin(lat1) * Math.cos(lat2) * Math.cos(deltaLon);\n\n const bearing = (Math.atan2(y, x) * 180) / Math.PI;\n return (bearing + 360) % 360;\n}\n"],"mappings":";AAMA,IAAa,IAAkB;AAG/B,SAAgB,EAAU,GAAyB;CAC/C,OAAQ,IAAU,KAAK,KAAM;AACjC;AAgBA,SAAgB,EAAY,GAAoB,GAAiC;CAC7E,IAAM,IAAO,EAAU,EAAO,QAAQ,GAChC,IAAO,EAAU,EAAY,QAAQ,GACrC,IAAW,EAAU,EAAY,WAAW,EAAO,QAAQ,GAC3D,IAAW,EAAU,EAAY,YAAY,EAAO,SAAS,GAE7D,IACF,KAAK,IAAI,IAAW,CAAC,KAAK,IAAI,KAAK,IAAI,CAAI,IAAI,KAAK,IAAI,CAAI,IAAI,KAAK,IAAI,IAAW,CAAC,KAAK;CAE9F,OAAO,IAAI,IAAkB,KAAK,KAAK,KAAK,KAAK,CAAC,CAAC;AACvD;AASA,SAAgB,EAAa,GAAuC;CAChE,IAAI,IAAQ;CACZ,KAAK,IAAI,IAAI,GAAG,IAAI,EAAO,QAAQ,KAAK,GACpC,KAAS,EAAY,EAAO,IAAI,IAAI,EAAO,EAAE;CAEjD,OAAO;AACX;AAWA,SAAgB,EAAW,GAAoB,GAAiC;CAC5E,IAAM,IAAO,EAAU,EAAO,QAAQ,GAChC,IAAO,EAAU,EAAY,QAAQ,GACrC,IAAW,EAAU,EAAY,YAAY,EAAO,SAAS,GAE7D,IAAI,KAAK,IAAI,CAAQ,IAAI,KAAK,IAAI,CAAI,GACtC,IACF,KAAK,IAAI,CAAI,IAAI,KAAK,IAAI,CAAI,IAAI,KAAK,IAAI,CAAI,IAAI,KAAK,IAAI,CAAI,IAAI,KAAK,IAAI,CAAQ;CAGzF,QADiB,KAAK,MAAM,GAAG,CAAC,IAAI,MAAO,KAAK,KAC9B,OAAO;AAC7B"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("./distance.cjs");var t=1.3,n=50,r={car:1,motorcycle:.95,bus:1.6};function i(e,t){return t?.[e]??r[e]??1}function a(n,r,a=`car`,o={}){let{circuityFactor:s=t,carSpeedKmh:c=50,modeDurationFactors:l}=o;if(c<=0)throw RangeError(`carSpeedKmh must be greater than 0`);if(s<=0)throw RangeError(`circuityFactor must be greater than 0`);let u=e.haversineKm(n,r)*s;return{mode:a,distance_km:u,duration_minutes:u/c*60*i(a,l),source:`heuristic`}}exports.DEFAULT_CAR_SPEED_KMH=n,exports.DEFAULT_CIRCUITY_FACTOR=t,exports.DEFAULT_MODE_DURATION_FACTORS=r,exports.durationFactor=i,exports.estimateTravel=a;
|
|
2
|
+
//# sourceMappingURL=estimate.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"estimate.cjs","names":[],"sources":["../../src/geo/estimate.ts"],"sourcesContent":["import { haversineKm } from \"./distance\";\nimport type { Coordinate, TravelEstimate, TravelMode } from \"./types\";\n\n/**\n * Multiplier applied to the great-circle distance to approximate real road\n * distance. Mirrors `DEFAULT_CIRCUITY_FACTOR` from `tempest-fastapi-sdk`.\n */\nexport const DEFAULT_CIRCUITY_FACTOR = 1.3;\n\n/**\n * Default average car speed in km/h used to derive duration from distance.\n * Mirrors `DEFAULT_CAR_SPEED_KMH` from `tempest-fastapi-sdk`.\n */\nexport const DEFAULT_CAR_SPEED_KMH = 50.0;\n\n/**\n * Per-mode multipliers applied to the car duration. Mirrors\n * `DEFAULT_MODE_DURATION_FACTORS` from `tempest-fastapi-sdk` — motorcycles are\n * a touch faster, buses considerably slower (stops + dedicated lanes).\n */\nexport const DEFAULT_MODE_DURATION_FACTORS: Record<TravelMode, number> = {\n car: 1.0,\n motorcycle: 0.95,\n bus: 1.6,\n};\n\n/**\n * Look up the duration multiplier for a travel mode, falling back to `1.0`\n * for unknown modes. Mirrors `duration_factor` from `tempest-fastapi-sdk`.\n *\n * @param mode - Travel mode.\n * @param factors - Optional override map (partial merges over the defaults).\n * @returns The multiplier for `mode`.\n */\nexport function durationFactor(\n mode: TravelMode,\n factors?: Partial<Record<TravelMode, number>>,\n): number {\n return factors?.[mode] ?? DEFAULT_MODE_DURATION_FACTORS[mode] ?? 1.0;\n}\n\n/** Options for {@link estimateTravel}. */\nexport interface EstimateTravelOptions {\n /** Distance multiplier over the great-circle line. Default: `1.3`. */\n circuityFactor?: number;\n /** Average car speed in km/h. Default: `50`. */\n carSpeedKmh?: number;\n /** Per-mode duration multipliers (merged over the defaults). */\n modeDurationFactors?: Partial<Record<TravelMode, number>>;\n}\n\n/**\n * Offline travel estimate between two coordinates. No network — distance comes\n * from {@link haversineKm} scaled by circuity, duration from a mode-adjusted\n * average speed. Mirrors `estimate_travel` from `tempest-fastapi-sdk`.\n *\n * @param origin - Start coordinate.\n * @param destination - End coordinate.\n * @param mode - Travel mode. Default: `\"car\"`.\n * @param options - Tuning knobs (circuity, speed, per-mode factors).\n * @returns A `\"heuristic\"` {@link TravelEstimate}.\n * @throws {RangeError} If `carSpeedKmh <= 0` or `circuityFactor <= 0`.\n *\n * @example\n * estimateTravel(\n * { latitude: -23.5505, longitude: -46.6333 },\n * { latitude: -23.5629, longitude: -46.6544 },\n * \"car\",\n * ); // { mode: \"car\", distance_km: …, duration_minutes: …, source: \"heuristic\" }\n */\nexport function estimateTravel(\n origin: Coordinate,\n destination: Coordinate,\n mode: TravelMode = \"car\",\n options: EstimateTravelOptions = {},\n): TravelEstimate {\n const {\n circuityFactor = DEFAULT_CIRCUITY_FACTOR,\n carSpeedKmh = DEFAULT_CAR_SPEED_KMH,\n modeDurationFactors,\n } = options;\n\n if (carSpeedKmh <= 0) {\n throw new RangeError(\"carSpeedKmh must be greater than 0\");\n }\n if (circuityFactor <= 0) {\n throw new RangeError(\"circuityFactor must be greater than 0\");\n }\n\n const distanceKm = haversineKm(origin, destination) * circuityFactor;\n const carMinutes = (distanceKm / carSpeedKmh) * 60.0;\n const durationMinutes = carMinutes * durationFactor(mode, modeDurationFactors);\n\n return {\n mode,\n distance_km: distanceKm,\n duration_minutes: durationMinutes,\n source: \"heuristic\",\n };\n}\n"],"mappings":"kCAOA,IAAa,EAA0B,IAM1B,EAAwB,GAOxB,EAA4D,CACrE,IAAK,EACL,WAAY,IACZ,IAAK,GACT,EAUA,SAAgB,EACZ,EACA,EACM,CACN,OAAO,IAAU,IAAS,EAA8B,IAAS,CACrE,CA+BA,SAAgB,EACZ,EACA,EACA,EAAmB,MACnB,EAAiC,CAAC,EACpB,CACd,GAAM,CACF,iBAAiB,EACjB,cAAA,GACA,uBACA,EAEJ,GAAI,GAAe,EACf,MAAU,WAAW,oCAAoC,EAE7D,GAAI,GAAkB,EAClB,MAAU,WAAW,uCAAuC,EAGhE,IAAM,EAAa,EAAA,YAAY,EAAQ,CAAW,EAAI,EAItD,MAAO,CACH,OACA,YAAa,EACb,iBANgB,EAAa,EAAe,GACX,EAAe,EAAM,CAAmB,EAMzE,OAAQ,WACZ,CACJ"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { haversineKm as e } from "./distance.js";
|
|
2
|
+
//#region src/geo/estimate.ts
|
|
3
|
+
var t = 1.3, n = 50, r = {
|
|
4
|
+
car: 1,
|
|
5
|
+
motorcycle: .95,
|
|
6
|
+
bus: 1.6
|
|
7
|
+
};
|
|
8
|
+
function i(e, t) {
|
|
9
|
+
return t?.[e] ?? r[e] ?? 1;
|
|
10
|
+
}
|
|
11
|
+
function a(n, r, a = "car", o = {}) {
|
|
12
|
+
let { circuityFactor: s = t, carSpeedKmh: c = 50, modeDurationFactors: l } = o;
|
|
13
|
+
if (c <= 0) throw RangeError("carSpeedKmh must be greater than 0");
|
|
14
|
+
if (s <= 0) throw RangeError("circuityFactor must be greater than 0");
|
|
15
|
+
let u = e(n, r) * s;
|
|
16
|
+
return {
|
|
17
|
+
mode: a,
|
|
18
|
+
distance_km: u,
|
|
19
|
+
duration_minutes: u / c * 60 * i(a, l),
|
|
20
|
+
source: "heuristic"
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
export { n as DEFAULT_CAR_SPEED_KMH, t as DEFAULT_CIRCUITY_FACTOR, r as DEFAULT_MODE_DURATION_FACTORS, i as durationFactor, a as estimateTravel };
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=estimate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"estimate.js","names":[],"sources":["../../src/geo/estimate.ts"],"sourcesContent":["import { haversineKm } from \"./distance\";\nimport type { Coordinate, TravelEstimate, TravelMode } from \"./types\";\n\n/**\n * Multiplier applied to the great-circle distance to approximate real road\n * distance. Mirrors `DEFAULT_CIRCUITY_FACTOR` from `tempest-fastapi-sdk`.\n */\nexport const DEFAULT_CIRCUITY_FACTOR = 1.3;\n\n/**\n * Default average car speed in km/h used to derive duration from distance.\n * Mirrors `DEFAULT_CAR_SPEED_KMH` from `tempest-fastapi-sdk`.\n */\nexport const DEFAULT_CAR_SPEED_KMH = 50.0;\n\n/**\n * Per-mode multipliers applied to the car duration. Mirrors\n * `DEFAULT_MODE_DURATION_FACTORS` from `tempest-fastapi-sdk` — motorcycles are\n * a touch faster, buses considerably slower (stops + dedicated lanes).\n */\nexport const DEFAULT_MODE_DURATION_FACTORS: Record<TravelMode, number> = {\n car: 1.0,\n motorcycle: 0.95,\n bus: 1.6,\n};\n\n/**\n * Look up the duration multiplier for a travel mode, falling back to `1.0`\n * for unknown modes. Mirrors `duration_factor` from `tempest-fastapi-sdk`.\n *\n * @param mode - Travel mode.\n * @param factors - Optional override map (partial merges over the defaults).\n * @returns The multiplier for `mode`.\n */\nexport function durationFactor(\n mode: TravelMode,\n factors?: Partial<Record<TravelMode, number>>,\n): number {\n return factors?.[mode] ?? DEFAULT_MODE_DURATION_FACTORS[mode] ?? 1.0;\n}\n\n/** Options for {@link estimateTravel}. */\nexport interface EstimateTravelOptions {\n /** Distance multiplier over the great-circle line. Default: `1.3`. */\n circuityFactor?: number;\n /** Average car speed in km/h. Default: `50`. */\n carSpeedKmh?: number;\n /** Per-mode duration multipliers (merged over the defaults). */\n modeDurationFactors?: Partial<Record<TravelMode, number>>;\n}\n\n/**\n * Offline travel estimate between two coordinates. No network — distance comes\n * from {@link haversineKm} scaled by circuity, duration from a mode-adjusted\n * average speed. Mirrors `estimate_travel` from `tempest-fastapi-sdk`.\n *\n * @param origin - Start coordinate.\n * @param destination - End coordinate.\n * @param mode - Travel mode. Default: `\"car\"`.\n * @param options - Tuning knobs (circuity, speed, per-mode factors).\n * @returns A `\"heuristic\"` {@link TravelEstimate}.\n * @throws {RangeError} If `carSpeedKmh <= 0` or `circuityFactor <= 0`.\n *\n * @example\n * estimateTravel(\n * { latitude: -23.5505, longitude: -46.6333 },\n * { latitude: -23.5629, longitude: -46.6544 },\n * \"car\",\n * ); // { mode: \"car\", distance_km: …, duration_minutes: …, source: \"heuristic\" }\n */\nexport function estimateTravel(\n origin: Coordinate,\n destination: Coordinate,\n mode: TravelMode = \"car\",\n options: EstimateTravelOptions = {},\n): TravelEstimate {\n const {\n circuityFactor = DEFAULT_CIRCUITY_FACTOR,\n carSpeedKmh = DEFAULT_CAR_SPEED_KMH,\n modeDurationFactors,\n } = options;\n\n if (carSpeedKmh <= 0) {\n throw new RangeError(\"carSpeedKmh must be greater than 0\");\n }\n if (circuityFactor <= 0) {\n throw new RangeError(\"circuityFactor must be greater than 0\");\n }\n\n const distanceKm = haversineKm(origin, destination) * circuityFactor;\n const carMinutes = (distanceKm / carSpeedKmh) * 60.0;\n const durationMinutes = carMinutes * durationFactor(mode, modeDurationFactors);\n\n return {\n mode,\n distance_km: distanceKm,\n duration_minutes: durationMinutes,\n source: \"heuristic\",\n };\n}\n"],"mappings":";;AAOA,IAAa,IAA0B,KAM1B,IAAwB,IAOxB,IAA4D;CACrE,KAAK;CACL,YAAY;CACZ,KAAK;AACT;AAUA,SAAgB,EACZ,GACA,GACM;CACN,OAAO,IAAU,MAAS,EAA8B,MAAS;AACrE;AA+BA,SAAgB,EACZ,GACA,GACA,IAAmB,OACnB,IAAiC,CAAC,GACpB;CACd,IAAM,EACF,oBAAiB,GACjB,iBAAA,IACA,2BACA;CAEJ,IAAI,KAAe,GACf,MAAU,WAAW,oCAAoC;CAE7D,IAAI,KAAkB,GAClB,MAAU,WAAW,uCAAuC;CAGhE,IAAM,IAAa,EAAY,GAAQ,CAAW,IAAI;CAItD,OAAO;EACH;EACA,aAAa;EACb,kBANgB,IAAa,IAAe,KACX,EAAe,GAAM,CAAmB;EAMzE,QAAQ;CACZ;AACJ"}
|