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,17 @@
|
|
|
1
|
+
import { createContext as e, useContext as t } from "react";
|
|
2
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
3
|
+
//#region src/access/access-control-context.tsx
|
|
4
|
+
var r = e(null);
|
|
5
|
+
function i({ control: e, children: t }) {
|
|
6
|
+
return /* @__PURE__ */ n(r.Provider, {
|
|
7
|
+
value: e,
|
|
8
|
+
children: t
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
function a() {
|
|
12
|
+
return t(r);
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { i as AccessControlProvider, a as useAccessControl };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=access-control-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access-control-context.js","names":[],"sources":["../../src/access/access-control-context.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport type { ReactNode } from \"react\";\nimport type { AccessControl } from \"./types\";\n\nconst AccessControlContext = createContext<AccessControl | null>(null);\n\nexport interface AccessControlProviderProps {\n /** The access-control strategy made available to descendants. */\n control: AccessControl;\n children: ReactNode;\n}\n\n/**\n * Provide an {@link AccessControl} strategy to the React tree. Components such\n * as `<Can>` and the `useCan` hook read it from context.\n *\n * @example\n * ```tsx\n * <AccessControlProvider control={createRoleAccessControl({ role: \"admin\", roles: { admin: [\"*\"] } })}>\n * <App />\n * </AccessControlProvider>\n * ```\n */\nexport function AccessControlProvider({ control, children }: AccessControlProviderProps) {\n return (\n <AccessControlContext.Provider value={control}>{children}</AccessControlContext.Provider>\n );\n}\n\n/**\n * Read the current {@link AccessControl} from context.\n *\n * Returns `null` when no {@link AccessControlProvider} is present. Callers MUST\n * treat the absence of a provider as **\"allow all\"** — i.e. when this returns\n * `null`, access checks should default to permitted. This keeps the SDK\n * opt-in: dropping in a provider adds enforcement, removing it disables it.\n */\nexport function useAccessControl(): AccessControl | null {\n return useContext(AccessControlContext);\n}\n"],"mappings":";;;AAIA,IAAM,IAAuB,EAAoC,IAAI;AAmBrE,SAAgB,EAAsB,EAAE,YAAS,eAAwC;CACrF,OACI,kBAAC,EAAqB,UAAtB;EAA+B,OAAO;EAAU;CAAwC,CAAA;AAEhG;AAUA,SAAgB,IAAyC;CACrD,OAAO,EAAW,CAAoB;AAC1C"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function e(e){let t=new Set(e.permissions??[]),n=e.role?Array.isArray(e.role)?e.role:[e.role]:[];for(let r of n)for(let n of e.roles?.[r]??[])t.add(n);return t}function t(t){let n=e(t);return{can({action:e,resource:t}){return n.has(`*`)||t!==void 0&&(n.has(`${t}:*`)||n.has(`${t}:${e}`))||t===void 0&&n.has(e)?{can:!0}:{can:!1,reason:`missing permission`}}}}exports.createRoleAccessControl=t;
|
|
2
|
+
//# sourceMappingURL=create-role-access-control.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-role-access-control.cjs","names":[],"sources":["../../src/access/create-role-access-control.ts"],"sourcesContent":["import type { AccessControl, CanParams, CanResult } from \"./types\";\n\nexport interface RoleAccessControlConfig {\n /** Permission strings granted directly, regardless of role. */\n permissions?: string[];\n /** Map of role name → permission strings granted by that role. */\n roles?: Record<string, string[]>;\n /** The active role(s). Their permissions (from `roles`) are merged in. */\n role?: string | string[];\n}\n\nfunction resolvePermissions(config: RoleAccessControlConfig): Set<string> {\n const set = new Set<string>(config.permissions ?? []);\n const roles = config.role ? (Array.isArray(config.role) ? config.role : [config.role]) : [];\n for (const role of roles) {\n for (const perm of config.roles?.[role] ?? []) {\n set.add(perm);\n }\n }\n return set;\n}\n\n/**\n * Build a simple RBAC {@link AccessControl} from a static permission set.\n *\n * Permission strings are `\"<resource>:<action>\"` (e.g. `\"posts:create\"`) or a\n * bare `\"<action>\"`. Wildcards are supported: `\"*\"` grants everything and\n * `\"<resource>:*\"` grants every action on a resource.\n *\n * The effective set is `config.permissions` plus, for each active role in\n * `config.role`, the permissions listed in `config.roles[role]`.\n *\n * @param config - Permissions, role map, and active role(s).\n * @returns An access-control strategy backed by the resolved permission set.\n *\n * @example\n * ```ts\n * const ac = createRoleAccessControl({\n * role: \"editor\",\n * roles: { editor: [\"posts:*\", \"comments:read\"] },\n * });\n * ac.can({ action: \"create\", resource: \"posts\" }); // true\n * ```\n */\nexport function createRoleAccessControl(config: RoleAccessControlConfig): AccessControl {\n const granted = resolvePermissions(config);\n\n return {\n can({ action, resource }: CanParams): CanResult {\n const allowed =\n granted.has(\"*\") ||\n (resource !== undefined &&\n (granted.has(`${resource}:*`) || granted.has(`${resource}:${action}`))) ||\n (resource === undefined && granted.has(action));\n\n return allowed ? { can: true } : { can: false, reason: \"missing permission\" };\n },\n };\n}\n"],"mappings":"AAWA,SAAS,EAAmB,EAA8C,CACtE,IAAM,EAAM,IAAI,IAAY,EAAO,aAAe,CAAC,CAAC,EAC9C,EAAQ,EAAO,KAAQ,MAAM,QAAQ,EAAO,IAAI,EAAI,EAAO,KAAO,CAAC,EAAO,IAAI,EAAK,CAAC,EAC1F,IAAK,IAAM,KAAQ,EACf,IAAK,IAAM,KAAQ,EAAO,QAAQ,IAAS,CAAC,EACxC,EAAI,IAAI,CAAI,EAGpB,OAAO,CACX,CAwBA,SAAgB,EAAwB,EAAgD,CACpF,IAAM,EAAU,EAAmB,CAAM,EAEzC,MAAO,CACH,IAAI,CAAE,SAAQ,YAAkC,CAO5C,OALI,EAAQ,IAAI,GAAG,GACd,IAAa,IAAA,KACT,EAAQ,IAAI,GAAG,EAAS,GAAG,GAAK,EAAQ,IAAI,GAAG,EAAS,GAAG,GAAQ,IACvE,IAAa,IAAA,IAAa,EAAQ,IAAI,CAAM,EAEhC,CAAE,IAAK,EAAK,EAAI,CAAE,IAAK,GAAO,OAAQ,oBAAqB,CAChF,CACJ,CACJ"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/access/create-role-access-control.ts
|
|
2
|
+
function e(e) {
|
|
3
|
+
let t = new Set(e.permissions ?? []), n = e.role ? Array.isArray(e.role) ? e.role : [e.role] : [];
|
|
4
|
+
for (let r of n) for (let n of e.roles?.[r] ?? []) t.add(n);
|
|
5
|
+
return t;
|
|
6
|
+
}
|
|
7
|
+
function t(t) {
|
|
8
|
+
let n = e(t);
|
|
9
|
+
return { can({ action: e, resource: t }) {
|
|
10
|
+
return n.has("*") || t !== void 0 && (n.has(`${t}:*`) || n.has(`${t}:${e}`)) || t === void 0 && n.has(e) ? { can: !0 } : {
|
|
11
|
+
can: !1,
|
|
12
|
+
reason: "missing permission"
|
|
13
|
+
};
|
|
14
|
+
} };
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { t as createRoleAccessControl };
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=create-role-access-control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-role-access-control.js","names":[],"sources":["../../src/access/create-role-access-control.ts"],"sourcesContent":["import type { AccessControl, CanParams, CanResult } from \"./types\";\n\nexport interface RoleAccessControlConfig {\n /** Permission strings granted directly, regardless of role. */\n permissions?: string[];\n /** Map of role name → permission strings granted by that role. */\n roles?: Record<string, string[]>;\n /** The active role(s). Their permissions (from `roles`) are merged in. */\n role?: string | string[];\n}\n\nfunction resolvePermissions(config: RoleAccessControlConfig): Set<string> {\n const set = new Set<string>(config.permissions ?? []);\n const roles = config.role ? (Array.isArray(config.role) ? config.role : [config.role]) : [];\n for (const role of roles) {\n for (const perm of config.roles?.[role] ?? []) {\n set.add(perm);\n }\n }\n return set;\n}\n\n/**\n * Build a simple RBAC {@link AccessControl} from a static permission set.\n *\n * Permission strings are `\"<resource>:<action>\"` (e.g. `\"posts:create\"`) or a\n * bare `\"<action>\"`. Wildcards are supported: `\"*\"` grants everything and\n * `\"<resource>:*\"` grants every action on a resource.\n *\n * The effective set is `config.permissions` plus, for each active role in\n * `config.role`, the permissions listed in `config.roles[role]`.\n *\n * @param config - Permissions, role map, and active role(s).\n * @returns An access-control strategy backed by the resolved permission set.\n *\n * @example\n * ```ts\n * const ac = createRoleAccessControl({\n * role: \"editor\",\n * roles: { editor: [\"posts:*\", \"comments:read\"] },\n * });\n * ac.can({ action: \"create\", resource: \"posts\" }); // true\n * ```\n */\nexport function createRoleAccessControl(config: RoleAccessControlConfig): AccessControl {\n const granted = resolvePermissions(config);\n\n return {\n can({ action, resource }: CanParams): CanResult {\n const allowed =\n granted.has(\"*\") ||\n (resource !== undefined &&\n (granted.has(`${resource}:*`) || granted.has(`${resource}:${action}`))) ||\n (resource === undefined && granted.has(action));\n\n return allowed ? { can: true } : { can: false, reason: \"missing permission\" };\n },\n };\n}\n"],"mappings":";AAWA,SAAS,EAAmB,GAA8C;CACtE,IAAM,IAAM,IAAI,IAAY,EAAO,eAAe,CAAC,CAAC,GAC9C,IAAQ,EAAO,OAAQ,MAAM,QAAQ,EAAO,IAAI,IAAI,EAAO,OAAO,CAAC,EAAO,IAAI,IAAK,CAAC;CAC1F,KAAK,IAAM,KAAQ,GACf,KAAK,IAAM,KAAQ,EAAO,QAAQ,MAAS,CAAC,GACxC,EAAI,IAAI,CAAI;CAGpB,OAAO;AACX;AAwBA,SAAgB,EAAwB,GAAgD;CACpF,IAAM,IAAU,EAAmB,CAAM;CAEzC,OAAO,EACH,IAAI,EAAE,WAAQ,eAAkC;EAO5C,OALI,EAAQ,IAAI,GAAG,KACd,MAAa,KAAA,MACT,EAAQ,IAAI,GAAG,EAAS,GAAG,KAAK,EAAQ,IAAI,GAAG,EAAS,GAAG,GAAQ,MACvE,MAAa,KAAA,KAAa,EAAQ,IAAI,CAAM,IAEhC,EAAE,KAAK,GAAK,IAAI;GAAE,KAAK;GAAO,QAAQ;EAAqB;CAChF,EACJ;AACJ"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("../auth/jwt.cjs");function t(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):typeof e==`string`?e.split(/\s+/).filter(Boolean):[]}function n(n,r){try{let{payload:i}=e.decodeJWT(n),a=t(i[r?.claim??`permissions`]);if(a.length>0)return a;if(r?.claim===void 0){let e=t(i.scopes);return e.length>0?e:t(i.scope)}return a}catch{return[]}}exports.permissionsFromToken=n;
|
|
2
|
+
//# sourceMappingURL=permissions-from-token.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions-from-token.cjs","names":[],"sources":["../../src/access/permissions-from-token.ts"],"sourcesContent":["import { decodeJWT } from \"@/auth/jwt\";\n\nexport interface PermissionsFromTokenOptions {\n /** JWT claim to read permissions from. Default: `\"permissions\"`. */\n claim?: string;\n}\n\nfunction toPermissionList(value: unknown): string[] {\n if (Array.isArray(value)) {\n return value.filter((item): item is string => typeof item === \"string\");\n }\n if (typeof value === \"string\") {\n // Space-delimited scope strings (OAuth convention).\n return value.split(/\\s+/).filter(Boolean);\n }\n return [];\n}\n\n/**\n * Extract a permission list from a JWT.\n *\n * Reads the configured claim (default `\"permissions\"`); if absent, falls back to\n * the OAuth `\"scopes\"`/`\"scope\"` claims. Array claims are used as-is; string\n * claims are split on whitespace. Returns `[]` on any decode failure or when no\n * recognizable claim is present.\n *\n * @param token - The JWT to inspect (signature is **not** verified).\n * @param options - Optional claim override.\n * @returns The list of permission strings, or `[]` on failure.\n */\nexport function permissionsFromToken(\n token: string,\n options?: PermissionsFromTokenOptions,\n): string[] {\n try {\n const { payload } = decodeJWT(token);\n const claim = options?.claim ?? \"permissions\";\n const primary = toPermissionList(payload[claim]);\n if (primary.length > 0) return primary;\n\n if (options?.claim === undefined) {\n const scopes = toPermissionList(payload[\"scopes\"]);\n if (scopes.length > 0) return scopes;\n return toPermissionList(payload[\"scope\"]);\n }\n return primary;\n } catch {\n return [];\n }\n}\n"],"mappings":"mCAOA,SAAS,EAAiB,EAA0B,CAQhD,OAPI,MAAM,QAAQ,CAAK,EACZ,EAAM,OAAQ,GAAyB,OAAO,GAAS,QAAQ,EAEtE,OAAO,GAAU,SAEV,EAAM,MAAM,KAAK,CAAC,CAAC,OAAO,OAAO,EAErC,CAAC,CACZ,CAcA,SAAgB,EACZ,EACA,EACQ,CACR,GAAI,CACA,GAAM,CAAE,WAAY,EAAA,UAAU,CAAK,EAE7B,EAAU,EAAiB,EADnB,GAAS,OAAS,cACe,EAC/C,GAAI,EAAQ,OAAS,EAAG,OAAO,EAE/B,GAAI,GAAS,QAAU,IAAA,GAAW,CAC9B,IAAM,EAAS,EAAiB,EAAQ,MAAS,EAEjD,OADI,EAAO,OAAS,EAAU,EACvB,EAAiB,EAAQ,KAAQ,CAC5C,CACA,OAAO,CACX,MAAQ,CACJ,MAAO,CAAC,CACZ,CACJ"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { decodeJWT as e } from "../auth/jwt.js";
|
|
2
|
+
//#region src/access/permissions-from-token.ts
|
|
3
|
+
function t(e) {
|
|
4
|
+
return Array.isArray(e) ? e.filter((e) => typeof e == "string") : typeof e == "string" ? e.split(/\s+/).filter(Boolean) : [];
|
|
5
|
+
}
|
|
6
|
+
function n(n, r) {
|
|
7
|
+
try {
|
|
8
|
+
let { payload: i } = e(n), a = t(i[r?.claim ?? "permissions"]);
|
|
9
|
+
if (a.length > 0) return a;
|
|
10
|
+
if (r?.claim === void 0) {
|
|
11
|
+
let e = t(i.scopes);
|
|
12
|
+
return e.length > 0 ? e : t(i.scope);
|
|
13
|
+
}
|
|
14
|
+
return a;
|
|
15
|
+
} catch {
|
|
16
|
+
return [];
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { n as permissionsFromToken };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=permissions-from-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions-from-token.js","names":[],"sources":["../../src/access/permissions-from-token.ts"],"sourcesContent":["import { decodeJWT } from \"@/auth/jwt\";\n\nexport interface PermissionsFromTokenOptions {\n /** JWT claim to read permissions from. Default: `\"permissions\"`. */\n claim?: string;\n}\n\nfunction toPermissionList(value: unknown): string[] {\n if (Array.isArray(value)) {\n return value.filter((item): item is string => typeof item === \"string\");\n }\n if (typeof value === \"string\") {\n // Space-delimited scope strings (OAuth convention).\n return value.split(/\\s+/).filter(Boolean);\n }\n return [];\n}\n\n/**\n * Extract a permission list from a JWT.\n *\n * Reads the configured claim (default `\"permissions\"`); if absent, falls back to\n * the OAuth `\"scopes\"`/`\"scope\"` claims. Array claims are used as-is; string\n * claims are split on whitespace. Returns `[]` on any decode failure or when no\n * recognizable claim is present.\n *\n * @param token - The JWT to inspect (signature is **not** verified).\n * @param options - Optional claim override.\n * @returns The list of permission strings, or `[]` on failure.\n */\nexport function permissionsFromToken(\n token: string,\n options?: PermissionsFromTokenOptions,\n): string[] {\n try {\n const { payload } = decodeJWT(token);\n const claim = options?.claim ?? \"permissions\";\n const primary = toPermissionList(payload[claim]);\n if (primary.length > 0) return primary;\n\n if (options?.claim === undefined) {\n const scopes = toPermissionList(payload[\"scopes\"]);\n if (scopes.length > 0) return scopes;\n return toPermissionList(payload[\"scope\"]);\n }\n return primary;\n } catch {\n return [];\n }\n}\n"],"mappings":";;AAOA,SAAS,EAAiB,GAA0B;CAQhD,OAPI,MAAM,QAAQ,CAAK,IACZ,EAAM,QAAQ,MAAyB,OAAO,KAAS,QAAQ,IAEtE,OAAO,KAAU,WAEV,EAAM,MAAM,KAAK,CAAC,CAAC,OAAO,OAAO,IAErC,CAAC;AACZ;AAcA,SAAgB,EACZ,GACA,GACQ;CACR,IAAI;EACA,IAAM,EAAE,eAAY,EAAU,CAAK,GAE7B,IAAU,EAAiB,EADnB,GAAS,SAAS,cACe;EAC/C,IAAI,EAAQ,SAAS,GAAG,OAAO;EAE/B,IAAI,GAAS,UAAU,KAAA,GAAW;GAC9B,IAAM,IAAS,EAAiB,EAAQ,MAAS;GAEjD,OADI,EAAO,SAAS,IAAU,IACvB,EAAiB,EAAQ,KAAQ;EAC5C;EACA,OAAO;CACX,QAAQ;EACJ,OAAO,CAAC;CACZ;AACJ"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("./access-control-context.cjs");let t=require("react");function n(e){return typeof e==`boolean`?{can:e}:e}function r(r){let i=e.useAccessControl(),a=JSON.stringify(r),[o,s]=(0,t.useState)(()=>i?{allowed:!1,isLoading:!0}:{allowed:!0,isLoading:!1});return(0,t.useEffect)(()=>{if(!i){s({allowed:!0,isLoading:!1});return}let e=!1;return s(e=>({...e,isLoading:!0})),Promise.resolve(i.can(r)).then(t=>{if(e)return;let r=n(t);s({allowed:r.can,isLoading:!1,reason:r.reason})}).catch(t=>{e||s({allowed:!1,isLoading:!1,reason:t instanceof Error?t.message:`access check failed`})}),()=>{e=!0}},[i,a]),o}exports.useCan=r;
|
|
2
|
+
//# sourceMappingURL=use-can.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-can.cjs","names":[],"sources":["../../src/access/use-can.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport { useAccessControl } from \"./access-control-context\";\nimport type { CanParams, CanResult } from \"./types\";\n\nexport interface UseCanResult {\n /** Whether the action is permitted. Defaults to `true` while loading is not the concern of the caller. */\n allowed: boolean;\n /** `true` while an async `can` check is pending. */\n isLoading: boolean;\n /** Optional explanation, typically present when `allowed` is `false`. */\n reason?: string;\n}\n\nfunction normalize(result: boolean | CanResult): CanResult {\n return typeof result === \"boolean\" ? { can: result } : result;\n}\n\n/**\n * Resolve an access check against the {@link AccessControl} in context.\n *\n * Handles sync booleans, sync {@link CanResult}, and promises of either. When\n * no provider is present, access is allowed (see `useAccessControl`). The check\n * re-runs whenever the params change.\n *\n * @param params - The action/resource being checked.\n */\nexport function useCan(params: CanParams): UseCanResult {\n const control = useAccessControl();\n const paramsKey = JSON.stringify(params);\n\n const [state, setState] = useState<UseCanResult>(() =>\n control ? { allowed: false, isLoading: true } : { allowed: true, isLoading: false },\n );\n\n useEffect(() => {\n if (!control) {\n setState({ allowed: true, isLoading: false });\n return;\n }\n\n let cancelled = false;\n setState((prev) => ({ ...prev, isLoading: true }));\n\n Promise.resolve(control.can(params))\n .then((raw) => {\n if (cancelled) return;\n const result = normalize(raw);\n setState({ allowed: result.can, isLoading: false, reason: result.reason });\n })\n .catch((error: unknown) => {\n if (cancelled) return;\n setState({\n allowed: false,\n isLoading: false,\n reason: error instanceof Error ? error.message : \"access check failed\",\n });\n });\n\n return () => {\n cancelled = true;\n };\n // `paramsKey` is the stable stringified form of `params`.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [control, paramsKey]);\n\n return state;\n}\n"],"mappings":"uEAaA,SAAS,EAAU,EAAwC,CACvD,OAAO,OAAO,GAAW,UAAY,CAAE,IAAK,CAAO,EAAI,CAC3D,CAWA,SAAgB,EAAO,EAAiC,CACpD,IAAM,EAAU,EAAA,iBAAiB,EAC3B,EAAY,KAAK,UAAU,CAAM,EAEjC,CAAC,EAAO,IAAA,EAAA,EAAA,SAAA,KACV,EAAU,CAAE,QAAS,GAAO,UAAW,EAAK,EAAI,CAAE,QAAS,GAAM,UAAW,EAAM,CACtF,EAiCA,OA/BA,EAAA,EAAA,UAAA,KAAgB,CACZ,GAAI,CAAC,EAAS,CACV,EAAS,CAAE,QAAS,GAAM,UAAW,EAAM,CAAC,EAC5C,MACJ,CAEA,IAAI,EAAY,GAkBhB,OAjBA,EAAU,IAAU,CAAE,GAAG,EAAM,UAAW,EAAK,EAAE,EAEjD,QAAQ,QAAQ,EAAQ,IAAI,CAAM,CAAC,CAAC,CAC/B,KAAM,GAAQ,CACX,GAAI,EAAW,OACf,IAAM,EAAS,EAAU,CAAG,EAC5B,EAAS,CAAE,QAAS,EAAO,IAAK,UAAW,GAAO,OAAQ,EAAO,MAAO,CAAC,CAC7E,CAAC,CAAC,CACD,MAAO,GAAmB,CACnB,GACJ,EAAS,CACL,QAAS,GACT,UAAW,GACX,OAAQ,aAAiB,MAAQ,EAAM,QAAU,qBACrD,CAAC,CACL,CAAC,MAEQ,CACT,EAAY,EAChB,CAGJ,EAAG,CAAC,EAAS,CAAS,CAAC,EAEhB,CACX"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { useAccessControl as e } from "./access-control-context.js";
|
|
2
|
+
import { useEffect as t, useState as n } from "react";
|
|
3
|
+
//#region src/access/use-can.ts
|
|
4
|
+
function r(e) {
|
|
5
|
+
return typeof e == "boolean" ? { can: e } : e;
|
|
6
|
+
}
|
|
7
|
+
function i(i) {
|
|
8
|
+
let a = e(), o = JSON.stringify(i), [s, c] = n(() => a ? {
|
|
9
|
+
allowed: !1,
|
|
10
|
+
isLoading: !0
|
|
11
|
+
} : {
|
|
12
|
+
allowed: !0,
|
|
13
|
+
isLoading: !1
|
|
14
|
+
});
|
|
15
|
+
return t(() => {
|
|
16
|
+
if (!a) {
|
|
17
|
+
c({
|
|
18
|
+
allowed: !0,
|
|
19
|
+
isLoading: !1
|
|
20
|
+
});
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
let e = !1;
|
|
24
|
+
return c((e) => ({
|
|
25
|
+
...e,
|
|
26
|
+
isLoading: !0
|
|
27
|
+
})), Promise.resolve(a.can(i)).then((t) => {
|
|
28
|
+
if (e) return;
|
|
29
|
+
let n = r(t);
|
|
30
|
+
c({
|
|
31
|
+
allowed: n.can,
|
|
32
|
+
isLoading: !1,
|
|
33
|
+
reason: n.reason
|
|
34
|
+
});
|
|
35
|
+
}).catch((t) => {
|
|
36
|
+
e || c({
|
|
37
|
+
allowed: !1,
|
|
38
|
+
isLoading: !1,
|
|
39
|
+
reason: t instanceof Error ? t.message : "access check failed"
|
|
40
|
+
});
|
|
41
|
+
}), () => {
|
|
42
|
+
e = !0;
|
|
43
|
+
};
|
|
44
|
+
}, [a, o]), s;
|
|
45
|
+
}
|
|
46
|
+
//#endregion
|
|
47
|
+
export { i as useCan };
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=use-can.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-can.js","names":[],"sources":["../../src/access/use-can.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport { useAccessControl } from \"./access-control-context\";\nimport type { CanParams, CanResult } from \"./types\";\n\nexport interface UseCanResult {\n /** Whether the action is permitted. Defaults to `true` while loading is not the concern of the caller. */\n allowed: boolean;\n /** `true` while an async `can` check is pending. */\n isLoading: boolean;\n /** Optional explanation, typically present when `allowed` is `false`. */\n reason?: string;\n}\n\nfunction normalize(result: boolean | CanResult): CanResult {\n return typeof result === \"boolean\" ? { can: result } : result;\n}\n\n/**\n * Resolve an access check against the {@link AccessControl} in context.\n *\n * Handles sync booleans, sync {@link CanResult}, and promises of either. When\n * no provider is present, access is allowed (see `useAccessControl`). The check\n * re-runs whenever the params change.\n *\n * @param params - The action/resource being checked.\n */\nexport function useCan(params: CanParams): UseCanResult {\n const control = useAccessControl();\n const paramsKey = JSON.stringify(params);\n\n const [state, setState] = useState<UseCanResult>(() =>\n control ? { allowed: false, isLoading: true } : { allowed: true, isLoading: false },\n );\n\n useEffect(() => {\n if (!control) {\n setState({ allowed: true, isLoading: false });\n return;\n }\n\n let cancelled = false;\n setState((prev) => ({ ...prev, isLoading: true }));\n\n Promise.resolve(control.can(params))\n .then((raw) => {\n if (cancelled) return;\n const result = normalize(raw);\n setState({ allowed: result.can, isLoading: false, reason: result.reason });\n })\n .catch((error: unknown) => {\n if (cancelled) return;\n setState({\n allowed: false,\n isLoading: false,\n reason: error instanceof Error ? error.message : \"access check failed\",\n });\n });\n\n return () => {\n cancelled = true;\n };\n // `paramsKey` is the stable stringified form of `params`.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [control, paramsKey]);\n\n return state;\n}\n"],"mappings":";;;AAaA,SAAS,EAAU,GAAwC;CACvD,OAAO,OAAO,KAAW,YAAY,EAAE,KAAK,EAAO,IAAI;AAC3D;AAWA,SAAgB,EAAO,GAAiC;CACpD,IAAM,IAAU,EAAiB,GAC3B,IAAY,KAAK,UAAU,CAAM,GAEjC,CAAC,GAAO,KAAY,QACtB,IAAU;EAAE,SAAS;EAAO,WAAW;CAAK,IAAI;EAAE,SAAS;EAAM,WAAW;CAAM,CACtF;CAiCA,OA/BA,QAAgB;EACZ,IAAI,CAAC,GAAS;GACV,EAAS;IAAE,SAAS;IAAM,WAAW;GAAM,CAAC;GAC5C;EACJ;EAEA,IAAI,IAAY;EAkBhB,OAjBA,GAAU,OAAU;GAAE,GAAG;GAAM,WAAW;EAAK,EAAE,GAEjD,QAAQ,QAAQ,EAAQ,IAAI,CAAM,CAAC,CAAC,CAC/B,MAAM,MAAQ;GACX,IAAI,GAAW;GACf,IAAM,IAAS,EAAU,CAAG;GAC5B,EAAS;IAAE,SAAS,EAAO;IAAK,WAAW;IAAO,QAAQ,EAAO;GAAO,CAAC;EAC7E,CAAC,CAAC,CACD,OAAO,MAAmB;GACnB,KACJ,EAAS;IACL,SAAS;IACT,WAAW;IACX,QAAQ,aAAiB,QAAQ,EAAM,UAAU;GACrD,CAAC;EACL,CAAC,SAEQ;GACT,IAAY;EAChB;CAGJ,GAAG,CAAC,GAAS,CAAS,CAAC,GAEhB;AACX"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("../query/QueryProvider.cjs"),t=require("../theme/ThemeProvider.cjs"),n=require("../i18n/I18nProvider.cjs"),r=require("../error-boundary/ErrorBoundary.cjs");let i=require("react/jsx-runtime");function a({children:a,query:o,theme:s,i18n:c,errorBoundary:l}){let u=a;return c&&(u=(0,i.jsx)(n.I18nProvider,{...c,children:u})),s!==!1&&(u=(0,i.jsx)(t.ThemeProvider,{...s||{},children:u})),o!==!1&&(u=(0,i.jsx)(e.QueryProvider,{...o||{},children:u})),l&&(u=(0,i.jsx)(r.ErrorBoundary,{...l,children:u})),(0,i.jsx)(i.Fragment,{children:u})}exports.AppProviders=a;
|
|
2
|
+
//# sourceMappingURL=AppProviders.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppProviders.cjs","names":[],"sources":["../../src/app/AppProviders.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { QueryProvider } from \"../query/QueryProvider\";\nimport type { QueryProviderProps } from \"../query/QueryProvider\";\nimport { ThemeProvider } from \"../theme/ThemeProvider\";\nimport type { ThemeProviderProps } from \"../theme/ThemeProvider\";\nimport { I18nProvider } from \"../i18n/I18nProvider\";\nimport type { I18nProviderProps } from \"../i18n/I18nProvider\";\nimport { ErrorBoundary } from \"../error-boundary/ErrorBoundary\";\nimport type { ErrorBoundaryProps } from \"../error-boundary/ErrorBoundary\";\n\nexport interface AppProvidersProps {\n children: ReactNode;\n /**\n * TanStack Query config. Enabled by default with SDK defaults; pass `false`\n * to opt out (e.g. the app already mounts its own `QueryProvider`).\n */\n query?: Omit<QueryProviderProps, \"children\"> | false;\n /**\n * Theme config. Enabled by default; pass `false` to opt out.\n */\n theme?: Omit<ThemeProviderProps, \"children\"> | false;\n /**\n * i18n config. Opt-in: provide `locale` + `messages` to mount the provider.\n */\n i18n?: Omit<I18nProviderProps, \"children\">;\n /**\n * Top-level error boundary. Opt-in: provide a `fallback` to wrap the tree.\n */\n errorBoundary?: Omit<ErrorBoundaryProps, \"children\">;\n}\n\n/**\n * Compose the Tempest app-wide providers in one place: error boundary →\n * TanStack Query → theme → i18n. Query and theme are on by default; i18n and\n * the error boundary mount only when configured. Each provider can be disabled\n * or tuned independently, so an app's `main.tsx` stays a single declarative\n * block instead of a hand-nested provider pyramid.\n *\n * @example\n * <AppProviders\n * errorBoundary={{ fallback: <Crash /> }}\n * i18n={{ locale: \"pt-BR\", messages }}\n * >\n * <AppRouter routes={routes} />\n * </AppProviders>\n */\nexport function AppProviders({ children, query, theme, i18n, errorBoundary }: AppProvidersProps) {\n let tree: ReactNode = children;\n\n if (i18n) {\n tree = <I18nProvider {...i18n}>{tree}</I18nProvider>;\n }\n\n if (theme !== false) {\n tree = <ThemeProvider {...(theme || {})}>{tree}</ThemeProvider>;\n }\n\n if (query !== false) {\n tree = <QueryProvider {...(query || {})}>{tree}</QueryProvider>;\n }\n\n if (errorBoundary) {\n tree = <ErrorBoundary {...errorBoundary}>{tree}</ErrorBoundary>;\n }\n\n return <>{tree}</>;\n}\n"],"mappings":"gNA8CA,SAAgB,EAAa,CAAE,WAAU,QAAO,QAAO,OAAM,iBAAoC,CAC7F,IAAI,EAAkB,EAkBtB,OAhBI,IACA,GAAO,EAAA,EAAA,IAAA,CAAC,EAAA,aAAD,CAAc,GAAI,WAAO,CAAmB,CAAA,GAGnD,IAAU,KACV,GAAO,EAAA,EAAA,IAAA,CAAC,EAAA,cAAD,CAAe,GAAK,GAAS,CAAC,WAAK,CAAoB,CAAA,GAG9D,IAAU,KACV,GAAO,EAAA,EAAA,IAAA,CAAC,EAAA,cAAD,CAAe,GAAK,GAAS,CAAC,WAAK,CAAoB,CAAA,GAG9D,IACA,GAAO,EAAA,EAAA,IAAA,CAAC,EAAA,cAAD,CAAe,GAAI,WAAgB,CAAoB,CAAA,IAG3D,EAAA,EAAA,IAAA,CAAA,EAAA,SAAA,CAAA,SAAG,CAAO,CAAA,CACrB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { QueryProvider as e } from "../query/QueryProvider.js";
|
|
2
|
+
import { ThemeProvider as t } from "../theme/ThemeProvider.js";
|
|
3
|
+
import { I18nProvider as n } from "../i18n/I18nProvider.js";
|
|
4
|
+
import { ErrorBoundary as r } from "../error-boundary/ErrorBoundary.js";
|
|
5
|
+
import { Fragment as i, jsx as a } from "react/jsx-runtime";
|
|
6
|
+
//#region src/app/AppProviders.tsx
|
|
7
|
+
function o({ children: o, query: s, theme: c, i18n: l, errorBoundary: u }) {
|
|
8
|
+
let d = o;
|
|
9
|
+
return l && (d = /* @__PURE__ */ a(n, {
|
|
10
|
+
...l,
|
|
11
|
+
children: d
|
|
12
|
+
})), c !== !1 && (d = /* @__PURE__ */ a(t, {
|
|
13
|
+
...c || {},
|
|
14
|
+
children: d
|
|
15
|
+
})), s !== !1 && (d = /* @__PURE__ */ a(e, {
|
|
16
|
+
...s || {},
|
|
17
|
+
children: d
|
|
18
|
+
})), u && (d = /* @__PURE__ */ a(r, {
|
|
19
|
+
...u,
|
|
20
|
+
children: d
|
|
21
|
+
})), /* @__PURE__ */ a(i, { children: d });
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
export { o as AppProviders };
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=AppProviders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppProviders.js","names":[],"sources":["../../src/app/AppProviders.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { QueryProvider } from \"../query/QueryProvider\";\nimport type { QueryProviderProps } from \"../query/QueryProvider\";\nimport { ThemeProvider } from \"../theme/ThemeProvider\";\nimport type { ThemeProviderProps } from \"../theme/ThemeProvider\";\nimport { I18nProvider } from \"../i18n/I18nProvider\";\nimport type { I18nProviderProps } from \"../i18n/I18nProvider\";\nimport { ErrorBoundary } from \"../error-boundary/ErrorBoundary\";\nimport type { ErrorBoundaryProps } from \"../error-boundary/ErrorBoundary\";\n\nexport interface AppProvidersProps {\n children: ReactNode;\n /**\n * TanStack Query config. Enabled by default with SDK defaults; pass `false`\n * to opt out (e.g. the app already mounts its own `QueryProvider`).\n */\n query?: Omit<QueryProviderProps, \"children\"> | false;\n /**\n * Theme config. Enabled by default; pass `false` to opt out.\n */\n theme?: Omit<ThemeProviderProps, \"children\"> | false;\n /**\n * i18n config. Opt-in: provide `locale` + `messages` to mount the provider.\n */\n i18n?: Omit<I18nProviderProps, \"children\">;\n /**\n * Top-level error boundary. Opt-in: provide a `fallback` to wrap the tree.\n */\n errorBoundary?: Omit<ErrorBoundaryProps, \"children\">;\n}\n\n/**\n * Compose the Tempest app-wide providers in one place: error boundary →\n * TanStack Query → theme → i18n. Query and theme are on by default; i18n and\n * the error boundary mount only when configured. Each provider can be disabled\n * or tuned independently, so an app's `main.tsx` stays a single declarative\n * block instead of a hand-nested provider pyramid.\n *\n * @example\n * <AppProviders\n * errorBoundary={{ fallback: <Crash /> }}\n * i18n={{ locale: \"pt-BR\", messages }}\n * >\n * <AppRouter routes={routes} />\n * </AppProviders>\n */\nexport function AppProviders({ children, query, theme, i18n, errorBoundary }: AppProvidersProps) {\n let tree: ReactNode = children;\n\n if (i18n) {\n tree = <I18nProvider {...i18n}>{tree}</I18nProvider>;\n }\n\n if (theme !== false) {\n tree = <ThemeProvider {...(theme || {})}>{tree}</ThemeProvider>;\n }\n\n if (query !== false) {\n tree = <QueryProvider {...(query || {})}>{tree}</QueryProvider>;\n }\n\n if (errorBoundary) {\n tree = <ErrorBoundary {...errorBoundary}>{tree}</ErrorBoundary>;\n }\n\n return <>{tree}</>;\n}\n"],"mappings":";;;;;;AA8CA,SAAgB,EAAa,EAAE,aAAU,UAAO,UAAO,SAAM,oBAAoC;CAC7F,IAAI,IAAkB;CAkBtB,OAhBI,MACA,IAAO,kBAAC,GAAD;EAAc,GAAI;YAAO;CAAmB,CAAA,IAGnD,MAAU,OACV,IAAO,kBAAC,GAAD;EAAe,GAAK,KAAS,CAAC;YAAK;CAAoB,CAAA,IAG9D,MAAU,OACV,IAAO,kBAAC,GAAD;EAAe,GAAK,KAAS,CAAC;YAAK;CAAoB,CAAA,IAG9D,MACA,IAAO,kBAAC,GAAD;EAAe,GAAI;YAAgB;CAAoB,CAAA,IAG3D,kBAAA,GAAA,EAAA,UAAG,EAAO,CAAA;AACrB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function e(){let e=null;async function t(t,{volume:n=1,loop:r=!1,autoplay:i=!0,stopPrevious:a=!1,onEnded:o,onError:s}={}){try{a&&e&&(e.pause(),e.currentTime=0);let c=new Audio(t);return c.volume=Math.max(0,Math.min(1,n)),c.loop=r,c.preload=`auto`,o&&(c.onended=o),s&&(c.onerror=e=>s(e)),e=c,i&&await c.play(),c}catch(e){return s?.(e),null}}function n(){e&&(e.pause(),e.currentTime=0)}return{play:t,stop:n,current:()=>e}}var t=null;function n(){return t||=e(),t}async function r(e,t){return n().play(e,t)}function i(){n().stop()}exports.createAudioPlayer=e,exports.playAudio=r,exports.stopAudio=i;
|
|
2
|
+
//# sourceMappingURL=audio-player.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audio-player.cjs","names":[],"sources":["../../src/audio/audio-player.ts"],"sourcesContent":["export interface PlayAudioOptions {\n /** Volume between 0 and 1. Default: 1. */\n volume?: number;\n /** Loop the clip. Default: false. */\n loop?: boolean;\n /** Begin playback immediately. Default: true. */\n autoplay?: boolean;\n /** Stop the previous clip managed by this player. Default: false. */\n stopPrevious?: boolean;\n /** Fired when playback ends naturally. */\n onEnded?: () => void;\n /** Fired on playback error. */\n onError?: (error: unknown) => void;\n}\n\nexport interface AudioPlayer {\n /** Play `src`. Returns the underlying element, or `null` when the browser blocked autoplay. */\n play: (src: string, options?: PlayAudioOptions) => Promise<HTMLAudioElement | null>;\n /** Stop the currently-playing clip and rewind it. */\n stop: () => void;\n /** Currently playing audio element, or `null`. */\n current: () => HTMLAudioElement | null;\n}\n\n/**\n * Create an isolated audio player that tracks a single \"current\" clip.\n * Multiple players coexist independently; use this when several layers of UI\n * need their own playback state.\n */\nexport function createAudioPlayer(): AudioPlayer {\n let current: HTMLAudioElement | null = null;\n\n async function play(\n src: string,\n {\n volume = 1,\n loop = false,\n autoplay = true,\n stopPrevious = false,\n onEnded,\n onError,\n }: PlayAudioOptions = {},\n ): Promise<HTMLAudioElement | null> {\n try {\n if (stopPrevious && current) {\n current.pause();\n current.currentTime = 0;\n }\n const audio = new Audio(src);\n audio.volume = Math.max(0, Math.min(1, volume));\n audio.loop = loop;\n audio.preload = \"auto\";\n if (onEnded) audio.onended = onEnded;\n if (onError) audio.onerror = (event) => onError(event);\n current = audio;\n if (autoplay) await audio.play();\n return audio;\n } catch (error) {\n onError?.(error);\n return null;\n }\n }\n\n function stop(): void {\n if (!current) return;\n current.pause();\n current.currentTime = 0;\n }\n\n return { play, stop, current: () => current };\n}\n\nlet defaultPlayer: AudioPlayer | null = null;\n\nfunction getDefaultPlayer(): AudioPlayer {\n if (!defaultPlayer) defaultPlayer = createAudioPlayer();\n return defaultPlayer;\n}\n\n/**\n * Convenience wrapper around a shared {@link AudioPlayer}. Use this for\n * one-off notification sounds. For more complex flows (e.g. several\n * simultaneous channels), build a dedicated player with {@link createAudioPlayer}.\n */\nexport async function playAudio(\n src: string,\n options?: PlayAudioOptions,\n): Promise<HTMLAudioElement | null> {\n return getDefaultPlayer().play(src, options);\n}\n\n/** Stop the clip currently playing on the shared default player. */\nexport function stopAudio(): void {\n getDefaultPlayer().stop();\n}\n"],"mappings":"AA6BA,SAAgB,GAAiC,CAC7C,IAAI,EAAmC,KAEvC,eAAe,EACX,EACA,CACI,SAAS,EACT,OAAO,GACP,WAAW,GACX,eAAe,GACf,UACA,WACkB,CAAC,EACS,CAChC,GAAI,CACI,GAAgB,IAChB,EAAQ,MAAM,EACd,EAAQ,YAAc,GAE1B,IAAM,EAAQ,IAAI,MAAM,CAAG,EAQ3B,MAPA,GAAM,OAAS,KAAK,IAAI,EAAG,KAAK,IAAI,EAAG,CAAM,CAAC,EAC9C,EAAM,KAAO,EACb,EAAM,QAAU,OACZ,IAAS,EAAM,QAAU,GACzB,IAAS,EAAM,QAAW,GAAU,EAAQ,CAAK,GACrD,EAAU,EACN,GAAU,MAAM,EAAM,KAAK,EACxB,CACX,OAAS,EAAO,CAEZ,OADA,IAAU,CAAK,EACR,IACX,CACJ,CAEA,SAAS,GAAa,CACb,IACL,EAAQ,MAAM,EACd,EAAQ,YAAc,EAC1B,CAEA,MAAO,CAAE,OAAM,OAAM,YAAe,CAAQ,CAChD,CAEA,IAAI,EAAoC,KAExC,SAAS,GAAgC,CAErC,MADA,CAAoB,IAAgB,EAAkB,EAC/C,CACX,CAOA,eAAsB,EAClB,EACA,EACgC,CAChC,OAAO,EAAiB,CAAC,CAAC,KAAK,EAAK,CAAO,CAC/C,CAGA,SAAgB,GAAkB,CAC9B,EAAiB,CAAC,CAAC,KAAK,CAC5B"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
//#region src/audio/audio-player.ts
|
|
2
|
+
function e() {
|
|
3
|
+
let e = null;
|
|
4
|
+
async function t(t, { volume: n = 1, loop: r = !1, autoplay: i = !0, stopPrevious: a = !1, onEnded: o, onError: s } = {}) {
|
|
5
|
+
try {
|
|
6
|
+
a && e && (e.pause(), e.currentTime = 0);
|
|
7
|
+
let c = new Audio(t);
|
|
8
|
+
return c.volume = Math.max(0, Math.min(1, n)), c.loop = r, c.preload = "auto", o && (c.onended = o), s && (c.onerror = (e) => s(e)), e = c, i && await c.play(), c;
|
|
9
|
+
} catch (e) {
|
|
10
|
+
return s?.(e), null;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function n() {
|
|
14
|
+
e && (e.pause(), e.currentTime = 0);
|
|
15
|
+
}
|
|
16
|
+
return {
|
|
17
|
+
play: t,
|
|
18
|
+
stop: n,
|
|
19
|
+
current: () => e
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
var t = null;
|
|
23
|
+
function n() {
|
|
24
|
+
return t ||= e(), t;
|
|
25
|
+
}
|
|
26
|
+
async function r(e, t) {
|
|
27
|
+
return n().play(e, t);
|
|
28
|
+
}
|
|
29
|
+
function i() {
|
|
30
|
+
n().stop();
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { e as createAudioPlayer, r as playAudio, i as stopAudio };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=audio-player.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audio-player.js","names":[],"sources":["../../src/audio/audio-player.ts"],"sourcesContent":["export interface PlayAudioOptions {\n /** Volume between 0 and 1. Default: 1. */\n volume?: number;\n /** Loop the clip. Default: false. */\n loop?: boolean;\n /** Begin playback immediately. Default: true. */\n autoplay?: boolean;\n /** Stop the previous clip managed by this player. Default: false. */\n stopPrevious?: boolean;\n /** Fired when playback ends naturally. */\n onEnded?: () => void;\n /** Fired on playback error. */\n onError?: (error: unknown) => void;\n}\n\nexport interface AudioPlayer {\n /** Play `src`. Returns the underlying element, or `null` when the browser blocked autoplay. */\n play: (src: string, options?: PlayAudioOptions) => Promise<HTMLAudioElement | null>;\n /** Stop the currently-playing clip and rewind it. */\n stop: () => void;\n /** Currently playing audio element, or `null`. */\n current: () => HTMLAudioElement | null;\n}\n\n/**\n * Create an isolated audio player that tracks a single \"current\" clip.\n * Multiple players coexist independently; use this when several layers of UI\n * need their own playback state.\n */\nexport function createAudioPlayer(): AudioPlayer {\n let current: HTMLAudioElement | null = null;\n\n async function play(\n src: string,\n {\n volume = 1,\n loop = false,\n autoplay = true,\n stopPrevious = false,\n onEnded,\n onError,\n }: PlayAudioOptions = {},\n ): Promise<HTMLAudioElement | null> {\n try {\n if (stopPrevious && current) {\n current.pause();\n current.currentTime = 0;\n }\n const audio = new Audio(src);\n audio.volume = Math.max(0, Math.min(1, volume));\n audio.loop = loop;\n audio.preload = \"auto\";\n if (onEnded) audio.onended = onEnded;\n if (onError) audio.onerror = (event) => onError(event);\n current = audio;\n if (autoplay) await audio.play();\n return audio;\n } catch (error) {\n onError?.(error);\n return null;\n }\n }\n\n function stop(): void {\n if (!current) return;\n current.pause();\n current.currentTime = 0;\n }\n\n return { play, stop, current: () => current };\n}\n\nlet defaultPlayer: AudioPlayer | null = null;\n\nfunction getDefaultPlayer(): AudioPlayer {\n if (!defaultPlayer) defaultPlayer = createAudioPlayer();\n return defaultPlayer;\n}\n\n/**\n * Convenience wrapper around a shared {@link AudioPlayer}. Use this for\n * one-off notification sounds. For more complex flows (e.g. several\n * simultaneous channels), build a dedicated player with {@link createAudioPlayer}.\n */\nexport async function playAudio(\n src: string,\n options?: PlayAudioOptions,\n): Promise<HTMLAudioElement | null> {\n return getDefaultPlayer().play(src, options);\n}\n\n/** Stop the clip currently playing on the shared default player. */\nexport function stopAudio(): void {\n getDefaultPlayer().stop();\n}\n"],"mappings":";AA6BA,SAAgB,IAAiC;CAC7C,IAAI,IAAmC;CAEvC,eAAe,EACX,GACA,EACI,YAAS,GACT,UAAO,IACP,cAAW,IACX,kBAAe,IACf,YACA,eACkB,CAAC,GACS;EAChC,IAAI;GACA,AAAI,KAAgB,MAChB,EAAQ,MAAM,GACd,EAAQ,cAAc;GAE1B,IAAM,IAAQ,IAAI,MAAM,CAAG;GAQ3B,OAPA,EAAM,SAAS,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,CAAM,CAAC,GAC9C,EAAM,OAAO,GACb,EAAM,UAAU,QACZ,MAAS,EAAM,UAAU,IACzB,MAAS,EAAM,WAAW,MAAU,EAAQ,CAAK,IACrD,IAAU,GACN,KAAU,MAAM,EAAM,KAAK,GACxB;EACX,SAAS,GAAO;GAEZ,OADA,IAAU,CAAK,GACR;EACX;CACJ;CAEA,SAAS,IAAa;EACb,MACL,EAAQ,MAAM,GACd,EAAQ,cAAc;CAC1B;CAEA,OAAO;EAAE;EAAM;EAAM,eAAe;CAAQ;AAChD;AAEA,IAAI,IAAoC;AAExC,SAAS,IAAgC;CAErC,OADA,AAAoB,MAAgB,EAAkB,GAC/C;AACX;AAOA,eAAsB,EAClB,GACA,GACgC;CAChC,OAAO,EAAiB,CAAC,CAAC,KAAK,GAAK,CAAO;AAC/C;AAGA,SAAgB,IAAkB;CAC9B,EAAiB,CAAC,CAAC,KAAK;AAC5B"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("./audio-player.cjs");let t=require("react");function n(){let n=(0,t.useRef)(null),[r,i]=(0,t.useState)(!1);return n.current||=e.createAudioPlayer(),(0,t.useEffect)(()=>()=>{n.current?.stop()},[]),{play:(0,t.useCallback)(async(e,t)=>{await n.current.play(e,t)&&i(!0)},[]),stop:(0,t.useCallback)(()=>{n.current?.stop()},[]),unlocked:r}}exports.useAudio=n;
|
|
2
|
+
//# sourceMappingURL=use-audio.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-audio.cjs","names":[],"sources":["../../src/audio/use-audio.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from \"react\";\nimport { createAudioPlayer, type AudioPlayer, type PlayAudioOptions } from \"./audio-player\";\n\nexport interface UseAudioResult {\n /** Play `src` on the hook's private player. */\n play: (src: string, options?: PlayAudioOptions) => Promise<void>;\n /** Stop the current clip. */\n stop: () => void;\n /**\n * Whether the browser's autoplay policy has been satisfied. Becomes\n * `true` after the first successful `play()`.\n */\n unlocked: boolean;\n}\n\n/**\n * Hook-managed audio player. Each component instance gets its own\n * {@link AudioPlayer}, so unmounting cleanly stops playback. Useful for\n * notification chimes, UI feedback sounds, and per-component soundtracks.\n */\nexport function useAudio(): UseAudioResult {\n const playerRef = useRef<AudioPlayer | null>(null);\n const [unlocked, setUnlocked] = useState<boolean>(false);\n\n if (!playerRef.current) {\n playerRef.current = createAudioPlayer();\n }\n\n useEffect(() => {\n return () => {\n playerRef.current?.stop();\n };\n }, []);\n\n const play = useCallback(async (src: string, options?: PlayAudioOptions): Promise<void> => {\n const result = await playerRef.current!.play(src, options);\n if (result) setUnlocked(true);\n }, []);\n\n const stop = useCallback((): void => {\n playerRef.current?.stop();\n }, []);\n\n return { play, stop, unlocked };\n}\n"],"mappings":"6DAoBA,SAAgB,GAA2B,CACvC,IAAM,GAAA,EAAA,EAAA,OAAA,CAAuC,IAAI,EAC3C,CAAC,EAAU,IAAA,EAAA,EAAA,SAAA,CAAiC,EAAK,EAqBvD,MAnBA,CACI,EAAU,UAAU,EAAA,kBAAkB,GAG1C,EAAA,EAAA,UAAA,SACiB,CACT,EAAU,SAAS,KAAK,CAC5B,EACD,CAAC,CAAC,EAWE,CAAE,MAAA,EAAA,EAAA,YAAA,CATgB,MAAO,EAAa,IAA8C,CAEnF,MADiB,EAAU,QAAS,KAAK,EAAK,CAAO,GAC7C,EAAY,EAAI,CAChC,EAAG,CAAC,CAMK,EAAM,MAAA,EAAA,EAAA,YAAA,KAJsB,CACjC,EAAU,SAAS,KAAK,CAC5B,EAAG,CAAC,CAEW,EAAM,UAAS,CAClC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createAudioPlayer as e } from "./audio-player.js";
|
|
2
|
+
import { useCallback as t, useEffect as n, useRef as r, useState as i } from "react";
|
|
3
|
+
//#region src/audio/use-audio.ts
|
|
4
|
+
function a() {
|
|
5
|
+
let a = r(null), [o, s] = i(!1);
|
|
6
|
+
return a.current ||= e(), n(() => () => {
|
|
7
|
+
a.current?.stop();
|
|
8
|
+
}, []), {
|
|
9
|
+
play: t(async (e, t) => {
|
|
10
|
+
await a.current.play(e, t) && s(!0);
|
|
11
|
+
}, []),
|
|
12
|
+
stop: t(() => {
|
|
13
|
+
a.current?.stop();
|
|
14
|
+
}, []),
|
|
15
|
+
unlocked: o
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { a as useAudio };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=use-audio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-audio.js","names":[],"sources":["../../src/audio/use-audio.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from \"react\";\nimport { createAudioPlayer, type AudioPlayer, type PlayAudioOptions } from \"./audio-player\";\n\nexport interface UseAudioResult {\n /** Play `src` on the hook's private player. */\n play: (src: string, options?: PlayAudioOptions) => Promise<void>;\n /** Stop the current clip. */\n stop: () => void;\n /**\n * Whether the browser's autoplay policy has been satisfied. Becomes\n * `true` after the first successful `play()`.\n */\n unlocked: boolean;\n}\n\n/**\n * Hook-managed audio player. Each component instance gets its own\n * {@link AudioPlayer}, so unmounting cleanly stops playback. Useful for\n * notification chimes, UI feedback sounds, and per-component soundtracks.\n */\nexport function useAudio(): UseAudioResult {\n const playerRef = useRef<AudioPlayer | null>(null);\n const [unlocked, setUnlocked] = useState<boolean>(false);\n\n if (!playerRef.current) {\n playerRef.current = createAudioPlayer();\n }\n\n useEffect(() => {\n return () => {\n playerRef.current?.stop();\n };\n }, []);\n\n const play = useCallback(async (src: string, options?: PlayAudioOptions): Promise<void> => {\n const result = await playerRef.current!.play(src, options);\n if (result) setUnlocked(true);\n }, []);\n\n const stop = useCallback((): void => {\n playerRef.current?.stop();\n }, []);\n\n return { play, stop, unlocked };\n}\n"],"mappings":";;;AAoBA,SAAgB,IAA2B;CACvC,IAAM,IAAY,EAA2B,IAAI,GAC3C,CAAC,GAAU,KAAe,EAAkB,EAAK;CAqBvD,OAnBA,AACI,EAAU,YAAU,EAAkB,GAG1C,cACiB;EACT,EAAU,SAAS,KAAK;CAC5B,GACD,CAAC,CAAC,GAWE;EAAE,MATI,EAAY,OAAO,GAAa,MAA8C;GAEvF,AAAI,MADiB,EAAU,QAAS,KAAK,GAAK,CAAO,KAC7C,EAAY,EAAI;EAChC,GAAG,CAAC,CAMK;EAAM,MAJF,QAAwB;GACjC,EAAU,SAAS,KAAK;EAC5B,GAAG,CAAC,CAEW;EAAM;CAAS;AAClC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuthGuard.cjs","names":[],"sources":["../../src/auth/AuthGuard.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\n\nexport interface AuthGuardProps {\n /** Whether the current user is authenticated. */\n isAuthenticated: boolean;\n /** Element to render when authenticated. */\n children: ReactNode;\n /** Element to render when not authenticated. Use this to redirect (e.g. `<Navigate to=\"/login\" />`). */\n fallback: ReactNode;\n}\n\n/**\n * Router-agnostic auth gate. The caller decides what to render in either\n * branch — typically `<Outlet />` for protected layouts and `<Navigate />` for\n * the redirect. Pair with {@link createAuthStore} or any custom auth source.\n *\n * @example\n * <AuthGuard\n * isAuthenticated={useAuthStore((s) => s.isAuthenticated)}\n * fallback={<Navigate to=\"/login\" replace />}\n * >\n * <Outlet />\n * </AuthGuard>\n */\nexport function AuthGuard({ isAuthenticated, children, fallback }: AuthGuardProps) {\n return <>{isAuthenticated ? children : fallback}</>;\n}\n"],"mappings":"mCAwBA,SAAgB,EAAU,CAAE,kBAAiB,WAAU,YAA4B,CAC/E,OAAO,EAAA,EAAA,IAAA,CAAA,EAAA,SAAA,CAAA,SAAG,EAAkB,EAAW,CAAW,CAAA,CACtD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Fragment as e, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
//#region src/auth/AuthGuard.tsx
|
|
3
|
+
function n({ isAuthenticated: n, children: r, fallback: i }) {
|
|
4
|
+
return /* @__PURE__ */ t(e, { children: n ? r : i });
|
|
5
|
+
}
|
|
6
|
+
//#endregion
|
|
7
|
+
export { n as AuthGuard };
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=AuthGuard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuthGuard.js","names":[],"sources":["../../src/auth/AuthGuard.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\n\nexport interface AuthGuardProps {\n /** Whether the current user is authenticated. */\n isAuthenticated: boolean;\n /** Element to render when authenticated. */\n children: ReactNode;\n /** Element to render when not authenticated. Use this to redirect (e.g. `<Navigate to=\"/login\" />`). */\n fallback: ReactNode;\n}\n\n/**\n * Router-agnostic auth gate. The caller decides what to render in either\n * branch — typically `<Outlet />` for protected layouts and `<Navigate />` for\n * the redirect. Pair with {@link createAuthStore} or any custom auth source.\n *\n * @example\n * <AuthGuard\n * isAuthenticated={useAuthStore((s) => s.isAuthenticated)}\n * fallback={<Navigate to=\"/login\" replace />}\n * >\n * <Outlet />\n * </AuthGuard>\n */\nexport function AuthGuard({ isAuthenticated, children, fallback }: AuthGuardProps) {\n return <>{isAuthenticated ? children : fallback}</>;\n}\n"],"mappings":";;AAwBA,SAAgB,EAAU,EAAE,oBAAiB,aAAU,eAA4B;CAC/E,OAAO,kBAAA,GAAA,EAAA,UAAG,IAAkB,IAAW,EAAW,CAAA;AACtD"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
let e=require("zustand"),t=require("zustand/middleware");function n(n={}){let r=n.name??`tempest-auth`,i=n.storage===`session`?()=>sessionStorage:()=>localStorage;return(0,e.create)()((0,t.persist)(e=>({user:n.initialUser??null,token:n.initialToken??null,isAuthenticated:!!n.initialToken,setSession:({user:t,token:n})=>e({user:t,token:n,isAuthenticated:!0}),setUser:t=>e({user:t}),setToken:t=>e({token:t,isAuthenticated:!!t}),logout:()=>e({user:null,token:null,isAuthenticated:!1})}),{name:r,storage:(0,t.createJSONStorage)(i),partialize:e=>({user:e.user,token:e.token}),onRehydrateStorage:()=>e=>{e&&(e.isAuthenticated=!!e.token)}}))}exports.createAuthStore=n;
|
|
2
|
+
//# sourceMappingURL=create-auth-store.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-auth-store.cjs","names":[],"sources":["../../src/auth/create-auth-store.ts"],"sourcesContent":["import { create } from \"zustand\";\nimport { persist, createJSONStorage } from \"zustand/middleware\";\n\nexport interface AuthState<TUser> {\n user: TUser | null;\n token: string | null;\n isAuthenticated: boolean;\n setSession: (session: { user: TUser; token: string }) => void;\n setUser: (user: TUser | null) => void;\n setToken: (token: string | null) => void;\n logout: () => void;\n}\n\nexport interface CreateAuthStoreOptions<TUser> {\n /** Persist key used in storage (default: \"tempest-auth\"). */\n name?: string;\n /** Which storage to persist into (default: localStorage). */\n storage?: \"local\" | \"session\";\n /** Initial user (useful for SSR hydration). */\n initialUser?: TUser | null;\n /** Initial token. */\n initialToken?: string | null;\n}\n\n/**\n * Build a typed Zustand auth store with `persist` middleware. Each app passes\n * its own `TUser` shape so the SDK does not own the user model.\n *\n * @example\n * const useAuthStore = createAuthStore<UserResponse>();\n * const { user, token, logout } = useAuthStore();\n */\nexport function createAuthStore<TUser>(options: CreateAuthStoreOptions<TUser> = {}) {\n const name = options.name ?? \"tempest-auth\";\n const storageImpl = options.storage === \"session\" ? () => sessionStorage : () => localStorage;\n\n return create<AuthState<TUser>>()(\n persist(\n (set) => ({\n user: options.initialUser ?? null,\n token: options.initialToken ?? null,\n isAuthenticated: !!options.initialToken,\n setSession: ({ user, token }) => set({ user, token, isAuthenticated: true }),\n setUser: (user) => set({ user }),\n setToken: (token) => set({ token, isAuthenticated: !!token }),\n logout: () => set({ user: null, token: null, isAuthenticated: false }),\n }),\n {\n name,\n storage: createJSONStorage(storageImpl),\n partialize: (state) => ({ user: state.user, token: state.token }),\n onRehydrateStorage: () => (state) => {\n if (state) state.isAuthenticated = !!state.token;\n },\n },\n ),\n );\n}\n"],"mappings":"yDAgCA,SAAgB,EAAuB,EAAyC,CAAC,EAAG,CAChF,IAAM,EAAO,EAAQ,MAAQ,eACvB,EAAc,EAAQ,UAAY,cAAkB,mBAAuB,aAEjF,OAAA,EAAA,EAAA,OAAA,CAAgC,CAAC,EAAA,EAAA,EAAA,QAAA,CAExB,IAAS,CACN,KAAM,EAAQ,aAAe,KAC7B,MAAO,EAAQ,cAAgB,KAC/B,gBAAiB,CAAC,CAAC,EAAQ,aAC3B,YAAa,CAAE,OAAM,WAAY,EAAI,CAAE,OAAM,QAAO,gBAAiB,EAAK,CAAC,EAC3E,QAAU,GAAS,EAAI,CAAE,MAAK,CAAC,EAC/B,SAAW,GAAU,EAAI,CAAE,QAAO,gBAAiB,CAAC,CAAC,CAAM,CAAC,EAC5D,WAAc,EAAI,CAAE,KAAM,KAAM,MAAO,KAAM,gBAAiB,EAAM,CAAC,CACzE,GACA,CACI,OACA,SAAA,EAAA,EAAA,kBAAA,CAA2B,CAAW,EACtC,WAAa,IAAW,CAAE,KAAM,EAAM,KAAM,MAAO,EAAM,KAAM,GAC/D,uBAA2B,GAAU,CAC7B,IAAO,EAAM,gBAAkB,CAAC,CAAC,EAAM,MAC/C,CACJ,CACJ,CACJ,CACJ"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { create as e } from "zustand";
|
|
2
|
+
import { createJSONStorage as t, persist as n } from "zustand/middleware";
|
|
3
|
+
//#region src/auth/create-auth-store.ts
|
|
4
|
+
function r(r = {}) {
|
|
5
|
+
let i = r.name ?? "tempest-auth", a = r.storage === "session" ? () => sessionStorage : () => localStorage;
|
|
6
|
+
return e()(n((e) => ({
|
|
7
|
+
user: r.initialUser ?? null,
|
|
8
|
+
token: r.initialToken ?? null,
|
|
9
|
+
isAuthenticated: !!r.initialToken,
|
|
10
|
+
setSession: ({ user: t, token: n }) => e({
|
|
11
|
+
user: t,
|
|
12
|
+
token: n,
|
|
13
|
+
isAuthenticated: !0
|
|
14
|
+
}),
|
|
15
|
+
setUser: (t) => e({ user: t }),
|
|
16
|
+
setToken: (t) => e({
|
|
17
|
+
token: t,
|
|
18
|
+
isAuthenticated: !!t
|
|
19
|
+
}),
|
|
20
|
+
logout: () => e({
|
|
21
|
+
user: null,
|
|
22
|
+
token: null,
|
|
23
|
+
isAuthenticated: !1
|
|
24
|
+
})
|
|
25
|
+
}), {
|
|
26
|
+
name: i,
|
|
27
|
+
storage: t(a),
|
|
28
|
+
partialize: (e) => ({
|
|
29
|
+
user: e.user,
|
|
30
|
+
token: e.token
|
|
31
|
+
}),
|
|
32
|
+
onRehydrateStorage: () => (e) => {
|
|
33
|
+
e && (e.isAuthenticated = !!e.token);
|
|
34
|
+
}
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
//#endregion
|
|
38
|
+
export { r as createAuthStore };
|
|
39
|
+
|
|
40
|
+
//# sourceMappingURL=create-auth-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-auth-store.js","names":[],"sources":["../../src/auth/create-auth-store.ts"],"sourcesContent":["import { create } from \"zustand\";\nimport { persist, createJSONStorage } from \"zustand/middleware\";\n\nexport interface AuthState<TUser> {\n user: TUser | null;\n token: string | null;\n isAuthenticated: boolean;\n setSession: (session: { user: TUser; token: string }) => void;\n setUser: (user: TUser | null) => void;\n setToken: (token: string | null) => void;\n logout: () => void;\n}\n\nexport interface CreateAuthStoreOptions<TUser> {\n /** Persist key used in storage (default: \"tempest-auth\"). */\n name?: string;\n /** Which storage to persist into (default: localStorage). */\n storage?: \"local\" | \"session\";\n /** Initial user (useful for SSR hydration). */\n initialUser?: TUser | null;\n /** Initial token. */\n initialToken?: string | null;\n}\n\n/**\n * Build a typed Zustand auth store with `persist` middleware. Each app passes\n * its own `TUser` shape so the SDK does not own the user model.\n *\n * @example\n * const useAuthStore = createAuthStore<UserResponse>();\n * const { user, token, logout } = useAuthStore();\n */\nexport function createAuthStore<TUser>(options: CreateAuthStoreOptions<TUser> = {}) {\n const name = options.name ?? \"tempest-auth\";\n const storageImpl = options.storage === \"session\" ? () => sessionStorage : () => localStorage;\n\n return create<AuthState<TUser>>()(\n persist(\n (set) => ({\n user: options.initialUser ?? null,\n token: options.initialToken ?? null,\n isAuthenticated: !!options.initialToken,\n setSession: ({ user, token }) => set({ user, token, isAuthenticated: true }),\n setUser: (user) => set({ user }),\n setToken: (token) => set({ token, isAuthenticated: !!token }),\n logout: () => set({ user: null, token: null, isAuthenticated: false }),\n }),\n {\n name,\n storage: createJSONStorage(storageImpl),\n partialize: (state) => ({ user: state.user, token: state.token }),\n onRehydrateStorage: () => (state) => {\n if (state) state.isAuthenticated = !!state.token;\n },\n },\n ),\n );\n}\n"],"mappings":";;;AAgCA,SAAgB,EAAuB,IAAyC,CAAC,GAAG;CAChF,IAAM,IAAO,EAAQ,QAAQ,gBACvB,IAAc,EAAQ,YAAY,kBAAkB,uBAAuB;CAEjF,OAAO,EAAyB,CAAC,CAC7B,GACK,OAAS;EACN,MAAM,EAAQ,eAAe;EAC7B,OAAO,EAAQ,gBAAgB;EAC/B,iBAAiB,CAAC,CAAC,EAAQ;EAC3B,aAAa,EAAE,SAAM,eAAY,EAAI;GAAE;GAAM;GAAO,iBAAiB;EAAK,CAAC;EAC3E,UAAU,MAAS,EAAI,EAAE,QAAK,CAAC;EAC/B,WAAW,MAAU,EAAI;GAAE;GAAO,iBAAiB,CAAC,CAAC;EAAM,CAAC;EAC5D,cAAc,EAAI;GAAE,MAAM;GAAM,OAAO;GAAM,iBAAiB;EAAM,CAAC;CACzE,IACA;EACI;EACA,SAAS,EAAkB,CAAW;EACtC,aAAa,OAAW;GAAE,MAAM,EAAM;GAAM,OAAO,EAAM;EAAM;EAC/D,2BAA2B,MAAU;GACjC,AAAI,MAAO,EAAM,kBAAkB,CAAC,CAAC,EAAM;EAC/C;CACJ,CACJ,CACJ;AACJ"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("../http/api-client.cjs"),t=require("./create-auth-store.cjs"),n=require("./refresh-queue.cjs");function r(e){let t=e??{};return{token:t.access_token,refreshToken:t.refresh_token}}function i(i){let{baseURL:a,loginPath:o=`/api/auth/login`,refreshPath:s=`/api/auth/refresh`,mePath:c,storeName:l=`tempest-auth`,storage:u=`local`,withCredentials:d=!1,fetcher:f,parseTokens:p=r,parseUser:m,refreshBody:h=e=>e?{refresh_token:e}:void 0}=i,g=t.createAuthStore({name:l,storage:u}),_=`${l}-refresh`;function v(){return typeof window>`u`?null:u===`session`?window.sessionStorage:window.localStorage}function y(){return v()?.getItem(_)??null}function b(e){let t=v();t&&(e?t.setItem(_,e):t.removeItem(_))}let x=()=>g.getState(),S=()=>x().token,C=e.createApiClient({baseURL:a,withCredentials:d,fetcher:f});async function w(){if(!c)return x().user;let t=S(),n=await e.createApiClient({baseURL:a,withCredentials:d,fetcher:f,getToken:()=>t}).get(c);return x().setUser(n),n}async function T(e){let t=await C.post(o,{body:e}),{token:n,refreshToken:r}=p(t);x().setToken(n),b(r??null);let i=m?.(t);return i==null?w():(x().setUser(i),i)}function E(){x().logout(),b(null)}let D=n.createRefreshQueue(async()=>{let e=await C.post(s,{body:h(y())}),{token:t,refreshToken:n}=p(e);x().setToken(t),n&&b(n)});return{useAuthStore:g,api:e.createApiClient({baseURL:a,withCredentials:d,fetcher:f,getToken:S,refresh:D,onUnauthorized:()=>E()}),login:T,logout:E,refresh:D,getToken:S}}exports.createTempestAuth=i;
|
|
2
|
+
//# sourceMappingURL=create-tempest-auth.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-tempest-auth.cjs","names":[],"sources":["../../src/auth/create-tempest-auth.ts"],"sourcesContent":["import { createApiClient } from \"../http\";\nimport type { ApiClient } from \"../http\";\nimport { createAuthStore } from \"./create-auth-store\";\nimport type { AuthState } from \"./create-auth-store\";\nimport { createRefreshQueue } from \"./refresh-queue\";\n\n/** The token envelope returned by a Tempest FastAPI SDK login/refresh route. */\nexport interface TempestTokenResponse {\n /** The bearer access token. */\n access_token: string;\n /** Token type — always `\"bearer\"` for the SDK. */\n token_type?: string;\n /** Optional refresh token (when the API returns it in the body, not a cookie). */\n refresh_token?: string;\n}\n\nexport interface CreateTempestAuthOptions<TUser> {\n /** Base URL of the API. Required. */\n baseURL: string;\n /** Login route (`POST`). Default: `\"/api/auth/login\"`. */\n loginPath?: string;\n /** Refresh route (`POST`). Default: `\"/api/auth/refresh\"`. */\n refreshPath?: string;\n /** Optional current-user route (`GET`) called after login/refresh. */\n mePath?: string;\n /** Persist key for the store. Default: `\"tempest-auth\"`. */\n storeName?: string;\n /** Storage backend. Default: `\"local\"`. */\n storage?: \"local\" | \"session\";\n /** Send cookies (needed when the refresh token lives in an httpOnly cookie). */\n withCredentials?: boolean;\n /** Custom fetch implementation (testing / SSR). Defaults to `globalThis.fetch`. */\n fetcher?: typeof fetch;\n /**\n * Extract tokens from a login/refresh response. Default reads\n * `access_token` + `refresh_token`.\n */\n parseTokens?: (data: unknown) => { token: string; refreshToken?: string };\n /** Pull the user out of the login response, when the API embeds it. */\n parseUser?: (data: unknown) => TUser | null;\n /**\n * Build the refresh request body. Default sends `{ refresh_token }` when a\n * refresh token is stored, else `undefined` (cookie-based refresh).\n */\n refreshBody?: (refreshToken: string | null) => unknown;\n}\n\nexport interface TempestAuth<TUser, TCredentials> {\n /** The persisted Zustand auth store hook (compatible with `<AuthGuard>`). */\n useAuthStore: ReturnType<typeof createAuthStore<TUser>>;\n /** A `createApiClient` wired with bearer auth + 401 → refresh → retry. */\n api: ApiClient;\n /** Authenticate, store the session, and resolve the user (or null). */\n login: (credentials: TCredentials) => Promise<TUser | null>;\n /** Clear the session (and the stored refresh token). */\n logout: () => void;\n /** Refresh the access token (deduplicated across concurrent callers). */\n refresh: () => Promise<void>;\n /** The current access token, or null. */\n getToken: () => string | null;\n}\n\nfunction defaultParseTokens(data: unknown): { token: string; refreshToken?: string } {\n const d = (data ?? {}) as TempestTokenResponse;\n return { token: d.access_token, refreshToken: d.refresh_token };\n}\n\n/**\n * Turn-key auth preset wiring `createAuthStore` + `createRefreshQueue` +\n * `createApiClient` to the Tempest FastAPI SDK auth contract: login returns\n * `{ access_token, token_type }`, requests carry `Authorization: Bearer`, and a\n * `401` triggers a single deduplicated refresh + retry. Logout (or a failed\n * refresh) clears the session.\n *\n * @example\n * const auth = createTempestAuth<User, { email: string; password: string }>({\n * baseURL: import.meta.env.VITE_API_URL,\n * mePath: \"/api/auth/me\",\n * });\n *\n * await auth.login({ email, password }); // stores session, returns the user\n * const orders = await auth.api.get(\"/api/orders\"); // sends the bearer token\n * auth.logout();\n *\n * @param options - The auth configuration.\n * @returns The store hook, a wired API client, and login/logout/refresh helpers.\n */\nexport function createTempestAuth<TUser, TCredentials = { email: string; password: string }>(\n options: CreateTempestAuthOptions<TUser>,\n): TempestAuth<TUser, TCredentials> {\n const {\n baseURL,\n loginPath = \"/api/auth/login\",\n refreshPath = \"/api/auth/refresh\",\n mePath,\n storeName = \"tempest-auth\",\n storage = \"local\",\n withCredentials = false,\n fetcher,\n parseTokens = defaultParseTokens,\n parseUser,\n refreshBody = (rt) => (rt ? { refresh_token: rt } : undefined),\n } = options;\n\n const useAuthStore = createAuthStore<TUser>({ name: storeName, storage });\n const refreshKey = `${storeName}-refresh`;\n\n function storageImpl(): Storage | null {\n if (typeof window === \"undefined\") return null;\n return storage === \"session\" ? window.sessionStorage : window.localStorage;\n }\n function readRefreshToken(): string | null {\n return storageImpl()?.getItem(refreshKey) ?? null;\n }\n function writeRefreshToken(token: string | null): void {\n const s = storageImpl();\n if (!s) return;\n if (token) s.setItem(refreshKey, token);\n else s.removeItem(refreshKey);\n }\n\n const state = (): AuthState<TUser> => useAuthStore.getState();\n const getToken = (): string | null => state().token;\n\n // Bare client (no auth/refresh) used for the login + refresh calls themselves.\n const bareApi = createApiClient({ baseURL, withCredentials, fetcher });\n\n async function fetchUser(): Promise<TUser | null> {\n if (!mePath) return state().user;\n const token = getToken();\n const user = await createApiClient({\n baseURL,\n withCredentials,\n fetcher,\n getToken: () => token,\n }).get<TUser>(mePath);\n state().setUser(user);\n return user;\n }\n\n async function login(credentials: TCredentials): Promise<TUser | null> {\n const data = await bareApi.post<unknown>(loginPath, { body: credentials });\n const { token, refreshToken } = parseTokens(data);\n state().setToken(token);\n writeRefreshToken(refreshToken ?? null);\n const embedded = parseUser?.(data);\n if (embedded != null) {\n state().setUser(embedded);\n return embedded;\n }\n return fetchUser();\n }\n\n function logout(): void {\n state().logout();\n writeRefreshToken(null);\n }\n\n const refresh = createRefreshQueue(async () => {\n const data = await bareApi.post<unknown>(refreshPath, {\n body: refreshBody(readRefreshToken()),\n });\n const { token, refreshToken } = parseTokens(data);\n state().setToken(token);\n if (refreshToken) writeRefreshToken(refreshToken);\n });\n\n const api = createApiClient({\n baseURL,\n withCredentials,\n fetcher,\n getToken,\n refresh,\n onUnauthorized: () => logout(),\n });\n\n return { useAuthStore, api, login, logout, refresh, getToken };\n}\n"],"mappings":"gHA8DA,SAAS,EAAmB,EAAyD,CACjF,IAAM,EAAK,GAAQ,CAAC,EACpB,MAAO,CAAE,MAAO,EAAE,aAAc,aAAc,EAAE,aAAc,CAClE,CAsBA,SAAgB,EACZ,EACgC,CAChC,GAAM,CACF,UACA,YAAY,kBACZ,cAAc,oBACd,SACA,YAAY,eACZ,UAAU,QACV,kBAAkB,GAClB,UACA,cAAc,EACd,YACA,cAAe,GAAQ,EAAK,CAAE,cAAe,CAAG,EAAI,IAAA,IACpD,EAEE,EAAe,EAAA,gBAAuB,CAAE,KAAM,EAAW,SAAQ,CAAC,EAClE,EAAa,GAAG,EAAU,UAEhC,SAAS,GAA8B,CAEnC,OADI,OAAO,OAAW,IAAoB,KACnC,IAAY,UAAY,OAAO,eAAiB,OAAO,YAClE,CACA,SAAS,GAAkC,CACvC,OAAO,EAAY,CAAC,EAAE,QAAQ,CAAU,GAAK,IACjD,CACA,SAAS,EAAkB,EAA4B,CACnD,IAAM,EAAI,EAAY,EACjB,IACD,EAAO,EAAE,QAAQ,EAAY,CAAK,EACjC,EAAE,WAAW,CAAU,EAChC,CAEA,IAAM,MAAgC,EAAa,SAAS,EACtD,MAAgC,EAAM,CAAC,CAAC,MAGxC,EAAU,EAAA,gBAAgB,CAAE,UAAS,kBAAiB,SAAQ,CAAC,EAErE,eAAe,GAAmC,CAC9C,GAAI,CAAC,EAAQ,OAAO,EAAM,CAAC,CAAC,KAC5B,IAAM,EAAQ,EAAS,EACjB,EAAO,MAAM,EAAA,gBAAgB,CAC/B,UACA,kBACA,UACA,aAAgB,CACpB,CAAC,CAAC,CAAC,IAAW,CAAM,EAEpB,OADA,EAAM,CAAC,CAAC,QAAQ,CAAI,EACb,CACX,CAEA,eAAe,EAAM,EAAkD,CACnE,IAAM,EAAO,MAAM,EAAQ,KAAc,EAAW,CAAE,KAAM,CAAY,CAAC,EACnE,CAAE,QAAO,gBAAiB,EAAY,CAAI,EAChD,EAAM,CAAC,CAAC,SAAS,CAAK,EACtB,EAAkB,GAAgB,IAAI,EACtC,IAAM,EAAW,IAAY,CAAI,EAKjC,OAJI,GAAY,KAIT,EAAU,GAHb,EAAM,CAAC,CAAC,QAAQ,CAAQ,EACjB,EAGf,CAEA,SAAS,GAAe,CACpB,EAAM,CAAC,CAAC,OAAO,EACf,EAAkB,IAAI,CAC1B,CAEA,IAAM,EAAU,EAAA,mBAAmB,SAAY,CAC3C,IAAM,EAAO,MAAM,EAAQ,KAAc,EAAa,CAClD,KAAM,EAAY,EAAiB,CAAC,CACxC,CAAC,EACK,CAAE,QAAO,gBAAiB,EAAY,CAAI,EAChD,EAAM,CAAC,CAAC,SAAS,CAAK,EAClB,GAAc,EAAkB,CAAY,CACpD,CAAC,EAWD,MAAO,CAAE,eAAc,IATX,EAAA,gBAAgB,CACxB,UACA,kBACA,UACA,WACA,UACA,mBAAsB,EAAO,CACjC,CAEuB,EAAK,QAAO,SAAQ,UAAS,UAAS,CACjE"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { createApiClient as e } from "../http/api-client.js";
|
|
2
|
+
import { createAuthStore as t } from "./create-auth-store.js";
|
|
3
|
+
import { createRefreshQueue as n } from "./refresh-queue.js";
|
|
4
|
+
//#region src/auth/create-tempest-auth.ts
|
|
5
|
+
function r(e) {
|
|
6
|
+
let t = e ?? {};
|
|
7
|
+
return {
|
|
8
|
+
token: t.access_token,
|
|
9
|
+
refreshToken: t.refresh_token
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
function i(i) {
|
|
13
|
+
let { baseURL: a, loginPath: o = "/api/auth/login", refreshPath: s = "/api/auth/refresh", mePath: c, storeName: l = "tempest-auth", storage: u = "local", withCredentials: d = !1, fetcher: f, parseTokens: p = r, parseUser: m, refreshBody: h = (e) => e ? { refresh_token: e } : void 0 } = i, g = t({
|
|
14
|
+
name: l,
|
|
15
|
+
storage: u
|
|
16
|
+
}), _ = `${l}-refresh`;
|
|
17
|
+
function v() {
|
|
18
|
+
return typeof window > "u" ? null : u === "session" ? window.sessionStorage : window.localStorage;
|
|
19
|
+
}
|
|
20
|
+
function y() {
|
|
21
|
+
return v()?.getItem(_) ?? null;
|
|
22
|
+
}
|
|
23
|
+
function b(e) {
|
|
24
|
+
let t = v();
|
|
25
|
+
t && (e ? t.setItem(_, e) : t.removeItem(_));
|
|
26
|
+
}
|
|
27
|
+
let x = () => g.getState(), S = () => x().token, C = e({
|
|
28
|
+
baseURL: a,
|
|
29
|
+
withCredentials: d,
|
|
30
|
+
fetcher: f
|
|
31
|
+
});
|
|
32
|
+
async function w() {
|
|
33
|
+
if (!c) return x().user;
|
|
34
|
+
let t = S(), n = await e({
|
|
35
|
+
baseURL: a,
|
|
36
|
+
withCredentials: d,
|
|
37
|
+
fetcher: f,
|
|
38
|
+
getToken: () => t
|
|
39
|
+
}).get(c);
|
|
40
|
+
return x().setUser(n), n;
|
|
41
|
+
}
|
|
42
|
+
async function T(e) {
|
|
43
|
+
let t = await C.post(o, { body: e }), { token: n, refreshToken: r } = p(t);
|
|
44
|
+
x().setToken(n), b(r ?? null);
|
|
45
|
+
let i = m?.(t);
|
|
46
|
+
return i == null ? w() : (x().setUser(i), i);
|
|
47
|
+
}
|
|
48
|
+
function E() {
|
|
49
|
+
x().logout(), b(null);
|
|
50
|
+
}
|
|
51
|
+
let D = n(async () => {
|
|
52
|
+
let e = await C.post(s, { body: h(y()) }), { token: t, refreshToken: n } = p(e);
|
|
53
|
+
x().setToken(t), n && b(n);
|
|
54
|
+
});
|
|
55
|
+
return {
|
|
56
|
+
useAuthStore: g,
|
|
57
|
+
api: e({
|
|
58
|
+
baseURL: a,
|
|
59
|
+
withCredentials: d,
|
|
60
|
+
fetcher: f,
|
|
61
|
+
getToken: S,
|
|
62
|
+
refresh: D,
|
|
63
|
+
onUnauthorized: () => E()
|
|
64
|
+
}),
|
|
65
|
+
login: T,
|
|
66
|
+
logout: E,
|
|
67
|
+
refresh: D,
|
|
68
|
+
getToken: S
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
//#endregion
|
|
72
|
+
export { i as createTempestAuth };
|
|
73
|
+
|
|
74
|
+
//# sourceMappingURL=create-tempest-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-tempest-auth.js","names":[],"sources":["../../src/auth/create-tempest-auth.ts"],"sourcesContent":["import { createApiClient } from \"../http\";\nimport type { ApiClient } from \"../http\";\nimport { createAuthStore } from \"./create-auth-store\";\nimport type { AuthState } from \"./create-auth-store\";\nimport { createRefreshQueue } from \"./refresh-queue\";\n\n/** The token envelope returned by a Tempest FastAPI SDK login/refresh route. */\nexport interface TempestTokenResponse {\n /** The bearer access token. */\n access_token: string;\n /** Token type — always `\"bearer\"` for the SDK. */\n token_type?: string;\n /** Optional refresh token (when the API returns it in the body, not a cookie). */\n refresh_token?: string;\n}\n\nexport interface CreateTempestAuthOptions<TUser> {\n /** Base URL of the API. Required. */\n baseURL: string;\n /** Login route (`POST`). Default: `\"/api/auth/login\"`. */\n loginPath?: string;\n /** Refresh route (`POST`). Default: `\"/api/auth/refresh\"`. */\n refreshPath?: string;\n /** Optional current-user route (`GET`) called after login/refresh. */\n mePath?: string;\n /** Persist key for the store. Default: `\"tempest-auth\"`. */\n storeName?: string;\n /** Storage backend. Default: `\"local\"`. */\n storage?: \"local\" | \"session\";\n /** Send cookies (needed when the refresh token lives in an httpOnly cookie). */\n withCredentials?: boolean;\n /** Custom fetch implementation (testing / SSR). Defaults to `globalThis.fetch`. */\n fetcher?: typeof fetch;\n /**\n * Extract tokens from a login/refresh response. Default reads\n * `access_token` + `refresh_token`.\n */\n parseTokens?: (data: unknown) => { token: string; refreshToken?: string };\n /** Pull the user out of the login response, when the API embeds it. */\n parseUser?: (data: unknown) => TUser | null;\n /**\n * Build the refresh request body. Default sends `{ refresh_token }` when a\n * refresh token is stored, else `undefined` (cookie-based refresh).\n */\n refreshBody?: (refreshToken: string | null) => unknown;\n}\n\nexport interface TempestAuth<TUser, TCredentials> {\n /** The persisted Zustand auth store hook (compatible with `<AuthGuard>`). */\n useAuthStore: ReturnType<typeof createAuthStore<TUser>>;\n /** A `createApiClient` wired with bearer auth + 401 → refresh → retry. */\n api: ApiClient;\n /** Authenticate, store the session, and resolve the user (or null). */\n login: (credentials: TCredentials) => Promise<TUser | null>;\n /** Clear the session (and the stored refresh token). */\n logout: () => void;\n /** Refresh the access token (deduplicated across concurrent callers). */\n refresh: () => Promise<void>;\n /** The current access token, or null. */\n getToken: () => string | null;\n}\n\nfunction defaultParseTokens(data: unknown): { token: string; refreshToken?: string } {\n const d = (data ?? {}) as TempestTokenResponse;\n return { token: d.access_token, refreshToken: d.refresh_token };\n}\n\n/**\n * Turn-key auth preset wiring `createAuthStore` + `createRefreshQueue` +\n * `createApiClient` to the Tempest FastAPI SDK auth contract: login returns\n * `{ access_token, token_type }`, requests carry `Authorization: Bearer`, and a\n * `401` triggers a single deduplicated refresh + retry. Logout (or a failed\n * refresh) clears the session.\n *\n * @example\n * const auth = createTempestAuth<User, { email: string; password: string }>({\n * baseURL: import.meta.env.VITE_API_URL,\n * mePath: \"/api/auth/me\",\n * });\n *\n * await auth.login({ email, password }); // stores session, returns the user\n * const orders = await auth.api.get(\"/api/orders\"); // sends the bearer token\n * auth.logout();\n *\n * @param options - The auth configuration.\n * @returns The store hook, a wired API client, and login/logout/refresh helpers.\n */\nexport function createTempestAuth<TUser, TCredentials = { email: string; password: string }>(\n options: CreateTempestAuthOptions<TUser>,\n): TempestAuth<TUser, TCredentials> {\n const {\n baseURL,\n loginPath = \"/api/auth/login\",\n refreshPath = \"/api/auth/refresh\",\n mePath,\n storeName = \"tempest-auth\",\n storage = \"local\",\n withCredentials = false,\n fetcher,\n parseTokens = defaultParseTokens,\n parseUser,\n refreshBody = (rt) => (rt ? { refresh_token: rt } : undefined),\n } = options;\n\n const useAuthStore = createAuthStore<TUser>({ name: storeName, storage });\n const refreshKey = `${storeName}-refresh`;\n\n function storageImpl(): Storage | null {\n if (typeof window === \"undefined\") return null;\n return storage === \"session\" ? window.sessionStorage : window.localStorage;\n }\n function readRefreshToken(): string | null {\n return storageImpl()?.getItem(refreshKey) ?? null;\n }\n function writeRefreshToken(token: string | null): void {\n const s = storageImpl();\n if (!s) return;\n if (token) s.setItem(refreshKey, token);\n else s.removeItem(refreshKey);\n }\n\n const state = (): AuthState<TUser> => useAuthStore.getState();\n const getToken = (): string | null => state().token;\n\n // Bare client (no auth/refresh) used for the login + refresh calls themselves.\n const bareApi = createApiClient({ baseURL, withCredentials, fetcher });\n\n async function fetchUser(): Promise<TUser | null> {\n if (!mePath) return state().user;\n const token = getToken();\n const user = await createApiClient({\n baseURL,\n withCredentials,\n fetcher,\n getToken: () => token,\n }).get<TUser>(mePath);\n state().setUser(user);\n return user;\n }\n\n async function login(credentials: TCredentials): Promise<TUser | null> {\n const data = await bareApi.post<unknown>(loginPath, { body: credentials });\n const { token, refreshToken } = parseTokens(data);\n state().setToken(token);\n writeRefreshToken(refreshToken ?? null);\n const embedded = parseUser?.(data);\n if (embedded != null) {\n state().setUser(embedded);\n return embedded;\n }\n return fetchUser();\n }\n\n function logout(): void {\n state().logout();\n writeRefreshToken(null);\n }\n\n const refresh = createRefreshQueue(async () => {\n const data = await bareApi.post<unknown>(refreshPath, {\n body: refreshBody(readRefreshToken()),\n });\n const { token, refreshToken } = parseTokens(data);\n state().setToken(token);\n if (refreshToken) writeRefreshToken(refreshToken);\n });\n\n const api = createApiClient({\n baseURL,\n withCredentials,\n fetcher,\n getToken,\n refresh,\n onUnauthorized: () => logout(),\n });\n\n return { useAuthStore, api, login, logout, refresh, getToken };\n}\n"],"mappings":";;;;AA8DA,SAAS,EAAmB,GAAyD;CACjF,IAAM,IAAK,KAAQ,CAAC;CACpB,OAAO;EAAE,OAAO,EAAE;EAAc,cAAc,EAAE;CAAc;AAClE;AAsBA,SAAgB,EACZ,GACgC;CAChC,IAAM,EACF,YACA,eAAY,mBACZ,iBAAc,qBACd,WACA,eAAY,gBACZ,aAAU,SACV,qBAAkB,IAClB,YACA,iBAAc,GACd,cACA,kBAAe,MAAQ,IAAK,EAAE,eAAe,EAAG,IAAI,KAAA,MACpD,GAEE,IAAe,EAAuB;EAAE,MAAM;EAAW;CAAQ,CAAC,GAClE,IAAa,GAAG,EAAU;CAEhC,SAAS,IAA8B;EAEnC,OADI,OAAO,SAAW,MAAoB,OACnC,MAAY,YAAY,OAAO,iBAAiB,OAAO;CAClE;CACA,SAAS,IAAkC;EACvC,OAAO,EAAY,CAAC,EAAE,QAAQ,CAAU,KAAK;CACjD;CACA,SAAS,EAAkB,GAA4B;EACnD,IAAM,IAAI,EAAY;EACjB,MACD,IAAO,EAAE,QAAQ,GAAY,CAAK,IACjC,EAAE,WAAW,CAAU;CAChC;CAEA,IAAM,UAAgC,EAAa,SAAS,GACtD,UAAgC,EAAM,CAAC,CAAC,OAGxC,IAAU,EAAgB;EAAE;EAAS;EAAiB;CAAQ,CAAC;CAErE,eAAe,IAAmC;EAC9C,IAAI,CAAC,GAAQ,OAAO,EAAM,CAAC,CAAC;EAC5B,IAAM,IAAQ,EAAS,GACjB,IAAO,MAAM,EAAgB;GAC/B;GACA;GACA;GACA,gBAAgB;EACpB,CAAC,CAAC,CAAC,IAAW,CAAM;EAEpB,OADA,EAAM,CAAC,CAAC,QAAQ,CAAI,GACb;CACX;CAEA,eAAe,EAAM,GAAkD;EACnE,IAAM,IAAO,MAAM,EAAQ,KAAc,GAAW,EAAE,MAAM,EAAY,CAAC,GACnE,EAAE,UAAO,oBAAiB,EAAY,CAAI;EAEhD,AADA,EAAM,CAAC,CAAC,SAAS,CAAK,GACtB,EAAkB,KAAgB,IAAI;EACtC,IAAM,IAAW,IAAY,CAAI;EAKjC,OAJI,KAAY,OAIT,EAAU,KAHb,EAAM,CAAC,CAAC,QAAQ,CAAQ,GACjB;CAGf;CAEA,SAAS,IAAe;EAEpB,AADA,EAAM,CAAC,CAAC,OAAO,GACf,EAAkB,IAAI;CAC1B;CAEA,IAAM,IAAU,EAAmB,YAAY;EAC3C,IAAM,IAAO,MAAM,EAAQ,KAAc,GAAa,EAClD,MAAM,EAAY,EAAiB,CAAC,EACxC,CAAC,GACK,EAAE,UAAO,oBAAiB,EAAY,CAAI;EAEhD,AADA,EAAM,CAAC,CAAC,SAAS,CAAK,GAClB,KAAc,EAAkB,CAAY;CACpD,CAAC;CAWD,OAAO;EAAE;EAAc,KATX,EAAgB;GACxB;GACA;GACA;GACA;GACA;GACA,sBAAsB,EAAO;EACjC,CAEuB;EAAK;EAAO;EAAQ;EAAS;CAAS;AACjE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function e(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=t.length%4==0?``:`=`.repeat(4-t.length%4);return typeof atob<`u`?atob(t+n):Buffer.from(t+n,`base64`).toString(`binary`)}function t(t){let n=t.split(`.`);if(n.length!==3)throw Error(`Invalid JWT: must contain three segments.`);let[r,i,a]=n;try{return{header:JSON.parse(e(r)),payload:JSON.parse(e(i)),signature:a}}catch{throw Error(`Invalid JWT: header or payload is not valid JSON.`)}}function n(e,n=0){try{let{payload:r}=t(e);if(typeof r.exp!=`number`)return!0;let i=Math.floor(Date.now()/1e3);return r.exp<=i+n}catch{return!0}}exports.decodeJWT=t,exports.isJWTExpired=n;
|
|
2
|
+
//# sourceMappingURL=jwt.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt.cjs","names":[],"sources":["../../src/auth/jwt.ts"],"sourcesContent":["export interface DecodedJWT {\n header: Record<string, unknown>;\n payload: Record<string, unknown> & { exp?: number; iat?: number; sub?: string };\n signature: string;\n}\n\nfunction base64UrlDecode(input: string): string {\n const padded = input.replace(/-/g, \"+\").replace(/_/g, \"/\");\n const padding = padded.length % 4 === 0 ? \"\" : \"=\".repeat(4 - (padded.length % 4));\n if (typeof atob !== \"undefined\") {\n return atob(padded + padding);\n }\n return Buffer.from(padded + padding, \"base64\").toString(\"binary\");\n}\n\n/**\n * Decode a JWT into header/payload/signature. Does **not** verify the\n * signature — for that, do it server-side or use a JOSE library on the\n * client.\n *\n * @throws If the token shape is invalid (missing parts, bad JSON).\n */\nexport function decodeJWT(token: string): DecodedJWT {\n const parts = token.split(\".\");\n if (parts.length !== 3) throw new Error(\"Invalid JWT: must contain three segments.\");\n const [headerSeg, payloadSeg, signature] = parts as [string, string, string];\n try {\n return {\n header: JSON.parse(base64UrlDecode(headerSeg)),\n payload: JSON.parse(base64UrlDecode(payloadSeg)),\n signature,\n };\n } catch {\n throw new Error(\"Invalid JWT: header or payload is not valid JSON.\");\n }\n}\n\n/**\n * Return true when the JWT's `exp` claim is in the past (or missing).\n *\n * @param token - JWT to inspect.\n * @param leewaySeconds - Treat tokens expiring within this window as expired.\n */\nexport function isJWTExpired(token: string, leewaySeconds = 0): boolean {\n try {\n const { payload } = decodeJWT(token);\n if (typeof payload.exp !== \"number\") return true;\n const nowSeconds = Math.floor(Date.now() / 1000);\n return payload.exp <= nowSeconds + leewaySeconds;\n } catch {\n return true;\n }\n}\n"],"mappings":"AAMA,SAAS,EAAgB,EAAuB,CAC5C,IAAM,EAAS,EAAM,QAAQ,KAAM,GAAG,CAAC,CAAC,QAAQ,KAAM,GAAG,EACnD,EAAU,EAAO,OAAS,GAAM,EAAI,GAAK,IAAI,OAAO,EAAK,EAAO,OAAS,CAAE,EAIjF,OAHI,OAAO,KAAS,IACT,KAAK,EAAS,CAAO,EAEzB,OAAO,KAAK,EAAS,EAAS,QAAQ,CAAC,CAAC,SAAS,QAAQ,CACpE,CASA,SAAgB,EAAU,EAA2B,CACjD,IAAM,EAAQ,EAAM,MAAM,GAAG,EAC7B,GAAI,EAAM,SAAW,EAAG,MAAU,MAAM,2CAA2C,EACnF,GAAM,CAAC,EAAW,EAAY,GAAa,EAC3C,GAAI,CACA,MAAO,CACH,OAAQ,KAAK,MAAM,EAAgB,CAAS,CAAC,EAC7C,QAAS,KAAK,MAAM,EAAgB,CAAU,CAAC,EAC/C,WACJ,CACJ,MAAQ,CACJ,MAAU,MAAM,mDAAmD,CACvE,CACJ,CAQA,SAAgB,EAAa,EAAe,EAAgB,EAAY,CACpE,GAAI,CACA,GAAM,CAAE,WAAY,EAAU,CAAK,EACnC,GAAI,OAAO,EAAQ,KAAQ,SAAU,MAAO,GAC5C,IAAM,EAAa,KAAK,MAAM,KAAK,IAAI,EAAI,GAAI,EAC/C,OAAO,EAAQ,KAAO,EAAa,CACvC,MAAQ,CACJ,MAAO,EACX,CACJ"}
|