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,14 @@
|
|
|
1
|
+
//#region src/http/parse-response.ts
|
|
2
|
+
function e(e, t, n) {
|
|
3
|
+
let r = e.safeParse(t);
|
|
4
|
+
if (r.success) return r.data;
|
|
5
|
+
if (typeof process < "u" && (process.env.NODE_ENV === "development" || process.env.NODE_ENV === "test")) {
|
|
6
|
+
let e = r.error.issues.map((e) => ` - ${e.path.join(".") || "<root>"}: ${e.message}`).join("\n");
|
|
7
|
+
throw Error(`[parseResponse] Contract drift on ${n}:\n${e}\n\nRaw payload: ${JSON.stringify(t, null, 2)}`);
|
|
8
|
+
}
|
|
9
|
+
throw Error(`Resposta inválida do servidor (${n}).`);
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
export { e as parseResponse };
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=parse-response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-response.js","names":[],"sources":["../../src/http/parse-response.ts"],"sourcesContent":["import type { z } from \"zod\";\n\n/**\n * Validate an unknown response payload against a zod schema.\n *\n * In development, throws a detailed error pointing at the divergent field.\n * In production, throws a generic error so internals do not leak to users.\n *\n * @param schema - The zod schema to parse against.\n * @param raw - The raw response payload.\n * @param context - A label used in error messages, e.g. \"POST /auth/login\".\n * @returns The parsed, typed payload.\n */\nexport function parseResponse<TSchema extends z.ZodTypeAny>(\n schema: TSchema,\n raw: unknown,\n context: string,\n): z.infer<TSchema> {\n const result = schema.safeParse(raw);\n if (result.success) {\n return result.data;\n }\n\n const isDev =\n typeof process !== \"undefined\" &&\n (process.env?.NODE_ENV === \"development\" || process.env?.NODE_ENV === \"test\");\n\n if (isDev) {\n const issues = result.error.issues\n .map((i) => ` - ${i.path.join(\".\") || \"<root>\"}: ${i.message}`)\n .join(\"\\n\");\n throw new Error(\n `[parseResponse] Contract drift on ${context}:\\n${issues}\\n\\nRaw payload: ${JSON.stringify(raw, null, 2)}`,\n );\n }\n throw new Error(`Resposta inválida do servidor (${context}).`);\n}\n"],"mappings":";AAaA,SAAgB,EACZ,GACA,GACA,GACgB;CAChB,IAAM,IAAS,EAAO,UAAU,CAAG;CACnC,IAAI,EAAO,SACP,OAAO,EAAO;CAOlB,IAHI,OAAO,UAAY,QAAA,QAAA,IAAA,aACQ,iBAAA,QAAA,IAAA,aAA2C,SAE/D;EACP,IAAM,IAAS,EAAO,MAAM,OACvB,KAAK,MAAM,OAAO,EAAE,KAAK,KAAK,GAAG,KAAK,SAAS,IAAI,EAAE,SAAS,CAAC,CAC/D,KAAK,IAAI;EACd,MAAU,MACN,qCAAqC,EAAQ,KAAK,EAAO,mBAAmB,KAAK,UAAU,GAAK,MAAM,CAAC,GAC3G;CACJ;CACA,MAAU,MAAM,kCAAkC,EAAQ,GAAG;AACjE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function e(e,t){return new Promise((n,r)=>{if(t?.aborted){r(new DOMException(`Aborted`,`AbortError`));return}let i=setTimeout(n,e);t?.addEventListener(`abort`,()=>{clearTimeout(i),r(new DOMException(`Aborted`,`AbortError`))},{once:!0})})}async function t(t,n={}){let{retries:r=3,initialDelay:i=300,maxDelay:a=1e4,respectRetryAfter:o=!0,shouldRetry:s=()=>!0,onRetry:c,signal:l}=n,u=0,d;for(;u<r;){if(l?.aborted)throw new DOMException(`Aborted`,`AbortError`);try{return await t()}catch(t){if(d=t,u+=1,u>=r||!s(t,u))throw t;let n=o&&typeof t?.retryAfter==`number`?t.retryAfter*1e3:null,f=Math.min(n===null?i*2**(u-1):n,a);c?.({attempt:u,delay:f,error:t}),await e(f,l)}}throw d}exports.retry=t;
|
|
2
|
+
//# sourceMappingURL=retry.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.cjs","names":[],"sources":["../../src/http/retry.ts"],"sourcesContent":["export interface RetryOptions {\n /** Max attempts (including the first). Default: 3. */\n retries?: number;\n /** Initial backoff in ms. Doubles each attempt, capped at `maxDelay`. Default: 300. */\n initialDelay?: number;\n /** Maximum delay between attempts. Default: 10_000. */\n maxDelay?: number;\n /**\n * Honor a `Retry-After` hint on the thrown error (`error.retryAfter`, in\n * seconds — populated by {@link createApiClient} on `429`/`503`). When\n * present it overrides the exponential backoff for that attempt. The value\n * is capped at `maxDelay`. Default: true.\n */\n respectRetryAfter?: boolean;\n /**\n * Return false to stop retrying for a specific error.\n * Default: retry on any thrown error.\n */\n shouldRetry?: (error: unknown, attempt: number) => boolean;\n /** Called before each retry with the upcoming delay. */\n onRetry?: (info: { attempt: number; delay: number; error: unknown }) => void;\n /** Cancel pending retries. */\n signal?: AbortSignal;\n}\n\nfunction wait(ms: number, signal?: AbortSignal): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (signal?.aborted) {\n reject(new DOMException(\"Aborted\", \"AbortError\"));\n return;\n }\n const timer = setTimeout(resolve, ms);\n signal?.addEventListener(\n \"abort\",\n () => {\n clearTimeout(timer);\n reject(new DOMException(\"Aborted\", \"AbortError\"));\n },\n { once: true },\n );\n });\n}\n\n/**\n * Run `factory()` with exponential backoff. Each attempt awaits an\n * increasing delay capped at `maxDelay`. Throws the last error if every\n * attempt fails.\n *\n * @example\n * const data = await retry(() => api.get(\"/flaky\"), { retries: 5 });\n */\nexport async function retry<T>(factory: () => Promise<T>, options: RetryOptions = {}): Promise<T> {\n const {\n retries = 3,\n initialDelay = 300,\n maxDelay = 10_000,\n respectRetryAfter = true,\n shouldRetry = () => true,\n onRetry,\n signal,\n } = options;\n\n let attempt = 0;\n let lastError: unknown;\n\n while (attempt < retries) {\n if (signal?.aborted) throw new DOMException(\"Aborted\", \"AbortError\");\n try {\n return await factory();\n } catch (error) {\n lastError = error;\n attempt += 1;\n if (attempt >= retries || !shouldRetry(error, attempt)) {\n throw error;\n }\n const retryAfter =\n respectRetryAfter &&\n typeof (error as { retryAfter?: unknown })?.retryAfter === \"number\"\n ? (error as { retryAfter: number }).retryAfter * 1000\n : null;\n const delay =\n retryAfter !== null\n ? Math.min(retryAfter, maxDelay)\n : Math.min(initialDelay * 2 ** (attempt - 1), maxDelay);\n onRetry?.({ attempt, delay, error });\n await wait(delay, signal);\n }\n }\n\n throw lastError;\n}\n"],"mappings":"AAyBA,SAAS,EAAK,EAAY,EAAqC,CAC3D,OAAO,IAAI,SAAe,EAAS,IAAW,CAC1C,GAAI,GAAQ,QAAS,CACjB,EAAO,IAAI,aAAa,UAAW,YAAY,CAAC,EAChD,MACJ,CACA,IAAM,EAAQ,WAAW,EAAS,CAAE,EACpC,GAAQ,iBACJ,YACM,CACF,aAAa,CAAK,EAClB,EAAO,IAAI,aAAa,UAAW,YAAY,CAAC,CACpD,EACA,CAAE,KAAM,EAAK,CACjB,CACJ,CAAC,CACL,CAUA,eAAsB,EAAS,EAA2B,EAAwB,CAAC,EAAe,CAC9F,GAAM,CACF,UAAU,EACV,eAAe,IACf,WAAW,IACX,oBAAoB,GACpB,kBAAoB,GACpB,UACA,UACA,EAEA,EAAU,EACV,EAEJ,KAAO,EAAU,GAAS,CACtB,GAAI,GAAQ,QAAS,MAAM,IAAI,aAAa,UAAW,YAAY,EACnE,GAAI,CACA,OAAO,MAAM,EAAQ,CACzB,OAAS,EAAO,CAGZ,GAFA,EAAY,EACZ,GAAW,EACP,GAAW,GAAW,CAAC,EAAY,EAAO,CAAO,EACjD,MAAM,EAEV,IAAM,EACF,GACA,OAAQ,GAAoC,YAAe,SACpD,EAAiC,WAAa,IAC/C,KACJ,EAGI,KAAK,IAFX,IAAe,KAEA,EAAe,IAAM,EAAU,GAD/B,EACmC,CAAQ,EAC9D,IAAU,CAAE,UAAS,QAAO,OAAM,CAAC,EACnC,MAAM,EAAK,EAAO,CAAM,CAC5B,CACJ,CAEA,MAAM,CACV"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
//#region src/http/retry.ts
|
|
2
|
+
function e(e, t) {
|
|
3
|
+
return new Promise((n, r) => {
|
|
4
|
+
if (t?.aborted) {
|
|
5
|
+
r(new DOMException("Aborted", "AbortError"));
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
let i = setTimeout(n, e);
|
|
9
|
+
t?.addEventListener("abort", () => {
|
|
10
|
+
clearTimeout(i), r(new DOMException("Aborted", "AbortError"));
|
|
11
|
+
}, { once: !0 });
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
async function t(t, n = {}) {
|
|
15
|
+
let { retries: r = 3, initialDelay: i = 300, maxDelay: a = 1e4, respectRetryAfter: o = !0, shouldRetry: s = () => !0, onRetry: c, signal: l } = n, u = 0, d;
|
|
16
|
+
for (; u < r;) {
|
|
17
|
+
if (l?.aborted) throw new DOMException("Aborted", "AbortError");
|
|
18
|
+
try {
|
|
19
|
+
return await t();
|
|
20
|
+
} catch (t) {
|
|
21
|
+
if (d = t, u += 1, u >= r || !s(t, u)) throw t;
|
|
22
|
+
let n = o && typeof t?.retryAfter == "number" ? t.retryAfter * 1e3 : null, f = Math.min(n === null ? i * 2 ** (u - 1) : n, a);
|
|
23
|
+
c?.({
|
|
24
|
+
attempt: u,
|
|
25
|
+
delay: f,
|
|
26
|
+
error: t
|
|
27
|
+
}), await e(f, l);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
throw d;
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { t as retry };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=retry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.js","names":[],"sources":["../../src/http/retry.ts"],"sourcesContent":["export interface RetryOptions {\n /** Max attempts (including the first). Default: 3. */\n retries?: number;\n /** Initial backoff in ms. Doubles each attempt, capped at `maxDelay`. Default: 300. */\n initialDelay?: number;\n /** Maximum delay between attempts. Default: 10_000. */\n maxDelay?: number;\n /**\n * Honor a `Retry-After` hint on the thrown error (`error.retryAfter`, in\n * seconds — populated by {@link createApiClient} on `429`/`503`). When\n * present it overrides the exponential backoff for that attempt. The value\n * is capped at `maxDelay`. Default: true.\n */\n respectRetryAfter?: boolean;\n /**\n * Return false to stop retrying for a specific error.\n * Default: retry on any thrown error.\n */\n shouldRetry?: (error: unknown, attempt: number) => boolean;\n /** Called before each retry with the upcoming delay. */\n onRetry?: (info: { attempt: number; delay: number; error: unknown }) => void;\n /** Cancel pending retries. */\n signal?: AbortSignal;\n}\n\nfunction wait(ms: number, signal?: AbortSignal): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (signal?.aborted) {\n reject(new DOMException(\"Aborted\", \"AbortError\"));\n return;\n }\n const timer = setTimeout(resolve, ms);\n signal?.addEventListener(\n \"abort\",\n () => {\n clearTimeout(timer);\n reject(new DOMException(\"Aborted\", \"AbortError\"));\n },\n { once: true },\n );\n });\n}\n\n/**\n * Run `factory()` with exponential backoff. Each attempt awaits an\n * increasing delay capped at `maxDelay`. Throws the last error if every\n * attempt fails.\n *\n * @example\n * const data = await retry(() => api.get(\"/flaky\"), { retries: 5 });\n */\nexport async function retry<T>(factory: () => Promise<T>, options: RetryOptions = {}): Promise<T> {\n const {\n retries = 3,\n initialDelay = 300,\n maxDelay = 10_000,\n respectRetryAfter = true,\n shouldRetry = () => true,\n onRetry,\n signal,\n } = options;\n\n let attempt = 0;\n let lastError: unknown;\n\n while (attempt < retries) {\n if (signal?.aborted) throw new DOMException(\"Aborted\", \"AbortError\");\n try {\n return await factory();\n } catch (error) {\n lastError = error;\n attempt += 1;\n if (attempt >= retries || !shouldRetry(error, attempt)) {\n throw error;\n }\n const retryAfter =\n respectRetryAfter &&\n typeof (error as { retryAfter?: unknown })?.retryAfter === \"number\"\n ? (error as { retryAfter: number }).retryAfter * 1000\n : null;\n const delay =\n retryAfter !== null\n ? Math.min(retryAfter, maxDelay)\n : Math.min(initialDelay * 2 ** (attempt - 1), maxDelay);\n onRetry?.({ attempt, delay, error });\n await wait(delay, signal);\n }\n }\n\n throw lastError;\n}\n"],"mappings":";AAyBA,SAAS,EAAK,GAAY,GAAqC;CAC3D,OAAO,IAAI,SAAe,GAAS,MAAW;EAC1C,IAAI,GAAQ,SAAS;GACjB,EAAO,IAAI,aAAa,WAAW,YAAY,CAAC;GAChD;EACJ;EACA,IAAM,IAAQ,WAAW,GAAS,CAAE;EACpC,GAAQ,iBACJ,eACM;GAEF,AADA,aAAa,CAAK,GAClB,EAAO,IAAI,aAAa,WAAW,YAAY,CAAC;EACpD,GACA,EAAE,MAAM,GAAK,CACjB;CACJ,CAAC;AACL;AAUA,eAAsB,EAAS,GAA2B,IAAwB,CAAC,GAAe;CAC9F,IAAM,EACF,aAAU,GACV,kBAAe,KACf,cAAW,KACX,uBAAoB,IACpB,uBAAoB,IACpB,YACA,cACA,GAEA,IAAU,GACV;CAEJ,OAAO,IAAU,IAAS;EACtB,IAAI,GAAQ,SAAS,MAAM,IAAI,aAAa,WAAW,YAAY;EACnE,IAAI;GACA,OAAO,MAAM,EAAQ;EACzB,SAAS,GAAO;GAGZ,IAFA,IAAY,GACZ,KAAW,GACP,KAAW,KAAW,CAAC,EAAY,GAAO,CAAO,GACjD,MAAM;GAEV,IAAM,IACF,KACA,OAAQ,GAAoC,cAAe,WACpD,EAAiC,aAAa,MAC/C,MACJ,IAGI,KAAK,IAFX,MAAe,OAEA,IAAe,MAAM,IAAU,KAD/B,GACmC,CAAQ;GAE9D,AADA,IAAU;IAAE;IAAS;IAAO;GAAM,CAAC,GACnC,MAAM,EAAK,GAAO,CAAM;EAC5B;CACJ;CAEA,MAAM;AACV"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("../utils/ids.cjs"),t=require("./errors.cjs");function n(e){if(!e)return null;try{return JSON.parse(e)}catch{return e}}function r(r){let{url:i,body:a,method:o=`POST`,headers:s={},getToken:c,withCredentials:l=!1,onProgress:u,signal:d,parser:f=JSON.parse,requestId:p}=r;return new Promise((r,m)=>{if(d?.aborted){m(new DOMException(`Aborted`,`AbortError`));return}let h=new XMLHttpRequest;h.open(o,i),h.withCredentials=l;let g=c?.(),_=p?p():e.randomId(),v={...s};g&&!(`Authorization`in v)&&(v.Authorization=`Bearer ${g}`),_&&!(`X-Request-ID`in v)&&(v[`X-Request-ID`]=_);for(let[e,t]of Object.entries(v))h.setRequestHeader(e,t);u&&(h.upload.onprogress=e=>{u({loaded:e.loaded,total:e.total,fraction:e.lengthComputable?e.loaded/e.total:null,lengthComputable:e.lengthComputable})});function y(){h.abort()}d?.addEventListener(`abort`,y),h.onload=()=>{d?.removeEventListener(`abort`,y);let e=h.status>=200&&h.status<300,i=h.getResponseHeader(`content-type`)??``;if(!e){let e=n(h.responseText);m(new t.TempestApiError(t.buildApiError(h.status,e,{get:e=>h.getResponseHeader(e)},_)));return}if(h.status===204||!h.responseText){r(void 0);return}if(i.includes(`application/json`))try{r(f(h.responseText))}catch(e){m(e)}else r(h.responseText)},h.onerror=()=>{d?.removeEventListener(`abort`,y),m(new t.TempestApiError({status:0,detail:`Falha de rede no upload.`,requestId:_||void 0}))},h.onabort=()=>{d?.removeEventListener(`abort`,y),m(new DOMException(`Aborted`,`AbortError`))},h.send(a)})}exports.uploadWithProgress=r;
|
|
2
|
+
//# sourceMappingURL=upload-with-progress.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload-with-progress.cjs","names":[],"sources":["../../src/http/upload-with-progress.ts"],"sourcesContent":["import { randomId } from \"../utils\";\nimport { buildApiError, TempestApiError } from \"./errors\";\n\nexport interface UploadProgressEvent {\n /** Bytes already uploaded. */\n loaded: number;\n /** Total payload size in bytes — only meaningful when `lengthComputable` is true. */\n total: number;\n /** Fraction between 0 and 1, or null when total is unknown. */\n fraction: number | null;\n lengthComputable: boolean;\n}\n\nexport interface UploadWithProgressOptions {\n url: string;\n body: FormData | Blob | File;\n method?: \"POST\" | \"PUT\" | \"PATCH\";\n headers?: Record<string, string>;\n /** Returns the current bearer token. */\n getToken?: () => string | null | undefined;\n /** Send cookies. Defaults to false. */\n withCredentials?: boolean;\n /** Called on every `progress` event from the XHR upload channel. */\n onProgress?: (event: UploadProgressEvent) => void;\n /** Abort the request. */\n signal?: AbortSignal;\n /** Override the JSON parser. Defaults to `JSON.parse`. */\n parser?: (raw: string) => unknown;\n /**\n * Per-request correlation id sent as `X-Request-ID` (Tempest convention).\n * Defaults to a generated id. Return an empty string to disable.\n */\n requestId?: () => string;\n}\n\nfunction parseErrorBody(raw: string): unknown {\n if (!raw) return null;\n try {\n return JSON.parse(raw);\n } catch {\n return raw;\n }\n}\n\n/**\n * Upload a file (or any payload) with byte-level progress reporting.\n *\n * `fetch` cannot report upload progress in browsers, so this helper falls\n * back to `XMLHttpRequest`. It mirrors the error contract used by\n * {@link createApiClient}: non-2xx responses reject with a `TempestApiError`.\n *\n * @returns The parsed JSON response, or the raw text when the response is not JSON.\n */\nexport function uploadWithProgress<T = unknown>(options: UploadWithProgressOptions): Promise<T> {\n const {\n url,\n body,\n method = \"POST\",\n headers = {},\n getToken,\n withCredentials = false,\n onProgress,\n signal,\n parser = JSON.parse,\n requestId,\n } = options;\n\n return new Promise<T>((resolve, reject) => {\n if (signal?.aborted) {\n reject(new DOMException(\"Aborted\", \"AbortError\"));\n return;\n }\n\n const xhr = new XMLHttpRequest();\n xhr.open(method, url);\n xhr.withCredentials = withCredentials;\n\n const token = getToken?.();\n const sentRequestId = requestId ? requestId() : randomId();\n const finalHeaders: Record<string, string> = { ...headers };\n if (token && !(\"Authorization\" in finalHeaders)) {\n finalHeaders.Authorization = `Bearer ${token}`;\n }\n if (sentRequestId && !(\"X-Request-ID\" in finalHeaders)) {\n finalHeaders[\"X-Request-ID\"] = sentRequestId;\n }\n for (const [key, value] of Object.entries(finalHeaders)) {\n xhr.setRequestHeader(key, value);\n }\n\n if (onProgress) {\n xhr.upload.onprogress = (event) => {\n onProgress({\n loaded: event.loaded,\n total: event.total,\n fraction: event.lengthComputable ? event.loaded / event.total : null,\n lengthComputable: event.lengthComputable,\n });\n };\n }\n\n function handleAbort(): void {\n xhr.abort();\n }\n signal?.addEventListener(\"abort\", handleAbort);\n\n xhr.onload = () => {\n signal?.removeEventListener(\"abort\", handleAbort);\n const isSuccess = xhr.status >= 200 && xhr.status < 300;\n const contentType = xhr.getResponseHeader(\"content-type\") ?? \"\";\n\n if (!isSuccess) {\n const errorBody = parseErrorBody(xhr.responseText);\n reject(\n new TempestApiError(\n buildApiError(\n xhr.status,\n errorBody,\n { get: (name) => xhr.getResponseHeader(name) },\n sentRequestId,\n ),\n ),\n );\n return;\n }\n\n if (xhr.status === 204 || !xhr.responseText) {\n resolve(undefined as T);\n return;\n }\n\n if (contentType.includes(\"application/json\")) {\n try {\n resolve(parser(xhr.responseText) as T);\n } catch (err) {\n reject(err);\n }\n } else {\n resolve(xhr.responseText as unknown as T);\n }\n };\n\n xhr.onerror = () => {\n signal?.removeEventListener(\"abort\", handleAbort);\n reject(\n new TempestApiError({\n status: 0,\n detail: \"Falha de rede no upload.\",\n requestId: sentRequestId || undefined,\n }),\n );\n };\n\n xhr.onabort = () => {\n signal?.removeEventListener(\"abort\", handleAbort);\n reject(new DOMException(\"Aborted\", \"AbortError\"));\n };\n\n xhr.send(body);\n });\n}\n"],"mappings":"8DAmCA,SAAS,EAAe,EAAsB,CAC1C,GAAI,CAAC,EAAK,OAAO,KACjB,GAAI,CACA,OAAO,KAAK,MAAM,CAAG,CACzB,MAAQ,CACJ,OAAO,CACX,CACJ,CAWA,SAAgB,EAAgC,EAAgD,CAC5F,GAAM,CACF,MACA,OACA,SAAS,OACT,UAAU,CAAC,EACX,WACA,kBAAkB,GAClB,aACA,SACA,SAAS,KAAK,MACd,aACA,EAEJ,OAAO,IAAI,SAAY,EAAS,IAAW,CACvC,GAAI,GAAQ,QAAS,CACjB,EAAO,IAAI,aAAa,UAAW,YAAY,CAAC,EAChD,MACJ,CAEA,IAAM,EAAM,IAAI,eAChB,EAAI,KAAK,EAAQ,CAAG,EACpB,EAAI,gBAAkB,EAEtB,IAAM,EAAQ,IAAW,EACnB,EAAgB,EAAY,EAAU,EAAI,EAAA,SAAS,EACnD,EAAuC,CAAE,GAAG,CAAQ,EACtD,GAAS,EAAE,kBAAmB,KAC9B,EAAa,cAAgB,UAAU,KAEvC,GAAiB,EAAE,iBAAkB,KACrC,EAAa,gBAAkB,GAEnC,IAAK,GAAM,CAAC,EAAK,KAAU,OAAO,QAAQ,CAAY,EAClD,EAAI,iBAAiB,EAAK,CAAK,EAG/B,IACA,EAAI,OAAO,WAAc,GAAU,CAC/B,EAAW,CACP,OAAQ,EAAM,OACd,MAAO,EAAM,MACb,SAAU,EAAM,iBAAmB,EAAM,OAAS,EAAM,MAAQ,KAChE,iBAAkB,EAAM,gBAC5B,CAAC,CACL,GAGJ,SAAS,GAAoB,CACzB,EAAI,MAAM,CACd,CACA,GAAQ,iBAAiB,QAAS,CAAW,EAE7C,EAAI,WAAe,CACf,GAAQ,oBAAoB,QAAS,CAAW,EAChD,IAAM,EAAY,EAAI,QAAU,KAAO,EAAI,OAAS,IAC9C,EAAc,EAAI,kBAAkB,cAAc,GAAK,GAE7D,GAAI,CAAC,EAAW,CACZ,IAAM,EAAY,EAAe,EAAI,YAAY,EACjD,EACI,IAAI,EAAA,gBACA,EAAA,cACI,EAAI,OACJ,EACA,CAAE,IAAM,GAAS,EAAI,kBAAkB,CAAI,CAAE,EAC7C,CACJ,CACJ,CACJ,EACA,MACJ,CAEA,GAAI,EAAI,SAAW,KAAO,CAAC,EAAI,aAAc,CACzC,EAAQ,IAAA,EAAc,EACtB,MACJ,CAEA,GAAI,EAAY,SAAS,kBAAkB,EACvC,GAAI,CACA,EAAQ,EAAO,EAAI,YAAY,CAAM,CACzC,OAAS,EAAK,CACV,EAAO,CAAG,CACd,MAEA,EAAQ,EAAI,YAA4B,CAEhD,EAEA,EAAI,YAAgB,CAChB,GAAQ,oBAAoB,QAAS,CAAW,EAChD,EACI,IAAI,EAAA,gBAAgB,CAChB,OAAQ,EACR,OAAQ,2BACR,UAAW,GAAiB,IAAA,EAChC,CAAC,CACL,CACJ,EAEA,EAAI,YAAgB,CAChB,GAAQ,oBAAoB,QAAS,CAAW,EAChD,EAAO,IAAI,aAAa,UAAW,YAAY,CAAC,CACpD,EAEA,EAAI,KAAK,CAAI,CACjB,CAAC,CACL"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { randomId as e } from "../utils/ids.js";
|
|
2
|
+
import { TempestApiError as t, buildApiError as n } from "./errors.js";
|
|
3
|
+
//#region src/http/upload-with-progress.ts
|
|
4
|
+
function r(e) {
|
|
5
|
+
if (!e) return null;
|
|
6
|
+
try {
|
|
7
|
+
return JSON.parse(e);
|
|
8
|
+
} catch {
|
|
9
|
+
return e;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
function i(i) {
|
|
13
|
+
let { url: a, body: o, method: s = "POST", headers: c = {}, getToken: l, withCredentials: u = !1, onProgress: d, signal: f, parser: p = JSON.parse, requestId: m } = i;
|
|
14
|
+
return new Promise((i, h) => {
|
|
15
|
+
if (f?.aborted) {
|
|
16
|
+
h(new DOMException("Aborted", "AbortError"));
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
let g = new XMLHttpRequest();
|
|
20
|
+
g.open(s, a), g.withCredentials = u;
|
|
21
|
+
let _ = l?.(), v = m ? m() : e(), y = { ...c };
|
|
22
|
+
_ && !("Authorization" in y) && (y.Authorization = `Bearer ${_}`), v && !("X-Request-ID" in y) && (y["X-Request-ID"] = v);
|
|
23
|
+
for (let [e, t] of Object.entries(y)) g.setRequestHeader(e, t);
|
|
24
|
+
d && (g.upload.onprogress = (e) => {
|
|
25
|
+
d({
|
|
26
|
+
loaded: e.loaded,
|
|
27
|
+
total: e.total,
|
|
28
|
+
fraction: e.lengthComputable ? e.loaded / e.total : null,
|
|
29
|
+
lengthComputable: e.lengthComputable
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
function b() {
|
|
33
|
+
g.abort();
|
|
34
|
+
}
|
|
35
|
+
f?.addEventListener("abort", b), g.onload = () => {
|
|
36
|
+
f?.removeEventListener("abort", b);
|
|
37
|
+
let e = g.status >= 200 && g.status < 300, a = g.getResponseHeader("content-type") ?? "";
|
|
38
|
+
if (!e) {
|
|
39
|
+
let e = r(g.responseText);
|
|
40
|
+
h(new t(n(g.status, e, { get: (e) => g.getResponseHeader(e) }, v)));
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (g.status === 204 || !g.responseText) {
|
|
44
|
+
i(void 0);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (a.includes("application/json")) try {
|
|
48
|
+
i(p(g.responseText));
|
|
49
|
+
} catch (e) {
|
|
50
|
+
h(e);
|
|
51
|
+
}
|
|
52
|
+
else i(g.responseText);
|
|
53
|
+
}, g.onerror = () => {
|
|
54
|
+
f?.removeEventListener("abort", b), h(new t({
|
|
55
|
+
status: 0,
|
|
56
|
+
detail: "Falha de rede no upload.",
|
|
57
|
+
requestId: v || void 0
|
|
58
|
+
}));
|
|
59
|
+
}, g.onabort = () => {
|
|
60
|
+
f?.removeEventListener("abort", b), h(new DOMException("Aborted", "AbortError"));
|
|
61
|
+
}, g.send(o);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
//#endregion
|
|
65
|
+
export { i as uploadWithProgress };
|
|
66
|
+
|
|
67
|
+
//# sourceMappingURL=upload-with-progress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload-with-progress.js","names":[],"sources":["../../src/http/upload-with-progress.ts"],"sourcesContent":["import { randomId } from \"../utils\";\nimport { buildApiError, TempestApiError } from \"./errors\";\n\nexport interface UploadProgressEvent {\n /** Bytes already uploaded. */\n loaded: number;\n /** Total payload size in bytes — only meaningful when `lengthComputable` is true. */\n total: number;\n /** Fraction between 0 and 1, or null when total is unknown. */\n fraction: number | null;\n lengthComputable: boolean;\n}\n\nexport interface UploadWithProgressOptions {\n url: string;\n body: FormData | Blob | File;\n method?: \"POST\" | \"PUT\" | \"PATCH\";\n headers?: Record<string, string>;\n /** Returns the current bearer token. */\n getToken?: () => string | null | undefined;\n /** Send cookies. Defaults to false. */\n withCredentials?: boolean;\n /** Called on every `progress` event from the XHR upload channel. */\n onProgress?: (event: UploadProgressEvent) => void;\n /** Abort the request. */\n signal?: AbortSignal;\n /** Override the JSON parser. Defaults to `JSON.parse`. */\n parser?: (raw: string) => unknown;\n /**\n * Per-request correlation id sent as `X-Request-ID` (Tempest convention).\n * Defaults to a generated id. Return an empty string to disable.\n */\n requestId?: () => string;\n}\n\nfunction parseErrorBody(raw: string): unknown {\n if (!raw) return null;\n try {\n return JSON.parse(raw);\n } catch {\n return raw;\n }\n}\n\n/**\n * Upload a file (or any payload) with byte-level progress reporting.\n *\n * `fetch` cannot report upload progress in browsers, so this helper falls\n * back to `XMLHttpRequest`. It mirrors the error contract used by\n * {@link createApiClient}: non-2xx responses reject with a `TempestApiError`.\n *\n * @returns The parsed JSON response, or the raw text when the response is not JSON.\n */\nexport function uploadWithProgress<T = unknown>(options: UploadWithProgressOptions): Promise<T> {\n const {\n url,\n body,\n method = \"POST\",\n headers = {},\n getToken,\n withCredentials = false,\n onProgress,\n signal,\n parser = JSON.parse,\n requestId,\n } = options;\n\n return new Promise<T>((resolve, reject) => {\n if (signal?.aborted) {\n reject(new DOMException(\"Aborted\", \"AbortError\"));\n return;\n }\n\n const xhr = new XMLHttpRequest();\n xhr.open(method, url);\n xhr.withCredentials = withCredentials;\n\n const token = getToken?.();\n const sentRequestId = requestId ? requestId() : randomId();\n const finalHeaders: Record<string, string> = { ...headers };\n if (token && !(\"Authorization\" in finalHeaders)) {\n finalHeaders.Authorization = `Bearer ${token}`;\n }\n if (sentRequestId && !(\"X-Request-ID\" in finalHeaders)) {\n finalHeaders[\"X-Request-ID\"] = sentRequestId;\n }\n for (const [key, value] of Object.entries(finalHeaders)) {\n xhr.setRequestHeader(key, value);\n }\n\n if (onProgress) {\n xhr.upload.onprogress = (event) => {\n onProgress({\n loaded: event.loaded,\n total: event.total,\n fraction: event.lengthComputable ? event.loaded / event.total : null,\n lengthComputable: event.lengthComputable,\n });\n };\n }\n\n function handleAbort(): void {\n xhr.abort();\n }\n signal?.addEventListener(\"abort\", handleAbort);\n\n xhr.onload = () => {\n signal?.removeEventListener(\"abort\", handleAbort);\n const isSuccess = xhr.status >= 200 && xhr.status < 300;\n const contentType = xhr.getResponseHeader(\"content-type\") ?? \"\";\n\n if (!isSuccess) {\n const errorBody = parseErrorBody(xhr.responseText);\n reject(\n new TempestApiError(\n buildApiError(\n xhr.status,\n errorBody,\n { get: (name) => xhr.getResponseHeader(name) },\n sentRequestId,\n ),\n ),\n );\n return;\n }\n\n if (xhr.status === 204 || !xhr.responseText) {\n resolve(undefined as T);\n return;\n }\n\n if (contentType.includes(\"application/json\")) {\n try {\n resolve(parser(xhr.responseText) as T);\n } catch (err) {\n reject(err);\n }\n } else {\n resolve(xhr.responseText as unknown as T);\n }\n };\n\n xhr.onerror = () => {\n signal?.removeEventListener(\"abort\", handleAbort);\n reject(\n new TempestApiError({\n status: 0,\n detail: \"Falha de rede no upload.\",\n requestId: sentRequestId || undefined,\n }),\n );\n };\n\n xhr.onabort = () => {\n signal?.removeEventListener(\"abort\", handleAbort);\n reject(new DOMException(\"Aborted\", \"AbortError\"));\n };\n\n xhr.send(body);\n });\n}\n"],"mappings":";;;AAmCA,SAAS,EAAe,GAAsB;CAC1C,IAAI,CAAC,GAAK,OAAO;CACjB,IAAI;EACA,OAAO,KAAK,MAAM,CAAG;CACzB,QAAQ;EACJ,OAAO;CACX;AACJ;AAWA,SAAgB,EAAgC,GAAgD;CAC5F,IAAM,EACF,QACA,SACA,YAAS,QACT,aAAU,CAAC,GACX,aACA,qBAAkB,IAClB,eACA,WACA,YAAS,KAAK,OACd,iBACA;CAEJ,OAAO,IAAI,SAAY,GAAS,MAAW;EACvC,IAAI,GAAQ,SAAS;GACjB,EAAO,IAAI,aAAa,WAAW,YAAY,CAAC;GAChD;EACJ;EAEA,IAAM,IAAM,IAAI,eAAe;EAE/B,AADA,EAAI,KAAK,GAAQ,CAAG,GACpB,EAAI,kBAAkB;EAEtB,IAAM,IAAQ,IAAW,GACnB,IAAgB,IAAY,EAAU,IAAI,EAAS,GACnD,IAAuC,EAAE,GAAG,EAAQ;EAI1D,AAHI,KAAS,EAAE,mBAAmB,OAC9B,EAAa,gBAAgB,UAAU,MAEvC,KAAiB,EAAE,kBAAkB,OACrC,EAAa,kBAAkB;EAEnC,KAAK,IAAM,CAAC,GAAK,MAAU,OAAO,QAAQ,CAAY,GAClD,EAAI,iBAAiB,GAAK,CAAK;EAGnC,AAAI,MACA,EAAI,OAAO,cAAc,MAAU;GAC/B,EAAW;IACP,QAAQ,EAAM;IACd,OAAO,EAAM;IACb,UAAU,EAAM,mBAAmB,EAAM,SAAS,EAAM,QAAQ;IAChE,kBAAkB,EAAM;GAC5B,CAAC;EACL;EAGJ,SAAS,IAAoB;GACzB,EAAI,MAAM;EACd;EAuDA,AAtDA,GAAQ,iBAAiB,SAAS,CAAW,GAE7C,EAAI,eAAe;GACf,GAAQ,oBAAoB,SAAS,CAAW;GAChD,IAAM,IAAY,EAAI,UAAU,OAAO,EAAI,SAAS,KAC9C,IAAc,EAAI,kBAAkB,cAAc,KAAK;GAE7D,IAAI,CAAC,GAAW;IACZ,IAAM,IAAY,EAAe,EAAI,YAAY;IACjD,EACI,IAAI,EACA,EACI,EAAI,QACJ,GACA,EAAE,MAAM,MAAS,EAAI,kBAAkB,CAAI,EAAE,GAC7C,CACJ,CACJ,CACJ;IACA;GACJ;GAEA,IAAI,EAAI,WAAW,OAAO,CAAC,EAAI,cAAc;IACzC,EAAQ,KAAA,CAAc;IACtB;GACJ;GAEA,IAAI,EAAY,SAAS,kBAAkB,GACvC,IAAI;IACA,EAAQ,EAAO,EAAI,YAAY,CAAM;GACzC,SAAS,GAAK;IACV,EAAO,CAAG;GACd;QAEA,EAAQ,EAAI,YAA4B;EAEhD,GAEA,EAAI,gBAAgB;GAEhB,AADA,GAAQ,oBAAoB,SAAS,CAAW,GAChD,EACI,IAAI,EAAgB;IAChB,QAAQ;IACR,QAAQ;IACR,WAAW,KAAiB,KAAA;GAChC,CAAC,CACL;EACJ,GAEA,EAAI,gBAAgB;GAEhB,AADA,GAAQ,oBAAoB,SAAS,CAAW,GAChD,EAAO,IAAI,aAAa,WAAW,YAAY,CAAC;EACpD,GAEA,EAAI,KAAK,CAAI;CACjB,CAAC;AACL"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
let e=require("react");function t(t,n){let{interval:r,disabled:i=!1,stopWhen:a,onError:o}=n,[s,c]=(0,e.useState)(null),[l,u]=(0,e.useState)(null),[d,f]=(0,e.useState)(!i),p=(0,e.useRef)(i),m=(0,e.useRef)(!1),h=(0,e.useRef)(null);async function g(){if(!(p.current||m.current)){m.current=!0;try{let e=await t();if(p.current)return;c(e),u(null),a?.(e)&&(p.current=!0)}catch(e){p.current||(u(e),o?.(e))}finally{m.current=!1,f(!1),p.current||(h.current=setTimeout(g,r))}}}return(0,e.useEffect)(()=>{if(p.current=i,i){h.current&&clearTimeout(h.current);return}return f(!0),g(),()=>{p.current=!0,h.current&&clearTimeout(h.current)}},[r,i]),{data:s,error:l,loading:d,stop:()=>{p.current=!0,h.current&&clearTimeout(h.current)},start:()=>{p.current&&(p.current=!1,g())}}}exports.usePoll=t;
|
|
2
|
+
//# sourceMappingURL=use-poll.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-poll.cjs","names":[],"sources":["../../src/http/use-poll.ts"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nexport interface UsePollOptions<T> {\n /** Polling interval in ms. */\n interval: number;\n /** Disable polling without unmounting. Default: false. */\n disabled?: boolean;\n /** Stop polling once the predicate returns true. */\n stopWhen?: (data: T) => boolean;\n /** Called on each error. */\n onError?: (error: unknown) => void;\n}\n\nexport interface UsePollResult<T> {\n data: T | null;\n error: unknown;\n loading: boolean;\n stop: () => void;\n start: () => void;\n}\n\n/**\n * Poll an async factory on a fixed interval. Skips overlapping requests if a\n * prior call has not finished. Pause via `disabled` or `stopWhen`.\n */\nexport function usePoll<T>(\n factory: () => Promise<T>,\n options: UsePollOptions<T>,\n): UsePollResult<T> {\n const { interval, disabled = false, stopWhen, onError } = options;\n const [data, setData] = useState<T | null>(null);\n const [error, setError] = useState<unknown>(null);\n const [loading, setLoading] = useState<boolean>(!disabled);\n const stopped = useRef<boolean>(disabled);\n const inFlight = useRef<boolean>(false);\n const timer = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n async function tick(): Promise<void> {\n if (stopped.current || inFlight.current) return;\n inFlight.current = true;\n try {\n const next = await factory();\n if (stopped.current) return;\n setData(next);\n setError(null);\n if (stopWhen?.(next)) stopped.current = true;\n } catch (err) {\n if (!stopped.current) {\n setError(err);\n onError?.(err);\n }\n } finally {\n inFlight.current = false;\n setLoading(false);\n if (!stopped.current) {\n timer.current = setTimeout(tick, interval);\n }\n }\n }\n\n useEffect(() => {\n stopped.current = disabled;\n if (disabled) {\n if (timer.current) clearTimeout(timer.current);\n return;\n }\n setLoading(true);\n void tick();\n return () => {\n stopped.current = true;\n if (timer.current) clearTimeout(timer.current);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [interval, disabled]);\n\n return {\n data,\n error,\n loading,\n stop: () => {\n stopped.current = true;\n if (timer.current) clearTimeout(timer.current);\n },\n start: () => {\n if (!stopped.current) return;\n stopped.current = false;\n void tick();\n },\n };\n}\n"],"mappings":"uBAyBA,SAAgB,EACZ,EACA,EACgB,CAChB,GAAM,CAAE,WAAU,WAAW,GAAO,WAAU,WAAY,EACpD,CAAC,EAAM,IAAA,EAAA,EAAA,SAAA,CAA8B,IAAI,EACzC,CAAC,EAAO,IAAA,EAAA,EAAA,SAAA,CAA8B,IAAI,EAC1C,CAAC,EAAS,IAAA,EAAA,EAAA,SAAA,CAAgC,CAAC,CAAQ,EACnD,GAAA,EAAA,EAAA,OAAA,CAA0B,CAAQ,EAClC,GAAA,EAAA,EAAA,OAAA,CAA2B,EAAK,EAChC,GAAA,EAAA,EAAA,OAAA,CAAqD,IAAI,EAE/D,eAAe,GAAsB,CAC7B,OAAQ,SAAW,EAAS,SAChC,GAAS,QAAU,GACnB,GAAI,CACA,IAAM,EAAO,MAAM,EAAQ,EAC3B,GAAI,EAAQ,QAAS,OACrB,EAAQ,CAAI,EACZ,EAAS,IAAI,EACT,IAAW,CAAI,IAAG,EAAQ,QAAU,GAC5C,OAAS,EAAK,CACL,EAAQ,UACT,EAAS,CAAG,EACZ,IAAU,CAAG,EAErB,QAAU,CACN,EAAS,QAAU,GACnB,EAAW,EAAK,EACX,EAAQ,UACT,EAAM,QAAU,WAAW,EAAM,CAAQ,EAEjD,CAlBmB,CAmBvB,CAiBA,OAfA,EAAA,EAAA,UAAA,KAAgB,CAEZ,GADA,EAAQ,QAAU,EACd,EAAU,CACN,EAAM,SAAS,aAAa,EAAM,OAAO,EAC7C,MACJ,CAGA,OAFA,EAAW,EAAI,EACf,EAAU,MACG,CACT,EAAQ,QAAU,GACd,EAAM,SAAS,aAAa,EAAM,OAAO,CACjD,CAEJ,EAAG,CAAC,EAAU,CAAQ,CAAC,EAEhB,CACH,OACA,QACA,UACA,SAAY,CACR,EAAQ,QAAU,GACd,EAAM,SAAS,aAAa,EAAM,OAAO,CACjD,EACA,UAAa,CACJ,EAAQ,UACb,EAAQ,QAAU,GAClB,EAAU,EACd,CACJ,CACJ"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { useEffect as e, useRef as t, useState as n } from "react";
|
|
2
|
+
//#region src/http/use-poll.ts
|
|
3
|
+
function r(r, i) {
|
|
4
|
+
let { interval: a, disabled: o = !1, stopWhen: s, onError: c } = i, [l, u] = n(null), [d, f] = n(null), [p, m] = n(!o), h = t(o), g = t(!1), _ = t(null);
|
|
5
|
+
async function v() {
|
|
6
|
+
if (!(h.current || g.current)) {
|
|
7
|
+
g.current = !0;
|
|
8
|
+
try {
|
|
9
|
+
let e = await r();
|
|
10
|
+
if (h.current) return;
|
|
11
|
+
u(e), f(null), s?.(e) && (h.current = !0);
|
|
12
|
+
} catch (e) {
|
|
13
|
+
h.current || (f(e), c?.(e));
|
|
14
|
+
} finally {
|
|
15
|
+
g.current = !1, m(!1), h.current || (_.current = setTimeout(v, a));
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return e(() => {
|
|
20
|
+
if (h.current = o, o) {
|
|
21
|
+
_.current && clearTimeout(_.current);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
return m(!0), v(), () => {
|
|
25
|
+
h.current = !0, _.current && clearTimeout(_.current);
|
|
26
|
+
};
|
|
27
|
+
}, [a, o]), {
|
|
28
|
+
data: l,
|
|
29
|
+
error: d,
|
|
30
|
+
loading: p,
|
|
31
|
+
stop: () => {
|
|
32
|
+
h.current = !0, _.current && clearTimeout(_.current);
|
|
33
|
+
},
|
|
34
|
+
start: () => {
|
|
35
|
+
h.current && (h.current = !1, v());
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
//#endregion
|
|
40
|
+
export { r as usePoll };
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=use-poll.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-poll.js","names":[],"sources":["../../src/http/use-poll.ts"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nexport interface UsePollOptions<T> {\n /** Polling interval in ms. */\n interval: number;\n /** Disable polling without unmounting. Default: false. */\n disabled?: boolean;\n /** Stop polling once the predicate returns true. */\n stopWhen?: (data: T) => boolean;\n /** Called on each error. */\n onError?: (error: unknown) => void;\n}\n\nexport interface UsePollResult<T> {\n data: T | null;\n error: unknown;\n loading: boolean;\n stop: () => void;\n start: () => void;\n}\n\n/**\n * Poll an async factory on a fixed interval. Skips overlapping requests if a\n * prior call has not finished. Pause via `disabled` or `stopWhen`.\n */\nexport function usePoll<T>(\n factory: () => Promise<T>,\n options: UsePollOptions<T>,\n): UsePollResult<T> {\n const { interval, disabled = false, stopWhen, onError } = options;\n const [data, setData] = useState<T | null>(null);\n const [error, setError] = useState<unknown>(null);\n const [loading, setLoading] = useState<boolean>(!disabled);\n const stopped = useRef<boolean>(disabled);\n const inFlight = useRef<boolean>(false);\n const timer = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n async function tick(): Promise<void> {\n if (stopped.current || inFlight.current) return;\n inFlight.current = true;\n try {\n const next = await factory();\n if (stopped.current) return;\n setData(next);\n setError(null);\n if (stopWhen?.(next)) stopped.current = true;\n } catch (err) {\n if (!stopped.current) {\n setError(err);\n onError?.(err);\n }\n } finally {\n inFlight.current = false;\n setLoading(false);\n if (!stopped.current) {\n timer.current = setTimeout(tick, interval);\n }\n }\n }\n\n useEffect(() => {\n stopped.current = disabled;\n if (disabled) {\n if (timer.current) clearTimeout(timer.current);\n return;\n }\n setLoading(true);\n void tick();\n return () => {\n stopped.current = true;\n if (timer.current) clearTimeout(timer.current);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [interval, disabled]);\n\n return {\n data,\n error,\n loading,\n stop: () => {\n stopped.current = true;\n if (timer.current) clearTimeout(timer.current);\n },\n start: () => {\n if (!stopped.current) return;\n stopped.current = false;\n void tick();\n },\n };\n}\n"],"mappings":";;AAyBA,SAAgB,EACZ,GACA,GACgB;CAChB,IAAM,EAAE,aAAU,cAAW,IAAO,aAAU,eAAY,GACpD,CAAC,GAAM,KAAW,EAAmB,IAAI,GACzC,CAAC,GAAO,KAAY,EAAkB,IAAI,GAC1C,CAAC,GAAS,KAAc,EAAkB,CAAC,CAAQ,GACnD,IAAU,EAAgB,CAAQ,GAClC,IAAW,EAAgB,EAAK,GAChC,IAAQ,EAA6C,IAAI;CAE/D,eAAe,IAAsB;EAC7B,QAAQ,WAAW,EAAS,UAChC;KAAS,UAAU;GACnB,IAAI;IACA,IAAM,IAAO,MAAM,EAAQ;IAC3B,IAAI,EAAQ,SAAS;IAGrB,AAFA,EAAQ,CAAI,GACZ,EAAS,IAAI,GACT,IAAW,CAAI,MAAG,EAAQ,UAAU;GAC5C,SAAS,GAAK;IACV,AAAK,EAAQ,YACT,EAAS,CAAG,GACZ,IAAU,CAAG;GAErB,UAAU;IAGN,AAFA,EAAS,UAAU,IACnB,EAAW,EAAK,GACX,EAAQ,YACT,EAAM,UAAU,WAAW,GAAM,CAAQ;GAEjD;EAlBmB;CAmBvB;CAiBA,OAfA,QAAgB;EAEZ,IADA,EAAQ,UAAU,GACd,GAAU;GACV,AAAI,EAAM,WAAS,aAAa,EAAM,OAAO;GAC7C;EACJ;EAGA,OAFA,EAAW,EAAI,GACf,EAAU,SACG;GAET,AADA,EAAQ,UAAU,IACd,EAAM,WAAS,aAAa,EAAM,OAAO;EACjD;CAEJ,GAAG,CAAC,GAAU,CAAQ,CAAC,GAEhB;EACH;EACA;EACA;EACA,YAAY;GAER,AADA,EAAQ,UAAU,IACd,EAAM,WAAS,aAAa,EAAM,OAAO;EACjD;EACA,aAAa;GACJ,EAAQ,YACb,EAAQ,UAAU,IAClB,EAAU;EACd;CACJ;AACJ"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("./create-i18n.cjs");let t=require("react"),n=require("react/jsx-runtime");var r=(0,t.createContext)(null);function i(e,t){if(!e||typeof window>`u`)return null;try{let n=window.localStorage.getItem(e);return n&&t.includes(n)?n:null}catch{return null}}function a({children:a,locale:o,fallbackLocale:s,messages:c,storageKey:l=`tempest-locale`}){let u=(0,t.useMemo)(()=>Object.keys(c),[c]),[d,f]=(0,t.useState)(()=>i(l,u)??o);(0,t.useEffect)(()=>{typeof document<`u`&&document.documentElement.setAttribute(`lang`,d)},[d]);let p=(0,t.useCallback)(e=>{if(f(e),l&&typeof window<`u`)try{window.localStorage.setItem(l,e)}catch{}},[l]),m=(0,t.useMemo)(()=>({...e.createI18n({locale:d,fallbackLocale:s,messages:c}),setLocale:p,availableLocales:u}),[d,s,c,p,u]);return(0,n.jsx)(r.Provider,{value:m,children:a})}function o(){let e=(0,t.useContext)(r);if(!e)throw Error(`useI18n must be used inside an <I18nProvider>`);return e}function s(){return o().t}exports.I18nProvider=a,exports.useI18n=o,exports.useTranslate=s;
|
|
2
|
+
//# sourceMappingURL=I18nProvider.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"I18nProvider.cjs","names":[],"sources":["../../src/i18n/I18nProvider.tsx"],"sourcesContent":["import { createContext, useCallback, useContext, useEffect, useMemo, useState } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { createI18n, type Catalog, type I18n } from \"./create-i18n\";\n\nexport interface I18nContextValue extends I18n {\n /** Switch the active locale. Persisted when `storageKey` is set. */\n setLocale: (locale: string) => void;\n /** Locales available in the catalog. */\n availableLocales: string[];\n}\n\nconst I18nContext = createContext<I18nContextValue | null>(null);\n\nexport interface I18nProviderProps {\n children: ReactNode;\n /** Initial locale. */\n locale: string;\n /** Fallback locale used when a key is missing. */\n fallbackLocale?: string;\n /** Translation catalog. */\n messages: Catalog;\n /** localStorage key for persisting the user choice. Pass `null` to disable. Default: `\"tempest-locale\"`. */\n storageKey?: string | null;\n}\n\nfunction readStored(storageKey: string | null, available: string[]): string | null {\n if (!storageKey || typeof window === \"undefined\") return null;\n try {\n const value = window.localStorage.getItem(storageKey);\n if (value && available.includes(value)) return value;\n return null;\n } catch {\n return null;\n }\n}\n\n/**\n * React provider for the SDK's lightweight i18n. Exposes the translation\n * helpers and a `setLocale` setter to children.\n */\nexport function I18nProvider({\n children,\n locale: initialLocale,\n fallbackLocale,\n messages,\n storageKey = \"tempest-locale\",\n}: I18nProviderProps) {\n const availableLocales = useMemo(() => Object.keys(messages), [messages]);\n const [locale, setLocaleState] = useState<string>(\n () => readStored(storageKey, availableLocales) ?? initialLocale,\n );\n\n useEffect(() => {\n if (typeof document !== \"undefined\") {\n document.documentElement.setAttribute(\"lang\", locale);\n }\n }, [locale]);\n\n const setLocale = useCallback(\n (next: string) => {\n setLocaleState(next);\n if (storageKey && typeof window !== \"undefined\") {\n try {\n window.localStorage.setItem(storageKey, next);\n } catch {\n /* ignore quota errors */\n }\n }\n },\n [storageKey],\n );\n\n const value = useMemo<I18nContextValue>(() => {\n const i18n = createI18n({ locale, fallbackLocale, messages });\n return { ...i18n, setLocale, availableLocales };\n }, [locale, fallbackLocale, messages, setLocale, availableLocales]);\n\n return <I18nContext.Provider value={value}>{children}</I18nContext.Provider>;\n}\n\n/**\n * Access translation helpers. Must be used inside an {@link I18nProvider}.\n */\nexport function useI18n(): I18nContextValue {\n const ctx = useContext(I18nContext);\n if (!ctx) throw new Error(\"useI18n must be used inside an <I18nProvider>\");\n return ctx;\n}\n\n/**\n * Shortcut for components that only need the `t` function — avoids destructuring.\n */\nexport function useTranslate(): I18nContextValue[\"t\"] {\n return useI18n().t;\n}\n"],"mappings":"2FAWA,IAAM,GAAA,EAAA,EAAA,cAAA,CAAqD,IAAI,EAc/D,SAAS,EAAW,EAA2B,EAAoC,CAC/E,GAAI,CAAC,GAAc,OAAO,OAAW,IAAa,OAAO,KACzD,GAAI,CACA,IAAM,EAAQ,OAAO,aAAa,QAAQ,CAAU,EAEpD,OADI,GAAS,EAAU,SAAS,CAAK,EAAU,EACxC,IACX,MAAQ,CACJ,OAAO,IACX,CACJ,CAMA,SAAgB,EAAa,CACzB,WACA,OAAQ,EACR,iBACA,WACA,aAAa,kBACK,CAClB,IAAM,GAAA,EAAA,EAAA,QAAA,KAAiC,OAAO,KAAK,CAAQ,EAAG,CAAC,CAAQ,CAAC,EAClE,CAAC,EAAQ,IAAA,EAAA,EAAA,SAAA,KACL,EAAW,EAAY,CAAgB,GAAK,CACtD,GAEA,EAAA,EAAA,UAAA,KAAgB,CACR,OAAO,SAAa,KACpB,SAAS,gBAAgB,aAAa,OAAQ,CAAM,CAE5D,EAAG,CAAC,CAAM,CAAC,EAEX,IAAM,GAAA,EAAA,EAAA,YAAA,CACD,GAAiB,CAEd,GADA,EAAe,CAAI,EACf,GAAc,OAAO,OAAW,IAChC,GAAI,CACA,OAAO,aAAa,QAAQ,EAAY,CAAI,CAChD,MAAQ,CAER,CAER,EACA,CAAC,CAAU,CACf,EAEM,GAAA,EAAA,EAAA,QAAA,MAEK,CAAE,GADI,EAAA,WAAW,CAAE,SAAQ,iBAAgB,UAAS,CAC/C,EAAM,YAAW,kBAAiB,GAC/C,CAAC,EAAQ,EAAgB,EAAU,EAAW,CAAgB,CAAC,EAElE,OAAO,EAAA,EAAA,IAAA,CAAC,EAAY,SAAb,CAA6B,QAAQ,UAA+B,CAAA,CAC/E,CAKA,SAAgB,GAA4B,CACxC,IAAM,GAAA,EAAA,EAAA,WAAA,CAAiB,CAAW,EAClC,GAAI,CAAC,EAAK,MAAU,MAAM,+CAA+C,EACzE,OAAO,CACX,CAKA,SAAgB,GAAsC,CAClD,OAAO,EAAQ,CAAC,CAAC,CACrB"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { createI18n as e } from "./create-i18n.js";
|
|
2
|
+
import { createContext as t, useCallback as n, useContext as r, useEffect as i, useMemo as a, useState as o } from "react";
|
|
3
|
+
import { jsx as s } from "react/jsx-runtime";
|
|
4
|
+
//#region src/i18n/I18nProvider.tsx
|
|
5
|
+
var c = t(null);
|
|
6
|
+
function l(e, t) {
|
|
7
|
+
if (!e || typeof window > "u") return null;
|
|
8
|
+
try {
|
|
9
|
+
let n = window.localStorage.getItem(e);
|
|
10
|
+
return n && t.includes(n) ? n : null;
|
|
11
|
+
} catch {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function u({ children: t, locale: r, fallbackLocale: u, messages: d, storageKey: f = "tempest-locale" }) {
|
|
16
|
+
let p = a(() => Object.keys(d), [d]), [m, h] = o(() => l(f, p) ?? r);
|
|
17
|
+
i(() => {
|
|
18
|
+
typeof document < "u" && document.documentElement.setAttribute("lang", m);
|
|
19
|
+
}, [m]);
|
|
20
|
+
let g = n((e) => {
|
|
21
|
+
if (h(e), f && typeof window < "u") try {
|
|
22
|
+
window.localStorage.setItem(f, e);
|
|
23
|
+
} catch {}
|
|
24
|
+
}, [f]), _ = a(() => ({
|
|
25
|
+
...e({
|
|
26
|
+
locale: m,
|
|
27
|
+
fallbackLocale: u,
|
|
28
|
+
messages: d
|
|
29
|
+
}),
|
|
30
|
+
setLocale: g,
|
|
31
|
+
availableLocales: p
|
|
32
|
+
}), [
|
|
33
|
+
m,
|
|
34
|
+
u,
|
|
35
|
+
d,
|
|
36
|
+
g,
|
|
37
|
+
p
|
|
38
|
+
]);
|
|
39
|
+
return /* @__PURE__ */ s(c.Provider, {
|
|
40
|
+
value: _,
|
|
41
|
+
children: t
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
function d() {
|
|
45
|
+
let e = r(c);
|
|
46
|
+
if (!e) throw Error("useI18n must be used inside an <I18nProvider>");
|
|
47
|
+
return e;
|
|
48
|
+
}
|
|
49
|
+
function f() {
|
|
50
|
+
return d().t;
|
|
51
|
+
}
|
|
52
|
+
//#endregion
|
|
53
|
+
export { u as I18nProvider, d as useI18n, f as useTranslate };
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=I18nProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"I18nProvider.js","names":[],"sources":["../../src/i18n/I18nProvider.tsx"],"sourcesContent":["import { createContext, useCallback, useContext, useEffect, useMemo, useState } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { createI18n, type Catalog, type I18n } from \"./create-i18n\";\n\nexport interface I18nContextValue extends I18n {\n /** Switch the active locale. Persisted when `storageKey` is set. */\n setLocale: (locale: string) => void;\n /** Locales available in the catalog. */\n availableLocales: string[];\n}\n\nconst I18nContext = createContext<I18nContextValue | null>(null);\n\nexport interface I18nProviderProps {\n children: ReactNode;\n /** Initial locale. */\n locale: string;\n /** Fallback locale used when a key is missing. */\n fallbackLocale?: string;\n /** Translation catalog. */\n messages: Catalog;\n /** localStorage key for persisting the user choice. Pass `null` to disable. Default: `\"tempest-locale\"`. */\n storageKey?: string | null;\n}\n\nfunction readStored(storageKey: string | null, available: string[]): string | null {\n if (!storageKey || typeof window === \"undefined\") return null;\n try {\n const value = window.localStorage.getItem(storageKey);\n if (value && available.includes(value)) return value;\n return null;\n } catch {\n return null;\n }\n}\n\n/**\n * React provider for the SDK's lightweight i18n. Exposes the translation\n * helpers and a `setLocale` setter to children.\n */\nexport function I18nProvider({\n children,\n locale: initialLocale,\n fallbackLocale,\n messages,\n storageKey = \"tempest-locale\",\n}: I18nProviderProps) {\n const availableLocales = useMemo(() => Object.keys(messages), [messages]);\n const [locale, setLocaleState] = useState<string>(\n () => readStored(storageKey, availableLocales) ?? initialLocale,\n );\n\n useEffect(() => {\n if (typeof document !== \"undefined\") {\n document.documentElement.setAttribute(\"lang\", locale);\n }\n }, [locale]);\n\n const setLocale = useCallback(\n (next: string) => {\n setLocaleState(next);\n if (storageKey && typeof window !== \"undefined\") {\n try {\n window.localStorage.setItem(storageKey, next);\n } catch {\n /* ignore quota errors */\n }\n }\n },\n [storageKey],\n );\n\n const value = useMemo<I18nContextValue>(() => {\n const i18n = createI18n({ locale, fallbackLocale, messages });\n return { ...i18n, setLocale, availableLocales };\n }, [locale, fallbackLocale, messages, setLocale, availableLocales]);\n\n return <I18nContext.Provider value={value}>{children}</I18nContext.Provider>;\n}\n\n/**\n * Access translation helpers. Must be used inside an {@link I18nProvider}.\n */\nexport function useI18n(): I18nContextValue {\n const ctx = useContext(I18nContext);\n if (!ctx) throw new Error(\"useI18n must be used inside an <I18nProvider>\");\n return ctx;\n}\n\n/**\n * Shortcut for components that only need the `t` function — avoids destructuring.\n */\nexport function useTranslate(): I18nContextValue[\"t\"] {\n return useI18n().t;\n}\n"],"mappings":";;;;AAWA,IAAM,IAAc,EAAuC,IAAI;AAc/D,SAAS,EAAW,GAA2B,GAAoC;CAC/E,IAAI,CAAC,KAAc,OAAO,SAAW,KAAa,OAAO;CACzD,IAAI;EACA,IAAM,IAAQ,OAAO,aAAa,QAAQ,CAAU;EAEpD,OADI,KAAS,EAAU,SAAS,CAAK,IAAU,IACxC;CACX,QAAQ;EACJ,OAAO;CACX;AACJ;AAMA,SAAgB,EAAa,EACzB,aACA,QAAQ,GACR,mBACA,aACA,gBAAa,oBACK;CAClB,IAAM,IAAmB,QAAc,OAAO,KAAK,CAAQ,GAAG,CAAC,CAAQ,CAAC,GAClE,CAAC,GAAQ,KAAkB,QACvB,EAAW,GAAY,CAAgB,KAAK,CACtD;CAEA,QAAgB;EACZ,AAAI,OAAO,WAAa,OACpB,SAAS,gBAAgB,aAAa,QAAQ,CAAM;CAE5D,GAAG,CAAC,CAAM,CAAC;CAEX,IAAM,IAAY,GACb,MAAiB;EAEd,IADA,EAAe,CAAI,GACf,KAAc,OAAO,SAAW,KAChC,IAAI;GACA,OAAO,aAAa,QAAQ,GAAY,CAAI;EAChD,QAAQ,CAER;CAER,GACA,CAAC,CAAU,CACf,GAEM,IAAQ,SAEH;EAAE,GADI,EAAW;GAAE;GAAQ;GAAgB;EAAS,CAC/C;EAAM;EAAW;CAAiB,IAC/C;EAAC;EAAQ;EAAgB;EAAU;EAAW;CAAgB,CAAC;CAElE,OAAO,kBAAC,EAAY,UAAb;EAA6B;EAAQ;CAA+B,CAAA;AAC/E;AAKA,SAAgB,IAA4B;CACxC,IAAM,IAAM,EAAW,CAAW;CAClC,IAAI,CAAC,GAAK,MAAU,MAAM,+CAA+C;CACzE,OAAO;AACX;AAKA,SAAgB,IAAsC;CAClD,OAAO,EAAQ,CAAC,CAAC;AACrB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function e(e,t){return t?e.replace(/\{(\w+)\}/g,(e,n)=>{let r=t[n];return r===void 0?`{${n}}`:String(r)}):e}function t(e,t,n,r){let i=e[t]?.[r];if(i!==void 0)return i;if(n){let t=e[n]?.[r];if(t!==void 0)return t}return null}function n(r){let{locale:i,fallbackLocale:a=null,messages:o}=r;function s(n,r){let s=t(o,i,a,n);return s===null?n:e(s,r)}function c(n,r,s){let c=t(o,i,a,`${n}${r===1?`_one`:`_other`}`)??t(o,i,a,n);return c===null?n:e(c,{count:r,...s??{}})}function l(e,t){return new Intl.NumberFormat(i,t).format(e)}function u(e,t){let n=typeof e==`string`?new Date(e):e;return Number.isNaN(n.getTime())?``:new Intl.DateTimeFormat(i,t).format(n)}return{locale:i,fallbackLocale:a,t:s,plural:c,formatNumber:l,formatDate:u,withLocale:e=>n({locale:e,fallbackLocale:a??void 0,messages:o})}}exports.createI18n=n;
|
|
2
|
+
//# sourceMappingURL=create-i18n.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-i18n.cjs","names":[],"sources":["../../src/i18n/create-i18n.ts"],"sourcesContent":["export type Messages = Record<string, string>;\nexport type Catalog = Record<string, Messages>;\nexport type InterpolationValues = Record<string, string | number>;\n\nexport interface CreateI18nOptions {\n /** Initial locale. */\n locale: string;\n /** Fallback locale used when a key is missing in the active locale. */\n fallbackLocale?: string;\n /** Catalog `{ [locale]: { [key]: \"...\" } }`. */\n messages: Catalog;\n}\n\nexport interface I18n {\n /** Currently active locale. */\n locale: string;\n /** Fallback locale (or `null` when not configured). */\n fallbackLocale: string | null;\n /**\n * Translate `key`, interpolating `{name}` placeholders from `params`.\n * Falls back to the configured fallback locale, then to the key itself.\n */\n t: (key: string, params?: InterpolationValues) => string;\n /**\n * Plural-aware translation. Tries `${key}_one` for `count === 1` and\n * `${key}_other` otherwise, with `{count}` available for interpolation.\n */\n plural: (key: string, count: number, params?: InterpolationValues) => string;\n /** Format a number using `Intl.NumberFormat` on the active locale. */\n formatNumber: (value: number, options?: Intl.NumberFormatOptions) => string;\n /** Format a Date using `Intl.DateTimeFormat` on the active locale. */\n formatDate: (value: Date | string, options?: Intl.DateTimeFormatOptions) => string;\n /** Build a new `I18n` instance pointing at a different locale. */\n withLocale: (locale: string) => I18n;\n}\n\nfunction interpolate(template: string, params?: InterpolationValues): string {\n if (!params) return template;\n return template.replace(/\\{(\\w+)\\}/g, (_match, name: string) => {\n const value = params[name];\n return value === undefined ? `{${name}}` : String(value);\n });\n}\n\nfunction lookup(\n catalog: Catalog,\n locale: string,\n fallback: string | null,\n key: string,\n): string | null {\n const direct = catalog[locale]?.[key];\n if (direct !== undefined) return direct;\n if (fallback) {\n const fallbackValue = catalog[fallback]?.[key];\n if (fallbackValue !== undefined) return fallbackValue;\n }\n return null;\n}\n\n/**\n * Create an i18n object with translation, pluralization and Intl helpers.\n *\n * The catalog is a plain `{ [locale]: { [key]: \"...\" } }` map — bring your\n * own keys, namespaces, or nested-key conventions. The SDK does not enforce\n * a schema so you can plug it into any string-loading pipeline.\n *\n * @example\n * const i18n = createI18n({\n * locale: \"pt-BR\",\n * fallbackLocale: \"en\",\n * messages: {\n * \"pt-BR\": {\n * \"greet\": \"Olá, {name}\",\n * \"alos_one\": \"{count} Alô\",\n * \"alos_other\": \"{count} Alôs\",\n * },\n * \"en\": { greet: \"Hi, {name}\", alos_one: \"{count} Alo\", alos_other: \"{count} Alos\" },\n * },\n * });\n * i18n.t(\"greet\", { name: \"Mau\" }); // \"Olá, Mau\"\n * i18n.plural(\"alos\", 3); // \"3 Alôs\"\n */\nexport function createI18n(options: CreateI18nOptions): I18n {\n const { locale, fallbackLocale = null, messages } = options;\n\n function t(key: string, params?: InterpolationValues): string {\n const template = lookup(messages, locale, fallbackLocale, key);\n if (template === null) return key;\n return interpolate(template, params);\n }\n\n function plural(key: string, count: number, params?: InterpolationValues): string {\n const suffix = count === 1 ? \"_one\" : \"_other\";\n const template =\n lookup(messages, locale, fallbackLocale, `${key}${suffix}`) ??\n lookup(messages, locale, fallbackLocale, key);\n if (template === null) return key;\n return interpolate(template, { count, ...(params ?? {}) });\n }\n\n function formatNumber(value: number, opts?: Intl.NumberFormatOptions): string {\n return new Intl.NumberFormat(locale, opts).format(value);\n }\n\n function formatDate(value: Date | string, opts?: Intl.DateTimeFormatOptions): string {\n const date = typeof value === \"string\" ? new Date(value) : value;\n if (Number.isNaN(date.getTime())) return \"\";\n return new Intl.DateTimeFormat(locale, opts).format(date);\n }\n\n return {\n locale,\n fallbackLocale,\n t,\n plural,\n formatNumber,\n formatDate,\n withLocale: (nextLocale) =>\n createI18n({\n locale: nextLocale,\n fallbackLocale: fallbackLocale ?? undefined,\n messages,\n }),\n };\n}\n"],"mappings":"AAoCA,SAAS,EAAY,EAAkB,EAAsC,CAEzE,OADK,EACE,EAAS,QAAQ,cAAe,EAAQ,IAAiB,CAC5D,IAAM,EAAQ,EAAO,GACrB,OAAO,IAAU,IAAA,GAAY,IAAI,EAAK,GAAK,OAAO,CAAK,CAC3D,CAAC,EAJmB,CAKxB,CAEA,SAAS,EACL,EACA,EACA,EACA,EACa,CACb,IAAM,EAAS,EAAQ,EAAO,GAAG,GACjC,GAAI,IAAW,IAAA,GAAW,OAAO,EACjC,GAAI,EAAU,CACV,IAAM,EAAgB,EAAQ,EAAS,GAAG,GAC1C,GAAI,IAAkB,IAAA,GAAW,OAAO,CAC5C,CACA,OAAO,IACX,CAyBA,SAAgB,EAAW,EAAkC,CACzD,GAAM,CAAE,SAAQ,iBAAiB,KAAM,YAAa,EAEpD,SAAS,EAAE,EAAa,EAAsC,CAC1D,IAAM,EAAW,EAAO,EAAU,EAAQ,EAAgB,CAAG,EAE7D,OADI,IAAa,KAAa,EACvB,EAAY,EAAU,CAAM,CACvC,CAEA,SAAS,EAAO,EAAa,EAAe,EAAsC,CAE9E,IAAM,EACF,EAAO,EAAU,EAAQ,EAAgB,GAAG,IAFjC,IAAU,EAAI,OAAS,UAEwB,GAC1D,EAAO,EAAU,EAAQ,EAAgB,CAAG,EAEhD,OADI,IAAa,KAAa,EACvB,EAAY,EAAU,CAAE,QAAO,GAAI,GAAU,CAAC,CAAG,CAAC,CAC7D,CAEA,SAAS,EAAa,EAAe,EAAyC,CAC1E,OAAO,IAAI,KAAK,aAAa,EAAQ,CAAI,CAAC,CAAC,OAAO,CAAK,CAC3D,CAEA,SAAS,EAAW,EAAsB,EAA2C,CACjF,IAAM,EAAO,OAAO,GAAU,SAAW,IAAI,KAAK,CAAK,EAAI,EAE3D,OADI,OAAO,MAAM,EAAK,QAAQ,CAAC,EAAU,GAClC,IAAI,KAAK,eAAe,EAAQ,CAAI,CAAC,CAAC,OAAO,CAAI,CAC5D,CAEA,MAAO,CACH,SACA,iBACA,IACA,SACA,eACA,aACA,WAAa,GACT,EAAW,CACP,OAAQ,EACR,eAAgB,GAAkB,IAAA,GAClC,UACJ,CAAC,CACT,CACJ"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
//#region src/i18n/create-i18n.ts
|
|
2
|
+
function e(e, t) {
|
|
3
|
+
return t ? e.replace(/\{(\w+)\}/g, (e, n) => {
|
|
4
|
+
let r = t[n];
|
|
5
|
+
return r === void 0 ? `{${n}}` : String(r);
|
|
6
|
+
}) : e;
|
|
7
|
+
}
|
|
8
|
+
function t(e, t, n, r) {
|
|
9
|
+
let i = e[t]?.[r];
|
|
10
|
+
if (i !== void 0) return i;
|
|
11
|
+
if (n) {
|
|
12
|
+
let t = e[n]?.[r];
|
|
13
|
+
if (t !== void 0) return t;
|
|
14
|
+
}
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
function n(r) {
|
|
18
|
+
let { locale: i, fallbackLocale: a = null, messages: o } = r;
|
|
19
|
+
function s(n, r) {
|
|
20
|
+
let s = t(o, i, a, n);
|
|
21
|
+
return s === null ? n : e(s, r);
|
|
22
|
+
}
|
|
23
|
+
function c(n, r, s) {
|
|
24
|
+
let c = t(o, i, a, `${n}${r === 1 ? "_one" : "_other"}`) ?? t(o, i, a, n);
|
|
25
|
+
return c === null ? n : e(c, {
|
|
26
|
+
count: r,
|
|
27
|
+
...s ?? {}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
function l(e, t) {
|
|
31
|
+
return new Intl.NumberFormat(i, t).format(e);
|
|
32
|
+
}
|
|
33
|
+
function u(e, t) {
|
|
34
|
+
let n = typeof e == "string" ? new Date(e) : e;
|
|
35
|
+
return Number.isNaN(n.getTime()) ? "" : new Intl.DateTimeFormat(i, t).format(n);
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
locale: i,
|
|
39
|
+
fallbackLocale: a,
|
|
40
|
+
t: s,
|
|
41
|
+
plural: c,
|
|
42
|
+
formatNumber: l,
|
|
43
|
+
formatDate: u,
|
|
44
|
+
withLocale: (e) => n({
|
|
45
|
+
locale: e,
|
|
46
|
+
fallbackLocale: a ?? void 0,
|
|
47
|
+
messages: o
|
|
48
|
+
})
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
//#endregion
|
|
52
|
+
export { n as createI18n };
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=create-i18n.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-i18n.js","names":[],"sources":["../../src/i18n/create-i18n.ts"],"sourcesContent":["export type Messages = Record<string, string>;\nexport type Catalog = Record<string, Messages>;\nexport type InterpolationValues = Record<string, string | number>;\n\nexport interface CreateI18nOptions {\n /** Initial locale. */\n locale: string;\n /** Fallback locale used when a key is missing in the active locale. */\n fallbackLocale?: string;\n /** Catalog `{ [locale]: { [key]: \"...\" } }`. */\n messages: Catalog;\n}\n\nexport interface I18n {\n /** Currently active locale. */\n locale: string;\n /** Fallback locale (or `null` when not configured). */\n fallbackLocale: string | null;\n /**\n * Translate `key`, interpolating `{name}` placeholders from `params`.\n * Falls back to the configured fallback locale, then to the key itself.\n */\n t: (key: string, params?: InterpolationValues) => string;\n /**\n * Plural-aware translation. Tries `${key}_one` for `count === 1` and\n * `${key}_other` otherwise, with `{count}` available for interpolation.\n */\n plural: (key: string, count: number, params?: InterpolationValues) => string;\n /** Format a number using `Intl.NumberFormat` on the active locale. */\n formatNumber: (value: number, options?: Intl.NumberFormatOptions) => string;\n /** Format a Date using `Intl.DateTimeFormat` on the active locale. */\n formatDate: (value: Date | string, options?: Intl.DateTimeFormatOptions) => string;\n /** Build a new `I18n` instance pointing at a different locale. */\n withLocale: (locale: string) => I18n;\n}\n\nfunction interpolate(template: string, params?: InterpolationValues): string {\n if (!params) return template;\n return template.replace(/\\{(\\w+)\\}/g, (_match, name: string) => {\n const value = params[name];\n return value === undefined ? `{${name}}` : String(value);\n });\n}\n\nfunction lookup(\n catalog: Catalog,\n locale: string,\n fallback: string | null,\n key: string,\n): string | null {\n const direct = catalog[locale]?.[key];\n if (direct !== undefined) return direct;\n if (fallback) {\n const fallbackValue = catalog[fallback]?.[key];\n if (fallbackValue !== undefined) return fallbackValue;\n }\n return null;\n}\n\n/**\n * Create an i18n object with translation, pluralization and Intl helpers.\n *\n * The catalog is a plain `{ [locale]: { [key]: \"...\" } }` map — bring your\n * own keys, namespaces, or nested-key conventions. The SDK does not enforce\n * a schema so you can plug it into any string-loading pipeline.\n *\n * @example\n * const i18n = createI18n({\n * locale: \"pt-BR\",\n * fallbackLocale: \"en\",\n * messages: {\n * \"pt-BR\": {\n * \"greet\": \"Olá, {name}\",\n * \"alos_one\": \"{count} Alô\",\n * \"alos_other\": \"{count} Alôs\",\n * },\n * \"en\": { greet: \"Hi, {name}\", alos_one: \"{count} Alo\", alos_other: \"{count} Alos\" },\n * },\n * });\n * i18n.t(\"greet\", { name: \"Mau\" }); // \"Olá, Mau\"\n * i18n.plural(\"alos\", 3); // \"3 Alôs\"\n */\nexport function createI18n(options: CreateI18nOptions): I18n {\n const { locale, fallbackLocale = null, messages } = options;\n\n function t(key: string, params?: InterpolationValues): string {\n const template = lookup(messages, locale, fallbackLocale, key);\n if (template === null) return key;\n return interpolate(template, params);\n }\n\n function plural(key: string, count: number, params?: InterpolationValues): string {\n const suffix = count === 1 ? \"_one\" : \"_other\";\n const template =\n lookup(messages, locale, fallbackLocale, `${key}${suffix}`) ??\n lookup(messages, locale, fallbackLocale, key);\n if (template === null) return key;\n return interpolate(template, { count, ...(params ?? {}) });\n }\n\n function formatNumber(value: number, opts?: Intl.NumberFormatOptions): string {\n return new Intl.NumberFormat(locale, opts).format(value);\n }\n\n function formatDate(value: Date | string, opts?: Intl.DateTimeFormatOptions): string {\n const date = typeof value === \"string\" ? new Date(value) : value;\n if (Number.isNaN(date.getTime())) return \"\";\n return new Intl.DateTimeFormat(locale, opts).format(date);\n }\n\n return {\n locale,\n fallbackLocale,\n t,\n plural,\n formatNumber,\n formatDate,\n withLocale: (nextLocale) =>\n createI18n({\n locale: nextLocale,\n fallbackLocale: fallbackLocale ?? undefined,\n messages,\n }),\n };\n}\n"],"mappings":";AAoCA,SAAS,EAAY,GAAkB,GAAsC;CAEzE,OADK,IACE,EAAS,QAAQ,eAAe,GAAQ,MAAiB;EAC5D,IAAM,IAAQ,EAAO;EACrB,OAAO,MAAU,KAAA,IAAY,IAAI,EAAK,KAAK,OAAO,CAAK;CAC3D,CAAC,IAJmB;AAKxB;AAEA,SAAS,EACL,GACA,GACA,GACA,GACa;CACb,IAAM,IAAS,EAAQ,EAAO,GAAG;CACjC,IAAI,MAAW,KAAA,GAAW,OAAO;CACjC,IAAI,GAAU;EACV,IAAM,IAAgB,EAAQ,EAAS,GAAG;EAC1C,IAAI,MAAkB,KAAA,GAAW,OAAO;CAC5C;CACA,OAAO;AACX;AAyBA,SAAgB,EAAW,GAAkC;CACzD,IAAM,EAAE,WAAQ,oBAAiB,MAAM,gBAAa;CAEpD,SAAS,EAAE,GAAa,GAAsC;EAC1D,IAAM,IAAW,EAAO,GAAU,GAAQ,GAAgB,CAAG;EAE7D,OADI,MAAa,OAAa,IACvB,EAAY,GAAU,CAAM;CACvC;CAEA,SAAS,EAAO,GAAa,GAAe,GAAsC;EAE9E,IAAM,IACF,EAAO,GAAU,GAAQ,GAAgB,GAAG,IAFjC,MAAU,IAAI,SAAS,UAEwB,KAC1D,EAAO,GAAU,GAAQ,GAAgB,CAAG;EAEhD,OADI,MAAa,OAAa,IACvB,EAAY,GAAU;GAAE;GAAO,GAAI,KAAU,CAAC;EAAG,CAAC;CAC7D;CAEA,SAAS,EAAa,GAAe,GAAyC;EAC1E,OAAO,IAAI,KAAK,aAAa,GAAQ,CAAI,CAAC,CAAC,OAAO,CAAK;CAC3D;CAEA,SAAS,EAAW,GAAsB,GAA2C;EACjF,IAAM,IAAO,OAAO,KAAU,WAAW,IAAI,KAAK,CAAK,IAAI;EAE3D,OADI,OAAO,MAAM,EAAK,QAAQ,CAAC,IAAU,KAClC,IAAI,KAAK,eAAe,GAAQ,CAAI,CAAC,CAAC,OAAO,CAAI;CAC5D;CAEA,OAAO;EACH;EACA;EACA;EACA;EACA;EACA;EACA,aAAa,MACT,EAAW;GACP,QAAQ;GACR,gBAAgB,KAAkB,KAAA;GAClC;EACJ,CAAC;CACT;AACJ"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e=[`debug`,`info`,`warn`,`error`];function t(t,n){return e.indexOf(n)>=e.indexOf(t)}var n=({level:e,message:t,context:n})=>{let r=e===`debug`?`log`:e;n?console[r](t,n):console[r](t)};function r(e={}){let i=e.level??`info`,a=e.sinks??[n],o=e.namespace??``;function s(e,n,r){if(!t(i,e))return;let s={level:e,message:o?`[${o}] ${n}`:n,context:r,timestamp:Date.now()};for(let e of a)try{e(s)}catch{}}return{debug:(e,t)=>s(`debug`,e,t),info:(e,t)=>s(`info`,e,t),warn:(e,t)=>s(`warn`,e,t),error:(e,t)=>s(`error`,e,t),child:e=>r({level:i,sinks:a,namespace:o?`${o}:${e}`:e})}}exports.consoleSink=n,exports.createLogger=r;
|
|
2
|
+
//# sourceMappingURL=logger.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.cjs","names":[],"sources":["../../src/logger/logger.ts"],"sourcesContent":["export type LogLevel = \"debug\" | \"info\" | \"warn\" | \"error\";\n\nexport interface LogEntry {\n level: LogLevel;\n message: string;\n context?: Record<string, unknown>;\n timestamp: number;\n}\n\nexport interface LoggerSink {\n (entry: LogEntry): void;\n}\n\nexport interface Logger {\n debug: (message: string, context?: Record<string, unknown>) => void;\n info: (message: string, context?: Record<string, unknown>) => void;\n warn: (message: string, context?: Record<string, unknown>) => void;\n error: (message: string, context?: Record<string, unknown>) => void;\n /** Build a child logger that prefixes the namespace to each message. */\n child: (namespace: string) => Logger;\n}\n\nexport interface CreateLoggerOptions {\n /** Lowest level recorded. Default: `\"info\"`. */\n level?: LogLevel;\n /** Output adapters. Default: a `console.*` sink. */\n sinks?: LoggerSink[];\n /** Initial namespace (prepended to every message). */\n namespace?: string;\n}\n\nconst LEVELS: LogLevel[] = [\"debug\", \"info\", \"warn\", \"error\"];\n\nfunction shouldLog(threshold: LogLevel, level: LogLevel): boolean {\n return LEVELS.indexOf(level) >= LEVELS.indexOf(threshold);\n}\n\n/** Default sink that writes to the browser console. */\nexport const consoleSink: LoggerSink = ({ level, message, context }) => {\n const method = level === \"debug\" ? \"log\" : level;\n if (context) {\n console[method](message, context);\n } else {\n console[method](message);\n }\n};\n\n/**\n * Create a structured leveled logger. Plug arbitrary sinks (Sentry, Datadog,\n * remote ingestion) by implementing the `LoggerSink` interface.\n */\nexport function createLogger(options: CreateLoggerOptions = {}): Logger {\n const threshold = options.level ?? \"info\";\n const sinks = options.sinks ?? [consoleSink];\n const namespace = options.namespace ?? \"\";\n\n function emit(level: LogLevel, message: string, context?: Record<string, unknown>): void {\n if (!shouldLog(threshold, level)) return;\n const entry: LogEntry = {\n level,\n message: namespace ? `[${namespace}] ${message}` : message,\n context,\n timestamp: Date.now(),\n };\n for (const sink of sinks) {\n try {\n sink(entry);\n } catch {\n /* never let a sink break the app */\n }\n }\n }\n\n return {\n debug: (message, context) => emit(\"debug\", message, context),\n info: (message, context) => emit(\"info\", message, context),\n warn: (message, context) => emit(\"warn\", message, context),\n error: (message, context) => emit(\"error\", message, context),\n child: (childNamespace: string) =>\n createLogger({\n level: threshold,\n sinks,\n namespace: namespace ? `${namespace}:${childNamespace}` : childNamespace,\n }),\n };\n}\n"],"mappings":"AA+BA,IAAM,EAAqB,CAAC,QAAS,OAAQ,OAAQ,OAAO,EAE5D,SAAS,EAAU,EAAqB,EAA0B,CAC9D,OAAO,EAAO,QAAQ,CAAK,GAAK,EAAO,QAAQ,CAAS,CAC5D,CAGA,IAAa,GAA2B,CAAE,QAAO,UAAS,aAAc,CACpE,IAAM,EAAS,IAAU,QAAU,MAAQ,EACvC,EACA,QAAQ,EAAO,CAAC,EAAS,CAAO,EAEhC,QAAQ,EAAO,CAAC,CAAO,CAE/B,EAMA,SAAgB,EAAa,EAA+B,CAAC,EAAW,CACpE,IAAM,EAAY,EAAQ,OAAS,OAC7B,EAAQ,EAAQ,OAAS,CAAC,CAAW,EACrC,EAAY,EAAQ,WAAa,GAEvC,SAAS,EAAK,EAAiB,EAAiB,EAAyC,CACrF,GAAI,CAAC,EAAU,EAAW,CAAK,EAAG,OAClC,IAAM,EAAkB,CACpB,QACA,QAAS,EAAY,IAAI,EAAU,IAAI,IAAY,EACnD,UACA,UAAW,KAAK,IAAI,CACxB,EACA,IAAK,IAAM,KAAQ,EACf,GAAI,CACA,EAAK,CAAK,CACd,MAAQ,CAER,CAER,CAEA,MAAO,CACH,OAAQ,EAAS,IAAY,EAAK,QAAS,EAAS,CAAO,EAC3D,MAAO,EAAS,IAAY,EAAK,OAAQ,EAAS,CAAO,EACzD,MAAO,EAAS,IAAY,EAAK,OAAQ,EAAS,CAAO,EACzD,OAAQ,EAAS,IAAY,EAAK,QAAS,EAAS,CAAO,EAC3D,MAAQ,GACJ,EAAa,CACT,MAAO,EACP,QACA,UAAW,EAAY,GAAG,EAAU,GAAG,IAAmB,CAC9D,CAAC,CACT,CACJ"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
//#region src/logger/logger.ts
|
|
2
|
+
var e = [
|
|
3
|
+
"debug",
|
|
4
|
+
"info",
|
|
5
|
+
"warn",
|
|
6
|
+
"error"
|
|
7
|
+
];
|
|
8
|
+
function t(t, n) {
|
|
9
|
+
return e.indexOf(n) >= e.indexOf(t);
|
|
10
|
+
}
|
|
11
|
+
var n = ({ level: e, message: t, context: n }) => {
|
|
12
|
+
let r = e === "debug" ? "log" : e;
|
|
13
|
+
n ? console[r](t, n) : console[r](t);
|
|
14
|
+
};
|
|
15
|
+
function r(e = {}) {
|
|
16
|
+
let i = e.level ?? "info", a = e.sinks ?? [n], o = e.namespace ?? "";
|
|
17
|
+
function s(e, n, r) {
|
|
18
|
+
if (!t(i, e)) return;
|
|
19
|
+
let s = {
|
|
20
|
+
level: e,
|
|
21
|
+
message: o ? `[${o}] ${n}` : n,
|
|
22
|
+
context: r,
|
|
23
|
+
timestamp: Date.now()
|
|
24
|
+
};
|
|
25
|
+
for (let e of a) try {
|
|
26
|
+
e(s);
|
|
27
|
+
} catch {}
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
debug: (e, t) => s("debug", e, t),
|
|
31
|
+
info: (e, t) => s("info", e, t),
|
|
32
|
+
warn: (e, t) => s("warn", e, t),
|
|
33
|
+
error: (e, t) => s("error", e, t),
|
|
34
|
+
child: (e) => r({
|
|
35
|
+
level: i,
|
|
36
|
+
sinks: a,
|
|
37
|
+
namespace: o ? `${o}:${e}` : e
|
|
38
|
+
})
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
//#endregion
|
|
42
|
+
export { n as consoleSink, r as createLogger };
|
|
43
|
+
|
|
44
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","names":[],"sources":["../../src/logger/logger.ts"],"sourcesContent":["export type LogLevel = \"debug\" | \"info\" | \"warn\" | \"error\";\n\nexport interface LogEntry {\n level: LogLevel;\n message: string;\n context?: Record<string, unknown>;\n timestamp: number;\n}\n\nexport interface LoggerSink {\n (entry: LogEntry): void;\n}\n\nexport interface Logger {\n debug: (message: string, context?: Record<string, unknown>) => void;\n info: (message: string, context?: Record<string, unknown>) => void;\n warn: (message: string, context?: Record<string, unknown>) => void;\n error: (message: string, context?: Record<string, unknown>) => void;\n /** Build a child logger that prefixes the namespace to each message. */\n child: (namespace: string) => Logger;\n}\n\nexport interface CreateLoggerOptions {\n /** Lowest level recorded. Default: `\"info\"`. */\n level?: LogLevel;\n /** Output adapters. Default: a `console.*` sink. */\n sinks?: LoggerSink[];\n /** Initial namespace (prepended to every message). */\n namespace?: string;\n}\n\nconst LEVELS: LogLevel[] = [\"debug\", \"info\", \"warn\", \"error\"];\n\nfunction shouldLog(threshold: LogLevel, level: LogLevel): boolean {\n return LEVELS.indexOf(level) >= LEVELS.indexOf(threshold);\n}\n\n/** Default sink that writes to the browser console. */\nexport const consoleSink: LoggerSink = ({ level, message, context }) => {\n const method = level === \"debug\" ? \"log\" : level;\n if (context) {\n console[method](message, context);\n } else {\n console[method](message);\n }\n};\n\n/**\n * Create a structured leveled logger. Plug arbitrary sinks (Sentry, Datadog,\n * remote ingestion) by implementing the `LoggerSink` interface.\n */\nexport function createLogger(options: CreateLoggerOptions = {}): Logger {\n const threshold = options.level ?? \"info\";\n const sinks = options.sinks ?? [consoleSink];\n const namespace = options.namespace ?? \"\";\n\n function emit(level: LogLevel, message: string, context?: Record<string, unknown>): void {\n if (!shouldLog(threshold, level)) return;\n const entry: LogEntry = {\n level,\n message: namespace ? `[${namespace}] ${message}` : message,\n context,\n timestamp: Date.now(),\n };\n for (const sink of sinks) {\n try {\n sink(entry);\n } catch {\n /* never let a sink break the app */\n }\n }\n }\n\n return {\n debug: (message, context) => emit(\"debug\", message, context),\n info: (message, context) => emit(\"info\", message, context),\n warn: (message, context) => emit(\"warn\", message, context),\n error: (message, context) => emit(\"error\", message, context),\n child: (childNamespace: string) =>\n createLogger({\n level: threshold,\n sinks,\n namespace: namespace ? `${namespace}:${childNamespace}` : childNamespace,\n }),\n };\n}\n"],"mappings":";AA+BA,IAAM,IAAqB;CAAC;CAAS;CAAQ;CAAQ;AAAO;AAE5D,SAAS,EAAU,GAAqB,GAA0B;CAC9D,OAAO,EAAO,QAAQ,CAAK,KAAK,EAAO,QAAQ,CAAS;AAC5D;AAGA,IAAa,KAA2B,EAAE,UAAO,YAAS,iBAAc;CACpE,IAAM,IAAS,MAAU,UAAU,QAAQ;CAC3C,AAAI,IACA,QAAQ,EAAO,CAAC,GAAS,CAAO,IAEhC,QAAQ,EAAO,CAAC,CAAO;AAE/B;AAMA,SAAgB,EAAa,IAA+B,CAAC,GAAW;CACpE,IAAM,IAAY,EAAQ,SAAS,QAC7B,IAAQ,EAAQ,SAAS,CAAC,CAAW,GACrC,IAAY,EAAQ,aAAa;CAEvC,SAAS,EAAK,GAAiB,GAAiB,GAAyC;EACrF,IAAI,CAAC,EAAU,GAAW,CAAK,GAAG;EAClC,IAAM,IAAkB;GACpB;GACA,SAAS,IAAY,IAAI,EAAU,IAAI,MAAY;GACnD;GACA,WAAW,KAAK,IAAI;EACxB;EACA,KAAK,IAAM,KAAQ,GACf,IAAI;GACA,EAAK,CAAK;EACd,QAAQ,CAER;CAER;CAEA,OAAO;EACH,QAAQ,GAAS,MAAY,EAAK,SAAS,GAAS,CAAO;EAC3D,OAAO,GAAS,MAAY,EAAK,QAAQ,GAAS,CAAO;EACzD,OAAO,GAAS,MAAY,EAAK,QAAQ,GAAS,CAAO;EACzD,QAAQ,GAAS,MAAY,EAAK,SAAS,GAAS,CAAO;EAC3D,QAAQ,MACJ,EAAa;GACT,OAAO;GACP;GACA,WAAW,IAAY,GAAG,EAAU,GAAG,MAAmB;EAC9D,CAAC;CACT;AACJ"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
let e=require("react/jsx-runtime");function t({component:t,onSuccess:n,onError:r,locale:i,theme:a,text:o,shape:s,size:c,disableOneTap:l,width:u,className:d,style:f}){return(0,e.jsx)(`div`,{className:d,style:f,children:t({onSuccess:e=>{if(!e.credential){r?.({provider:`google`,message:`Google returned no credential`,raw:e});return}return n({idToken:e.credential,provider:`google`,raw:e})},onError:()=>{r?.({provider:`google`,message:`Google login failed`})},locale:i,theme:a,text:o,shape:s,size:c,useOneTap:!l,width:u})})}exports.GoogleSignIn=t;
|
|
2
|
+
//# sourceMappingURL=GoogleSignIn.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GoogleSignIn.cjs","names":[],"sources":["../../src/oauth/GoogleSignIn.tsx"],"sourcesContent":["import type { CSSProperties, ReactNode } from \"react\";\nimport type { OAuthCredential, OAuthError } from \"./types\";\n\nexport type GoogleSignInTheme = \"filled_blue\" | \"filled_black\" | \"outline\";\nexport type GoogleSignInText = \"signin_with\" | \"signup_with\" | \"continue_with\" | \"signin\";\nexport type GoogleSignInShape = \"rectangular\" | \"pill\" | \"circle\" | \"square\";\nexport type GoogleSignInSize = \"large\" | \"medium\" | \"small\";\n\nexport interface GoogleSignInProps {\n /**\n * `GoogleLogin` component from `@react-oauth/google`. The caller imports\n * it and passes it through so the SDK doesn't take `@react-oauth/google`\n * as a peer dep.\n */\n component: (props: Record<string, unknown>) => ReactNode;\n /** Fired with the validated credential on success. */\n onSuccess: (credential: OAuthCredential) => void | Promise<void>;\n /** Fired with a normalised error on failure. */\n onError?: (error: OAuthError) => void;\n /** Optional locale override (e.g. `\"pt-BR\"`). Falls back to browser locale. */\n locale?: string;\n /** Visual theme — passed through to `<GoogleLogin>`. */\n theme?: GoogleSignInTheme;\n /** Button text variant. */\n text?: GoogleSignInText;\n /** Button shape. */\n shape?: GoogleSignInShape;\n /** Button size. */\n size?: GoogleSignInSize;\n /** Disable Google's \"One Tap\" auto-prompt. Default `false`. */\n disableOneTap?: boolean;\n /** Optional `width` override (px) — Google's button is fixed-width. */\n width?: number;\n /** Optional className applied to the wrapper. */\n className?: string;\n /** Optional inline style applied to the wrapper. */\n style?: CSSProperties;\n}\n\n/**\n * Thin wrapper over `@react-oauth/google`'s `<GoogleLogin>` that:\n *\n * 1. Normalises the success payload into [[OAuthCredential]] (`idToken`,\n * `provider: \"google\"`, `raw`).\n * 2. Normalises errors into [[OAuthError]].\n * 3. Lets you pass `GoogleLogin` via the `component` prop, so the SDK does\n * not declare `@react-oauth/google` as a peer dep — apps that don't use\n * Google never pay for it.\n *\n * @example\n * import { GoogleLogin, GoogleOAuthProvider } from \"@react-oauth/google\";\n * import { GoogleSignIn } from \"tempest-react-sdk\";\n *\n * <GoogleOAuthProvider clientId={import.meta.env.VITE_GOOGLE_CLIENT_ID}>\n * <GoogleSignIn\n * component={GoogleLogin}\n * onSuccess={async ({ idToken }) => {\n * await api.post(\"/auth/google\", { body: { id_token: idToken } });\n * }}\n * onError={(err) => toast.error(err.message)}\n * />\n * </GoogleOAuthProvider>\n */\nexport function GoogleSignIn({\n component: Component,\n onSuccess,\n onError,\n locale,\n theme,\n text,\n shape,\n size,\n disableOneTap,\n width,\n className,\n style,\n}: GoogleSignInProps) {\n return (\n <div className={className} style={style}>\n {Component({\n onSuccess: (response: { credential?: string }) => {\n if (!response.credential) {\n onError?.({\n provider: \"google\",\n message: \"Google returned no credential\",\n raw: response,\n });\n return;\n }\n return onSuccess({\n idToken: response.credential,\n provider: \"google\",\n raw: response,\n });\n },\n onError: () => {\n onError?.({\n provider: \"google\",\n message: \"Google login failed\",\n });\n },\n locale,\n theme,\n text,\n shape,\n size,\n useOneTap: !disableOneTap,\n width,\n })}\n </div>\n );\n}\n"],"mappings":"mCA+DA,SAAgB,EAAa,CACzB,UAAW,EACX,YACA,UACA,SACA,QACA,OACA,QACA,OACA,gBACA,QACA,YACA,SACkB,CAClB,OACI,EAAA,EAAA,IAAA,CAAC,MAAD,CAAgB,YAAkB,iBAC7B,EAAU,CACP,UAAY,GAAsC,CAC9C,GAAI,CAAC,EAAS,WAAY,CACtB,IAAU,CACN,SAAU,SACV,QAAS,gCACT,IAAK,CACT,CAAC,EACD,MACJ,CACA,OAAO,EAAU,CACb,QAAS,EAAS,WAClB,SAAU,SACV,IAAK,CACT,CAAC,CACL,EACA,YAAe,CACX,IAAU,CACN,SAAU,SACV,QAAS,qBACb,CAAC,CACL,EACA,SACA,QACA,OACA,QACA,OACA,UAAW,CAAC,EACZ,OACJ,CAAC,CACA,CAAA,CAEb"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
//#region src/oauth/GoogleSignIn.tsx
|
|
3
|
+
function t({ component: t, onSuccess: n, onError: r, locale: i, theme: a, text: o, shape: s, size: c, disableOneTap: l, width: u, className: d, style: f }) {
|
|
4
|
+
return /* @__PURE__ */ e("div", {
|
|
5
|
+
className: d,
|
|
6
|
+
style: f,
|
|
7
|
+
children: t({
|
|
8
|
+
onSuccess: (e) => {
|
|
9
|
+
if (!e.credential) {
|
|
10
|
+
r?.({
|
|
11
|
+
provider: "google",
|
|
12
|
+
message: "Google returned no credential",
|
|
13
|
+
raw: e
|
|
14
|
+
});
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
return n({
|
|
18
|
+
idToken: e.credential,
|
|
19
|
+
provider: "google",
|
|
20
|
+
raw: e
|
|
21
|
+
});
|
|
22
|
+
},
|
|
23
|
+
onError: () => {
|
|
24
|
+
r?.({
|
|
25
|
+
provider: "google",
|
|
26
|
+
message: "Google login failed"
|
|
27
|
+
});
|
|
28
|
+
},
|
|
29
|
+
locale: i,
|
|
30
|
+
theme: a,
|
|
31
|
+
text: o,
|
|
32
|
+
shape: s,
|
|
33
|
+
size: c,
|
|
34
|
+
useOneTap: !l,
|
|
35
|
+
width: u
|
|
36
|
+
})
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
//#endregion
|
|
40
|
+
export { t as GoogleSignIn };
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=GoogleSignIn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GoogleSignIn.js","names":[],"sources":["../../src/oauth/GoogleSignIn.tsx"],"sourcesContent":["import type { CSSProperties, ReactNode } from \"react\";\nimport type { OAuthCredential, OAuthError } from \"./types\";\n\nexport type GoogleSignInTheme = \"filled_blue\" | \"filled_black\" | \"outline\";\nexport type GoogleSignInText = \"signin_with\" | \"signup_with\" | \"continue_with\" | \"signin\";\nexport type GoogleSignInShape = \"rectangular\" | \"pill\" | \"circle\" | \"square\";\nexport type GoogleSignInSize = \"large\" | \"medium\" | \"small\";\n\nexport interface GoogleSignInProps {\n /**\n * `GoogleLogin` component from `@react-oauth/google`. The caller imports\n * it and passes it through so the SDK doesn't take `@react-oauth/google`\n * as a peer dep.\n */\n component: (props: Record<string, unknown>) => ReactNode;\n /** Fired with the validated credential on success. */\n onSuccess: (credential: OAuthCredential) => void | Promise<void>;\n /** Fired with a normalised error on failure. */\n onError?: (error: OAuthError) => void;\n /** Optional locale override (e.g. `\"pt-BR\"`). Falls back to browser locale. */\n locale?: string;\n /** Visual theme — passed through to `<GoogleLogin>`. */\n theme?: GoogleSignInTheme;\n /** Button text variant. */\n text?: GoogleSignInText;\n /** Button shape. */\n shape?: GoogleSignInShape;\n /** Button size. */\n size?: GoogleSignInSize;\n /** Disable Google's \"One Tap\" auto-prompt. Default `false`. */\n disableOneTap?: boolean;\n /** Optional `width` override (px) — Google's button is fixed-width. */\n width?: number;\n /** Optional className applied to the wrapper. */\n className?: string;\n /** Optional inline style applied to the wrapper. */\n style?: CSSProperties;\n}\n\n/**\n * Thin wrapper over `@react-oauth/google`'s `<GoogleLogin>` that:\n *\n * 1. Normalises the success payload into [[OAuthCredential]] (`idToken`,\n * `provider: \"google\"`, `raw`).\n * 2. Normalises errors into [[OAuthError]].\n * 3. Lets you pass `GoogleLogin` via the `component` prop, so the SDK does\n * not declare `@react-oauth/google` as a peer dep — apps that don't use\n * Google never pay for it.\n *\n * @example\n * import { GoogleLogin, GoogleOAuthProvider } from \"@react-oauth/google\";\n * import { GoogleSignIn } from \"tempest-react-sdk\";\n *\n * <GoogleOAuthProvider clientId={import.meta.env.VITE_GOOGLE_CLIENT_ID}>\n * <GoogleSignIn\n * component={GoogleLogin}\n * onSuccess={async ({ idToken }) => {\n * await api.post(\"/auth/google\", { body: { id_token: idToken } });\n * }}\n * onError={(err) => toast.error(err.message)}\n * />\n * </GoogleOAuthProvider>\n */\nexport function GoogleSignIn({\n component: Component,\n onSuccess,\n onError,\n locale,\n theme,\n text,\n shape,\n size,\n disableOneTap,\n width,\n className,\n style,\n}: GoogleSignInProps) {\n return (\n <div className={className} style={style}>\n {Component({\n onSuccess: (response: { credential?: string }) => {\n if (!response.credential) {\n onError?.({\n provider: \"google\",\n message: \"Google returned no credential\",\n raw: response,\n });\n return;\n }\n return onSuccess({\n idToken: response.credential,\n provider: \"google\",\n raw: response,\n });\n },\n onError: () => {\n onError?.({\n provider: \"google\",\n message: \"Google login failed\",\n });\n },\n locale,\n theme,\n text,\n shape,\n size,\n useOneTap: !disableOneTap,\n width,\n })}\n </div>\n );\n}\n"],"mappings":";;AA+DA,SAAgB,EAAa,EACzB,WAAW,GACX,cACA,YACA,WACA,UACA,SACA,UACA,SACA,kBACA,UACA,cACA,YACkB;CAClB,OACI,kBAAC,OAAD;EAAgB;EAAkB;YAC7B,EAAU;GACP,YAAY,MAAsC;IAC9C,IAAI,CAAC,EAAS,YAAY;KACtB,IAAU;MACN,UAAU;MACV,SAAS;MACT,KAAK;KACT,CAAC;KACD;IACJ;IACA,OAAO,EAAU;KACb,SAAS,EAAS;KAClB,UAAU;KACV,KAAK;IACT,CAAC;GACL;GACA,eAAe;IACX,IAAU;KACN,UAAU;KACV,SAAS;IACb,CAAC;GACL;GACA;GACA;GACA;GACA;GACA;GACA,WAAW,CAAC;GACZ;EACJ,CAAC;CACA,CAAA;AAEb"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
let e=require("react");function t(t){let{exchange:n,onSuccess:r,onError:i}=t,[a,o]=(0,e.useState)(null),[s,c]=(0,e.useState)(null),[l,u]=(0,e.useState)(`pending`),d=(0,e.useRef)(!1);return(0,e.useEffect)(()=>{if(d.current)return;d.current=!0;let e=!1;return n().then(t=>{if(!e)return o(t),u(`success`),r?.(t)}).catch(t=>{e||(c(t),u(`error`),i?.(t))}),()=>{e=!0}},[n,r,i]),{loading:l===`pending`,data:a,error:s,status:l}}exports.useOAuthCallback=t;
|
|
2
|
+
//# sourceMappingURL=use-oauth-callback.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-oauth-callback.cjs","names":[],"sources":["../../src/oauth/use-oauth-callback.ts"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nexport interface UseOAuthCallbackOptions<T> {\n /** Function that exchanges the provider response for an app session. Called once on mount. */\n exchange: () => Promise<T>;\n /** Fired with the result on success. Receives the value resolved by `exchange`. */\n onSuccess?: (result: T) => void | Promise<void>;\n /** Fired when `exchange` throws or rejects. */\n onError?: (error: unknown) => void;\n}\n\nexport interface UseOAuthCallbackResult<T> {\n /** `true` while the exchange promise is pending. */\n loading: boolean;\n /** Last resolved value, when `status === \"success\"`. */\n data: T | null;\n /** Last rejection reason, when `status === \"error\"`. */\n error: unknown;\n /** Aggregated state — `\"pending\"`, `\"success\"`, or `\"error\"`. */\n status: \"pending\" | \"success\" | \"error\";\n}\n\n/**\n * Run an OAuth-callback \"exchange\" exactly once on mount. Designed for\n * `/callback` routes that receive provider redirects and need to swap a\n * code/token for an app session via the backend.\n *\n * Survives React StrictMode double-mounting in dev — uses a ref guard to\n * ensure `exchange` runs once.\n *\n * @example\n * function OAuthCallback() {\n * const { loading, error } = useOAuthCallback({\n * exchange: async () => {\n * const code = new URLSearchParams(location.search).get(\"code\")!;\n * return api.post(\"/auth/google/exchange\", { body: { code } });\n * },\n * onSuccess: ({ token, user }) => {\n * useAuthStore.getState().setSession({ user, token });\n * navigate(\"/dashboard\", { replace: true });\n * },\n * onError: () => navigate(\"/login?error=oauth\", { replace: true }),\n * });\n *\n * if (loading) return <Spinner />;\n * if (error) return <ErrorState description=\"OAuth falhou\" />;\n * return null;\n * }\n */\nexport function useOAuthCallback<T>(\n options: UseOAuthCallbackOptions<T>,\n): UseOAuthCallbackResult<T> {\n const { exchange, onSuccess, onError } = options;\n const [data, setData] = useState<T | null>(null);\n const [error, setError] = useState<unknown>(null);\n const [status, setStatus] = useState<\"pending\" | \"success\" | \"error\">(\"pending\");\n const ranRef = useRef<boolean>(false);\n\n useEffect(() => {\n if (ranRef.current) return;\n ranRef.current = true;\n let cancelled = false;\n exchange()\n .then((result) => {\n if (cancelled) return;\n setData(result);\n setStatus(\"success\");\n return onSuccess?.(result);\n })\n .catch((err) => {\n if (cancelled) return;\n setError(err);\n setStatus(\"error\");\n onError?.(err);\n });\n return () => {\n cancelled = true;\n };\n }, [exchange, onSuccess, onError]);\n\n return { loading: status === \"pending\", data, error, status };\n}\n"],"mappings":"uBAiDA,SAAgB,EACZ,EACyB,CACzB,GAAM,CAAE,WAAU,YAAW,WAAY,EACnC,CAAC,EAAM,IAAA,EAAA,EAAA,SAAA,CAA8B,IAAI,EACzC,CAAC,EAAO,IAAA,EAAA,EAAA,SAAA,CAA8B,IAAI,EAC1C,CAAC,EAAQ,IAAA,EAAA,EAAA,SAAA,CAAuD,SAAS,EACzE,GAAA,EAAA,EAAA,OAAA,CAAyB,EAAK,EAwBpC,OAtBA,EAAA,EAAA,UAAA,KAAgB,CACZ,GAAI,EAAO,QAAS,OACpB,EAAO,QAAU,GACjB,IAAI,EAAY,GAchB,OAbA,EAAS,CAAC,CACL,KAAM,GAAW,CACV,MAGJ,OAFA,EAAQ,CAAM,EACd,EAAU,SAAS,EACZ,IAAY,CAAM,CAC7B,CAAC,CAAC,CACD,MAAO,GAAQ,CACR,IACJ,EAAS,CAAG,EACZ,EAAU,OAAO,EACjB,IAAU,CAAG,EACjB,CAAC,MACQ,CACT,EAAY,EAChB,CACJ,EAAG,CAAC,EAAU,EAAW,CAAO,CAAC,EAE1B,CAAE,QAAS,IAAW,UAAW,OAAM,QAAO,QAAO,CAChE"}
|