tempest-react-sdk 0.21.0 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +67 -64
- package/dist/access/Can.cjs +2 -0
- package/dist/access/Can.cjs.map +1 -0
- package/dist/access/Can.js +10 -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 +14 -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 +21 -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 +34 -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 +13 -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 +39 -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 +18 -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 +8 -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 +30 -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 +70 -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 +14 -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 +195 -0
- package/dist/br/BrazilMap.js.map +1 -0
- package/dist/br/BrazilMap.module.css.cjs +2 -0
- package/dist/br/BrazilMap.module.css.cjs.map +1 -0
- package/dist/br/BrazilMap.module.css.js +28 -0
- package/dist/br/BrazilMap.module.css.js.map +1 -0
- package/dist/br/BrazilStateCitySelect.cjs +2 -0
- package/dist/br/BrazilStateCitySelect.cjs.map +1 -0
- package/dist/br/BrazilStateCitySelect.js +69 -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 +181 -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 +39 -0
- package/dist/br/MapLegend.js.map +1 -0
- package/dist/br/MapLegend.module.css.cjs +2 -0
- package/dist/br/MapLegend.module.css.cjs.map +1 -0
- package/dist/br/MapLegend.module.css.js +22 -0
- package/dist/br/MapLegend.module.css.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 +19 -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 +75 -0
- package/dist/br/MunicipalitySearch.js.map +1 -0
- package/dist/br/MunicipalitySearch.module.css.cjs +2 -0
- package/dist/br/MunicipalitySearch.module.css.cjs.map +1 -0
- package/dist/br/MunicipalitySearch.module.css.js +14 -0
- package/dist/br/MunicipalitySearch.module.css.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 +6 -0
- package/dist/br/br-geo.js.map +1 -0
- package/dist/br/data/br-centroids.json.cjs +2 -0
- package/dist/br/data/br-centroids.json.cjs.map +1 -0
- package/dist/br/data/br-centroids.json.js +10 -0
- package/dist/br/data/br-centroids.json.js.map +1 -0
- package/dist/br/data/br-locations.json.cjs +2 -0
- package/dist/br/data/br-locations.json.cjs.map +1 -0
- package/dist/br/data/br-locations.json.js +8 -0
- package/dist/br/data/br-locations.json.js.map +1 -0
- package/dist/br/data/br-uf-geo.json.cjs +2 -0
- package/dist/br/data/br-uf-geo.json.cjs.map +1 -0
- package/dist/br/data/br-uf-geo.json.js +10 -0
- package/dist/br/data/br-uf-geo.json.js.map +1 -0
- package/dist/br/data/mun/AC.json.cjs +2 -0
- package/dist/br/data/mun/AC.json.cjs.map +1 -0
- package/dist/br/data/mun/AC.json.js +12 -0
- package/dist/br/data/mun/AC.json.js.map +1 -0
- package/dist/br/data/mun/AL.json.cjs +2 -0
- package/dist/br/data/mun/AL.json.cjs.map +1 -0
- package/dist/br/data/mun/AL.json.js +12 -0
- package/dist/br/data/mun/AL.json.js.map +1 -0
- package/dist/br/data/mun/AM.json.cjs +2 -0
- package/dist/br/data/mun/AM.json.cjs.map +1 -0
- package/dist/br/data/mun/AM.json.js +12 -0
- package/dist/br/data/mun/AM.json.js.map +1 -0
- package/dist/br/data/mun/AP.json.cjs +2 -0
- package/dist/br/data/mun/AP.json.cjs.map +1 -0
- package/dist/br/data/mun/AP.json.js +12 -0
- package/dist/br/data/mun/AP.json.js.map +1 -0
- package/dist/br/data/mun/BA.json.cjs +2 -0
- package/dist/br/data/mun/BA.json.cjs.map +1 -0
- package/dist/br/data/mun/BA.json.js +12 -0
- package/dist/br/data/mun/BA.json.js.map +1 -0
- package/dist/br/data/mun/CE.json.cjs +2 -0
- package/dist/br/data/mun/CE.json.cjs.map +1 -0
- package/dist/br/data/mun/CE.json.js +12 -0
- package/dist/br/data/mun/CE.json.js.map +1 -0
- package/dist/br/data/mun/DF.json.cjs +2 -0
- package/dist/br/data/mun/DF.json.cjs.map +1 -0
- package/dist/br/data/mun/DF.json.js +12 -0
- package/dist/br/data/mun/DF.json.js.map +1 -0
- package/dist/br/data/mun/ES.json.cjs +2 -0
- package/dist/br/data/mun/ES.json.cjs.map +1 -0
- package/dist/br/data/mun/ES.json.js +12 -0
- package/dist/br/data/mun/ES.json.js.map +1 -0
- package/dist/br/data/mun/GO.json.cjs +2 -0
- package/dist/br/data/mun/GO.json.cjs.map +1 -0
- package/dist/br/data/mun/GO.json.js +12 -0
- package/dist/br/data/mun/GO.json.js.map +1 -0
- package/dist/br/data/mun/MA.json.cjs +2 -0
- package/dist/br/data/mun/MA.json.cjs.map +1 -0
- package/dist/br/data/mun/MA.json.js +12 -0
- package/dist/br/data/mun/MA.json.js.map +1 -0
- package/dist/br/data/mun/MG.json.cjs +2 -0
- package/dist/br/data/mun/MG.json.cjs.map +1 -0
- package/dist/br/data/mun/MG.json.js +12 -0
- package/dist/br/data/mun/MG.json.js.map +1 -0
- package/dist/br/data/mun/MS.json.cjs +2 -0
- package/dist/br/data/mun/MS.json.cjs.map +1 -0
- package/dist/br/data/mun/MS.json.js +12 -0
- package/dist/br/data/mun/MS.json.js.map +1 -0
- package/dist/br/data/mun/MT.json.cjs +2 -0
- package/dist/br/data/mun/MT.json.cjs.map +1 -0
- package/dist/br/data/mun/MT.json.js +12 -0
- package/dist/br/data/mun/MT.json.js.map +1 -0
- package/dist/br/data/mun/PA.json.cjs +2 -0
- package/dist/br/data/mun/PA.json.cjs.map +1 -0
- package/dist/br/data/mun/PA.json.js +12 -0
- package/dist/br/data/mun/PA.json.js.map +1 -0
- package/dist/br/data/mun/PB.json.cjs +2 -0
- package/dist/br/data/mun/PB.json.cjs.map +1 -0
- package/dist/br/data/mun/PB.json.js +12 -0
- package/dist/br/data/mun/PB.json.js.map +1 -0
- package/dist/br/data/mun/PE.json.cjs +2 -0
- package/dist/br/data/mun/PE.json.cjs.map +1 -0
- package/dist/br/data/mun/PE.json.js +12 -0
- package/dist/br/data/mun/PE.json.js.map +1 -0
- package/dist/br/data/mun/PI.json.cjs +2 -0
- package/dist/br/data/mun/PI.json.cjs.map +1 -0
- package/dist/br/data/mun/PI.json.js +12 -0
- package/dist/br/data/mun/PI.json.js.map +1 -0
- package/dist/br/data/mun/PR.json.cjs +2 -0
- package/dist/br/data/mun/PR.json.cjs.map +1 -0
- package/dist/br/data/mun/PR.json.js +12 -0
- package/dist/br/data/mun/PR.json.js.map +1 -0
- package/dist/br/data/mun/RJ.json.cjs +2 -0
- package/dist/br/data/mun/RJ.json.cjs.map +1 -0
- package/dist/br/data/mun/RJ.json.js +12 -0
- package/dist/br/data/mun/RJ.json.js.map +1 -0
- package/dist/br/data/mun/RN.json.cjs +2 -0
- package/dist/br/data/mun/RN.json.cjs.map +1 -0
- package/dist/br/data/mun/RN.json.js +12 -0
- package/dist/br/data/mun/RN.json.js.map +1 -0
- package/dist/br/data/mun/RO.json.cjs +2 -0
- package/dist/br/data/mun/RO.json.cjs.map +1 -0
- package/dist/br/data/mun/RO.json.js +12 -0
- package/dist/br/data/mun/RO.json.js.map +1 -0
- package/dist/br/data/mun/RR.json.cjs +2 -0
- package/dist/br/data/mun/RR.json.cjs.map +1 -0
- package/dist/br/data/mun/RR.json.js +12 -0
- package/dist/br/data/mun/RR.json.js.map +1 -0
- package/dist/br/data/mun/RS.json.cjs +2 -0
- package/dist/br/data/mun/RS.json.cjs.map +1 -0
- package/dist/br/data/mun/RS.json.js +12 -0
- package/dist/br/data/mun/RS.json.js.map +1 -0
- package/dist/br/data/mun/SC.json.cjs +2 -0
- package/dist/br/data/mun/SC.json.cjs.map +1 -0
- package/dist/br/data/mun/SC.json.js +12 -0
- package/dist/br/data/mun/SC.json.js.map +1 -0
- package/dist/br/data/mun/SE.json.cjs +2 -0
- package/dist/br/data/mun/SE.json.cjs.map +1 -0
- package/dist/br/data/mun/SE.json.js +12 -0
- package/dist/br/data/mun/SE.json.js.map +1 -0
- package/dist/br/data/mun/SP.json.cjs +2 -0
- package/dist/br/data/mun/SP.json.cjs.map +1 -0
- package/dist/br/data/mun/SP.json.js +12 -0
- package/dist/br/data/mun/SP.json.js.map +1 -0
- package/dist/br/data/mun/TO.json.cjs +2 -0
- package/dist/br/data/mun/TO.json.cjs.map +1 -0
- package/dist/br/data/mun/TO.json.js +12 -0
- package/dist/br/data/mun/TO.json.js.map +1 -0
- package/dist/br/geocode.cjs +2 -0
- package/dist/br/geocode.cjs.map +1 -0
- package/dist/br/geocode.js +89 -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 +80 -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 +65 -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 +39 -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 +46 -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 +15 -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 +48 -0
- package/dist/br/use-map-zoom.js.map +1 -0
- package/dist/br.cjs +1 -1
- package/dist/br.cjs.map +1 -1
- package/dist/br.js +46 -945
- 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 +47 -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 +41 -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 +41 -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 +39 -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 +43 -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 +18 -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 -1
- package/dist/charts.cjs.map +1 -1
- package/dist/charts.js +12 -193
- package/dist/charts.js.map +1 -1
- package/dist/components/Accordion/Accordion.cjs +2 -0
- package/dist/components/Accordion/Accordion.cjs.map +1 -0
- package/dist/components/Accordion/Accordion.js +78 -0
- package/dist/components/Accordion/Accordion.js.map +1 -0
- package/dist/components/Accordion/Accordion.module.css.cjs +2 -0
- package/dist/components/Accordion/Accordion.module.css.cjs.map +1 -0
- package/dist/components/Accordion/Accordion.module.css.js +20 -0
- package/dist/components/Accordion/Accordion.module.css.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 +63 -0
- package/dist/components/Alert/Alert.js.map +1 -0
- package/dist/components/Alert/Alert.module.css.cjs +2 -0
- package/dist/components/Alert/Alert.module.css.cjs.map +1 -0
- package/dist/components/Alert/Alert.module.css.js +32 -0
- package/dist/components/Alert/Alert.module.css.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 +59 -0
- package/dist/components/AppBar/AppBar.js.map +1 -0
- package/dist/components/AppBar/AppBar.module.css.cjs +2 -0
- package/dist/components/AppBar/AppBar.module.css.cjs.map +1 -0
- package/dist/components/AppBar/AppBar.module.css.js +32 -0
- package/dist/components/AppBar/AppBar.module.css.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 +29 -0
- package/dist/components/AppShell/AppShell.js.map +1 -0
- package/dist/components/AppShell/AppShell.module.css.cjs +2 -0
- package/dist/components/AppShell/AppShell.module.css.cjs.map +1 -0
- package/dist/components/AppShell/AppShell.module.css.js +20 -0
- package/dist/components/AppShell/AppShell.module.css.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 +17 -0
- package/dist/components/AspectRatio/AspectRatio.js.map +1 -0
- package/dist/components/AspectRatio/AspectRatio.module.css.cjs +2 -0
- package/dist/components/AspectRatio/AspectRatio.module.css.cjs.map +1 -0
- package/dist/components/AspectRatio/AspectRatio.module.css.js +8 -0
- package/dist/components/AspectRatio/AspectRatio.module.css.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 +47 -0
- package/dist/components/Avatar/Avatar.js.map +1 -0
- package/dist/components/Avatar/Avatar.module.css.cjs +2 -0
- package/dist/components/Avatar/Avatar.module.css.cjs.map +1 -0
- package/dist/components/Avatar/Avatar.module.css.js +30 -0
- package/dist/components/Avatar/Avatar.module.css.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 +37 -0
- package/dist/components/Badge/Badge.js.map +1 -0
- package/dist/components/Badge/Badge.module.css.cjs +2 -0
- package/dist/components/Badge/Badge.module.css.cjs.map +1 -0
- package/dist/components/Badge/Badge.module.css.js +34 -0
- package/dist/components/Badge/Badge.module.css.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 +41 -0
- package/dist/components/Banner/Banner.js.map +1 -0
- package/dist/components/Banner/Banner.module.css.cjs +2 -0
- package/dist/components/Banner/Banner.module.css.cjs.map +1 -0
- package/dist/components/Banner/Banner.module.css.js +28 -0
- package/dist/components/Banner/Banner.module.css.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 +37 -0
- package/dist/components/BottomNavigation/BottomNavigation.js.map +1 -0
- package/dist/components/BottomNavigation/BottomNavigation.module.css.cjs +2 -0
- package/dist/components/BottomNavigation/BottomNavigation.module.css.cjs.map +1 -0
- package/dist/components/BottomNavigation/BottomNavigation.module.css.js +20 -0
- package/dist/components/BottomNavigation/BottomNavigation.module.css.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 +60 -0
- package/dist/components/BottomSheet/BottomSheet.js.map +1 -0
- package/dist/components/BottomSheet/BottomSheet.module.css.cjs +2 -0
- package/dist/components/BottomSheet/BottomSheet.module.css.cjs.map +1 -0
- package/dist/components/BottomSheet/BottomSheet.module.css.js +20 -0
- package/dist/components/BottomSheet/BottomSheet.module.css.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 +34 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.js.map +1 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.module.css.cjs +2 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.module.css.cjs.map +1 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.module.css.js +16 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.module.css.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 +68 -0
- package/dist/components/Button/Button.js.map +1 -0
- package/dist/components/Button/Button.module.css.cjs +2 -0
- package/dist/components/Button/Button.module.css.cjs.map +1 -0
- package/dist/components/Button/Button.module.css.js +50 -0
- package/dist/components/Button/Button.module.css.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 +156 -0
- package/dist/components/Calendar/Calendar.js.map +1 -0
- package/dist/components/Calendar/Calendar.module.css.cjs +2 -0
- package/dist/components/Calendar/Calendar.module.css.cjs.map +1 -0
- package/dist/components/Calendar/Calendar.module.css.js +28 -0
- package/dist/components/Calendar/Calendar.module.css.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 +45 -0
- package/dist/components/Card/Card.js.map +1 -0
- package/dist/components/Card/Card.module.css.cjs +2 -0
- package/dist/components/Card/Card.module.css.cjs.map +1 -0
- package/dist/components/Card/Card.module.css.js +28 -0
- package/dist/components/Card/Card.module.css.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 +97 -0
- package/dist/components/Carousel/Carousel.js.map +1 -0
- package/dist/components/Carousel/Carousel.module.css.cjs +2 -0
- package/dist/components/Carousel/Carousel.module.css.cjs.map +1 -0
- package/dist/components/Carousel/Carousel.module.css.js +26 -0
- package/dist/components/Carousel/Carousel.module.css.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 +23 -0
- package/dist/components/Center/Center.js.map +1 -0
- package/dist/components/Center/Center.module.css.cjs +2 -0
- package/dist/components/Center/Center.module.css.cjs.map +1 -0
- package/dist/components/Center/Center.module.css.js +14 -0
- package/dist/components/Center/Center.module.css.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 +49 -0
- package/dist/components/Checkbox/Checkbox.js.map +1 -0
- package/dist/components/Checkbox/Checkbox.module.css.cjs +2 -0
- package/dist/components/Checkbox/Checkbox.module.css.cjs.map +1 -0
- package/dist/components/Checkbox/Checkbox.module.css.js +20 -0
- package/dist/components/Checkbox/Checkbox.module.css.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 +79 -0
- package/dist/components/ChipInput/ChipInput.js.map +1 -0
- package/dist/components/ChipInput/ChipInput.module.css.cjs +2 -0
- package/dist/components/ChipInput/ChipInput.module.css.cjs.map +1 -0
- package/dist/components/ChipInput/ChipInput.module.css.js +24 -0
- package/dist/components/ChipInput/ChipInput.module.css.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 +20 -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 +47 -0
- package/dist/components/Collapsible/Collapsible.js.map +1 -0
- package/dist/components/Collapsible/Collapsible.module.css.cjs +2 -0
- package/dist/components/Collapsible/Collapsible.module.css.cjs.map +1 -0
- package/dist/components/Collapsible/Collapsible.module.css.js +12 -0
- package/dist/components/Collapsible/Collapsible.module.css.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 +103 -0
- package/dist/components/Combobox/Combobox.js.map +1 -0
- package/dist/components/Combobox/Combobox.module.css.cjs +2 -0
- package/dist/components/Combobox/Combobox.module.css.cjs.map +1 -0
- package/dist/components/Combobox/Combobox.module.css.js +32 -0
- package/dist/components/Combobox/Combobox.module.css.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 +143 -0
- package/dist/components/Command/Command.js.map +1 -0
- package/dist/components/Command/Command.module.css.cjs +2 -0
- package/dist/components/Command/Command.module.css.cjs.map +1 -0
- package/dist/components/Command/Command.module.css.js +34 -0
- package/dist/components/Command/Command.module.css.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 +12 -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 +35 -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 +86 -0
- package/dist/components/ContextMenu/ContextMenu.js.map +1 -0
- package/dist/components/ContextMenu/ContextMenu.module.css.cjs +2 -0
- package/dist/components/ContextMenu/ContextMenu.module.css.cjs.map +1 -0
- package/dist/components/ContextMenu/ContextMenu.module.css.js +18 -0
- package/dist/components/ContextMenu/ContextMenu.module.css.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 +43 -0
- package/dist/components/CopyButton/CopyButton.js.map +1 -0
- package/dist/components/CopyButton/CopyButton.module.css.cjs +2 -0
- package/dist/components/CopyButton/CopyButton.module.css.cjs.map +1 -0
- package/dist/components/CopyButton/CopyButton.module.css.js +10 -0
- package/dist/components/CopyButton/CopyButton.module.css.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 +17 -0
- package/dist/components/DataList/DataList.js.map +1 -0
- package/dist/components/DataList/DataList.module.css.cjs +2 -0
- package/dist/components/DataList/DataList.module.css.cjs.map +1 -0
- package/dist/components/DataList/DataList.module.css.js +10 -0
- package/dist/components/DataList/DataList.module.css.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.css.cjs +2 -0
- package/dist/components/DataTable/DataTable.module.css.cjs.map +1 -0
- package/dist/components/DataTable/DataTable.module.css.js +14 -0
- package/dist/components/DataTable/DataTable.module.css.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 +19 -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 +152 -0
- package/dist/components/DateRangePicker/DateRangePicker.js.map +1 -0
- package/dist/components/DateRangePicker/DateRangePicker.module.css.cjs +2 -0
- package/dist/components/DateRangePicker/DateRangePicker.module.css.cjs.map +1 -0
- package/dist/components/DateRangePicker/DateRangePicker.module.css.js +40 -0
- package/dist/components/DateRangePicker/DateRangePicker.module.css.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 +14 -0
- package/dist/components/DescriptionList/DescriptionList.js.map +1 -0
- package/dist/components/DescriptionList/DescriptionList.module.css.cjs +2 -0
- package/dist/components/DescriptionList/DescriptionList.module.css.cjs.map +1 -0
- package/dist/components/DescriptionList/DescriptionList.module.css.js +12 -0
- package/dist/components/DescriptionList/DescriptionList.module.css.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 +57 -0
- package/dist/components/Divider/Divider.js.map +1 -0
- package/dist/components/Divider/Divider.module.css.cjs +2 -0
- package/dist/components/Divider/Divider.module.css.cjs.map +1 -0
- package/dist/components/Divider/Divider.module.css.js +20 -0
- package/dist/components/Divider/Divider.module.css.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 +96 -0
- package/dist/components/Drawer/Drawer.js.map +1 -0
- package/dist/components/Drawer/Drawer.module.css.cjs +2 -0
- package/dist/components/Drawer/Drawer.module.css.cjs.map +1 -0
- package/dist/components/Drawer/Drawer.module.css.js +42 -0
- package/dist/components/Drawer/Drawer.module.css.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 +109 -0
- package/dist/components/DropdownMenu/DropdownMenu.js.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenu.module.css.cjs +2 -0
- package/dist/components/DropdownMenu/DropdownMenu.module.css.cjs.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenu.module.css.js +28 -0
- package/dist/components/DropdownMenu/DropdownMenu.module.css.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 +80 -0
- package/dist/components/Dropzone/Dropzone.js.map +1 -0
- package/dist/components/Dropzone/Dropzone.module.css.cjs +2 -0
- package/dist/components/Dropzone/Dropzone.module.css.cjs.map +1 -0
- package/dist/components/Dropzone/Dropzone.module.css.js +16 -0
- package/dist/components/Dropzone/Dropzone.module.css.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 +15 -0
- package/dist/components/EmptyState/EmptyState.js.map +1 -0
- package/dist/components/EmptyState/EmptyState.module.css.cjs +2 -0
- package/dist/components/EmptyState/EmptyState.module.css.cjs.map +1 -0
- package/dist/components/EmptyState/EmptyState.module.css.js +16 -0
- package/dist/components/EmptyState/EmptyState.module.css.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 +35 -0
- package/dist/components/ErrorState/ErrorState.js.map +1 -0
- package/dist/components/ErrorState/ErrorState.module.css.cjs +2 -0
- package/dist/components/ErrorState/ErrorState.module.css.cjs.map +1 -0
- package/dist/components/ErrorState/ErrorState.module.css.js +16 -0
- package/dist/components/ErrorState/ErrorState.module.css.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 +10 -0
- package/dist/components/ErrorText/ErrorText.js.map +1 -0
- package/dist/components/ErrorText/ErrorText.module.css.cjs +2 -0
- package/dist/components/ErrorText/ErrorText.module.css.cjs.map +1 -0
- package/dist/components/ErrorText/ErrorText.module.css.js +8 -0
- package/dist/components/ErrorText/ErrorText.module.css.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 +127 -0
- package/dist/components/FileUpload/FileUpload.js.map +1 -0
- package/dist/components/FileUpload/FileUpload.module.css.cjs +2 -0
- package/dist/components/FileUpload/FileUpload.module.css.cjs.map +1 -0
- package/dist/components/FileUpload/FileUpload.module.css.js +32 -0
- package/dist/components/FileUpload/FileUpload.module.css.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 +39 -0
- package/dist/components/FloatingActionButton/FloatingActionButton.js.map +1 -0
- package/dist/components/FloatingActionButton/FloatingActionButton.module.css.cjs +2 -0
- package/dist/components/FloatingActionButton/FloatingActionButton.module.css.cjs.map +1 -0
- package/dist/components/FloatingActionButton/FloatingActionButton.module.css.js +32 -0
- package/dist/components/FloatingActionButton/FloatingActionButton.module.css.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 +9 -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 +72 -0
- package/dist/components/Form/Form.js.map +1 -0
- package/dist/components/Form/Form.module.css.cjs +2 -0
- package/dist/components/Form/Form.module.css.cjs.map +1 -0
- package/dist/components/Form/Form.module.css.js +36 -0
- package/dist/components/Form/Form.module.css.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 +48 -0
- package/dist/components/HoverCard/HoverCard.js.map +1 -0
- package/dist/components/HoverCard/HoverCard.module.css.cjs +2 -0
- package/dist/components/HoverCard/HoverCard.module.css.cjs.map +1 -0
- package/dist/components/HoverCard/HoverCard.module.css.js +22 -0
- package/dist/components/HoverCard/HoverCard.module.css.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 +32 -0
- package/dist/components/Image/Image.js.map +1 -0
- package/dist/components/Image/Image.module.css.cjs +2 -0
- package/dist/components/Image/Image.module.css.cjs.map +1 -0
- package/dist/components/Image/Image.module.css.js +8 -0
- package/dist/components/Image/Image.module.css.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 +52 -0
- package/dist/components/Input/Input.js.map +1 -0
- package/dist/components/Input/Input.module.css.cjs +2 -0
- package/dist/components/Input/Input.module.css.cjs.map +1 -0
- package/dist/components/Input/Input.module.css.js +36 -0
- package/dist/components/Input/Input.module.css.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 +66 -0
- package/dist/components/InstallBanner/InstallBanner.js.map +1 -0
- package/dist/components/InstallBanner/InstallBanner.module.css.cjs +2 -0
- package/dist/components/InstallBanner/InstallBanner.module.css.cjs.map +1 -0
- package/dist/components/InstallBanner/InstallBanner.module.css.js +18 -0
- package/dist/components/InstallBanner/InstallBanner.module.css.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 +20 -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 +10 -0
- package/dist/components/Kbd/Kbd.js.map +1 -0
- package/dist/components/Kbd/Kbd.module.css.cjs +2 -0
- package/dist/components/Kbd/Kbd.module.css.cjs.map +1 -0
- package/dist/components/Kbd/Kbd.module.css.js +14 -0
- package/dist/components/Kbd/Kbd.module.css.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 +14 -0
- package/dist/components/Label/Label.js.map +1 -0
- package/dist/components/Label/Label.module.css.cjs +2 -0
- package/dist/components/Label/Label.module.css.cjs.map +1 -0
- package/dist/components/Label/Label.module.css.js +10 -0
- package/dist/components/Label/Label.module.css.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 +72 -0
- package/dist/components/Layout/Layout.js.map +1 -0
- package/dist/components/Layout/Layout.module.css.cjs +2 -0
- package/dist/components/Layout/Layout.module.css.cjs.map +1 -0
- package/dist/components/Layout/Layout.module.css.js +44 -0
- package/dist/components/Layout/Layout.module.css.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 +42 -0
- package/dist/components/ListTile/ListTile.js.map +1 -0
- package/dist/components/ListTile/ListTile.module.css.cjs +2 -0
- package/dist/components/ListTile/ListTile.module.css.cjs.map +1 -0
- package/dist/components/ListTile/ListTile.module.css.js +24 -0
- package/dist/components/ListTile/ListTile.module.css.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 +84 -0
- package/dist/components/Menubar/Menubar.js.map +1 -0
- package/dist/components/Menubar/Menubar.module.css.cjs +2 -0
- package/dist/components/Menubar/Menubar.module.css.cjs.map +1 -0
- package/dist/components/Menubar/Menubar.module.css.js +24 -0
- package/dist/components/Menubar/Menubar.module.css.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 +97 -0
- package/dist/components/Modal/Modal.js.map +1 -0
- package/dist/components/Modal/Modal.module.css.cjs +2 -0
- package/dist/components/Modal/Modal.module.css.cjs.map +1 -0
- package/dist/components/Modal/Modal.module.css.js +40 -0
- package/dist/components/Modal/Modal.module.css.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 +88 -0
- package/dist/components/ModalsManager/ModalsManager.js.map +1 -0
- package/dist/components/ModalsManager/ModalsManager.module.css.cjs +2 -0
- package/dist/components/ModalsManager/ModalsManager.module.css.cjs.map +1 -0
- package/dist/components/ModalsManager/ModalsManager.module.css.js +8 -0
- package/dist/components/ModalsManager/ModalsManager.module.css.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 +12 -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 +155 -0
- package/dist/components/MultiSelect/MultiSelect.js.map +1 -0
- package/dist/components/MultiSelect/MultiSelect.module.css.cjs +2 -0
- package/dist/components/MultiSelect/MultiSelect.module.css.cjs.map +1 -0
- package/dist/components/MultiSelect/MultiSelect.module.css.js +38 -0
- package/dist/components/MultiSelect/MultiSelect.module.css.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 +66 -0
- package/dist/components/NProgress/NProgress.js.map +1 -0
- package/dist/components/NProgress/NProgress.module.css.cjs +2 -0
- package/dist/components/NProgress/NProgress.module.css.cjs.map +1 -0
- package/dist/components/NProgress/NProgress.module.css.js +8 -0
- package/dist/components/NProgress/NProgress.module.css.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 +36 -0
- package/dist/components/Navbar/Navbar.js.map +1 -0
- package/dist/components/Navbar/Navbar.module.css.cjs +2 -0
- package/dist/components/Navbar/Navbar.module.css.cjs.map +1 -0
- package/dist/components/Navbar/Navbar.module.css.js +24 -0
- package/dist/components/Navbar/Navbar.module.css.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 +78 -0
- package/dist/components/NavigationMenu/NavigationMenu.js.map +1 -0
- package/dist/components/NavigationMenu/NavigationMenu.module.css.cjs +2 -0
- package/dist/components/NavigationMenu/NavigationMenu.module.css.cjs.map +1 -0
- package/dist/components/NavigationMenu/NavigationMenu.module.css.js +20 -0
- package/dist/components/NavigationMenu/NavigationMenu.module.css.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 +42 -0
- package/dist/components/NavigationRail/NavigationRail.js.map +1 -0
- package/dist/components/NavigationRail/NavigationRail.module.css.cjs +2 -0
- package/dist/components/NavigationRail/NavigationRail.module.css.cjs.map +1 -0
- package/dist/components/NavigationRail/NavigationRail.module.css.js +26 -0
- package/dist/components/NavigationRail/NavigationRail.module.css.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 +50 -0
- package/dist/components/OfflineIndicator/OfflineIndicator.js.map +1 -0
- package/dist/components/OfflineIndicator/OfflineIndicator.module.css.cjs +2 -0
- package/dist/components/OfflineIndicator/OfflineIndicator.module.css.cjs.map +1 -0
- package/dist/components/OfflineIndicator/OfflineIndicator.module.css.js +18 -0
- package/dist/components/OfflineIndicator/OfflineIndicator.module.css.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 +34 -0
- package/dist/components/Page/Page.js.map +1 -0
- package/dist/components/Page/Page.module.css.cjs +2 -0
- package/dist/components/Page/Page.module.css.cjs.map +1 -0
- package/dist/components/Page/Page.module.css.js +28 -0
- package/dist/components/Page/Page.module.css.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 +97 -0
- package/dist/components/Pagination/Pagination.js.map +1 -0
- package/dist/components/Pagination/Pagination.module.css.cjs +2 -0
- package/dist/components/Pagination/Pagination.module.css.cjs.map +1 -0
- package/dist/components/Pagination/Pagination.module.css.js +22 -0
- package/dist/components/Pagination/Pagination.module.css.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 +76 -0
- package/dist/components/PasswordInput/PasswordInput.js.map +1 -0
- package/dist/components/PasswordInput/PasswordInput.module.css.cjs +2 -0
- package/dist/components/PasswordInput/PasswordInput.module.css.cjs.map +1 -0
- package/dist/components/PasswordInput/PasswordInput.module.css.js +44 -0
- package/dist/components/PasswordInput/PasswordInput.module.css.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 +86 -0
- package/dist/components/PinInput/PinInput.js.map +1 -0
- package/dist/components/PinInput/PinInput.module.css.cjs +2 -0
- package/dist/components/PinInput/PinInput.module.css.cjs.map +1 -0
- package/dist/components/PinInput/PinInput.module.css.js +26 -0
- package/dist/components/PinInput/PinInput.module.css.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 +60 -0
- package/dist/components/Popover/Popover.js.map +1 -0
- package/dist/components/Popover/Popover.module.css.cjs +2 -0
- package/dist/components/Popover/Popover.module.css.cjs.map +1 -0
- package/dist/components/Popover/Popover.module.css.js +20 -0
- package/dist/components/Popover/Popover.module.css.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 +10 -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 +48 -0
- package/dist/components/Progress/Progress.js.map +1 -0
- package/dist/components/Progress/Progress.module.css.cjs +2 -0
- package/dist/components/Progress/Progress.module.css.cjs.map +1 -0
- package/dist/components/Progress/Progress.module.css.js +24 -0
- package/dist/components/Progress/Progress.module.css.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 +82 -0
- package/dist/components/Radio/Radio.js.map +1 -0
- package/dist/components/Radio/Radio.module.css.cjs +2 -0
- package/dist/components/Radio/Radio.module.css.cjs.map +1 -0
- package/dist/components/Radio/Radio.module.css.js +24 -0
- package/dist/components/Radio/Radio.module.css.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 +79 -0
- package/dist/components/RangeSlider/RangeSlider.js.map +1 -0
- package/dist/components/RangeSlider/RangeSlider.module.css.cjs +2 -0
- package/dist/components/RangeSlider/RangeSlider.module.css.cjs.map +1 -0
- package/dist/components/RangeSlider/RangeSlider.module.css.js +22 -0
- package/dist/components/RangeSlider/RangeSlider.module.css.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 +71 -0
- package/dist/components/RatingStars/RatingStars.js.map +1 -0
- package/dist/components/RatingStars/RatingStars.module.css.cjs +2 -0
- package/dist/components/RatingStars/RatingStars.module.css.cjs.map +1 -0
- package/dist/components/RatingStars/RatingStars.module.css.js +22 -0
- package/dist/components/RatingStars/RatingStars.module.css.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 +90 -0
- package/dist/components/RefreshIndicator/RefreshIndicator.js.map +1 -0
- package/dist/components/RefreshIndicator/RefreshIndicator.module.css.cjs +2 -0
- package/dist/components/RefreshIndicator/RefreshIndicator.module.css.cjs.map +1 -0
- package/dist/components/RefreshIndicator/RefreshIndicator.module.css.js +14 -0
- package/dist/components/RefreshIndicator/RefreshIndicator.module.css.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 +10 -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 +89 -0
- package/dist/components/Resizable/Resizable.js.map +1 -0
- package/dist/components/Resizable/Resizable.module.css.cjs +2 -0
- package/dist/components/Resizable/Resizable.module.css.cjs.map +1 -0
- package/dist/components/Resizable/Resizable.module.css.js +18 -0
- package/dist/components/Resizable/Resizable.module.css.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 +33 -0
- package/dist/components/SafeArea/SafeArea.js.map +1 -0
- package/dist/components/SafeArea/SafeArea.module.css.cjs +2 -0
- package/dist/components/SafeArea/SafeArea.module.css.cjs.map +1 -0
- package/dist/components/SafeArea/SafeArea.module.css.js +18 -0
- package/dist/components/SafeArea/SafeArea.module.css.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 +17 -0
- package/dist/components/ScrollArea/ScrollArea.js.map +1 -0
- package/dist/components/ScrollArea/ScrollArea.module.css.cjs +2 -0
- package/dist/components/ScrollArea/ScrollArea.module.css.cjs.map +1 -0
- package/dist/components/ScrollArea/ScrollArea.module.css.js +8 -0
- package/dist/components/ScrollArea/ScrollArea.module.css.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 +55 -0
- package/dist/components/SearchBar/SearchBar.js.map +1 -0
- package/dist/components/SearchBar/SearchBar.module.css.cjs +2 -0
- package/dist/components/SearchBar/SearchBar.module.css.cjs.map +1 -0
- package/dist/components/SearchBar/SearchBar.module.css.js +14 -0
- package/dist/components/SearchBar/SearchBar.module.css.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 +46 -0
- package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -0
- package/dist/components/SegmentedControl/SegmentedControl.module.css.cjs +2 -0
- package/dist/components/SegmentedControl/SegmentedControl.module.css.cjs.map +1 -0
- package/dist/components/SegmentedControl/SegmentedControl.module.css.js +24 -0
- package/dist/components/SegmentedControl/SegmentedControl.module.css.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 +61 -0
- package/dist/components/Select/Select.js.map +1 -0
- package/dist/components/Select/Select.module.css.cjs +2 -0
- package/dist/components/Select/Select.module.css.cjs.map +1 -0
- package/dist/components/Select/Select.module.css.js +24 -0
- package/dist/components/Select/Select.module.css.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 +54 -0
- package/dist/components/Sidebar/Sidebar.js.map +1 -0
- package/dist/components/Sidebar/Sidebar.module.css.cjs +2 -0
- package/dist/components/Sidebar/Sidebar.module.css.cjs.map +1 -0
- package/dist/components/Sidebar/Sidebar.module.css.js +26 -0
- package/dist/components/Sidebar/Sidebar.module.css.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 +22 -0
- package/dist/components/Skeleton/Skeleton.js.map +1 -0
- package/dist/components/Skeleton/Skeleton.module.css.cjs +2 -0
- package/dist/components/Skeleton/Skeleton.module.css.cjs.map +1 -0
- package/dist/components/Skeleton/Skeleton.module.css.js +12 -0
- package/dist/components/Skeleton/Skeleton.module.css.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 +56 -0
- package/dist/components/Slider/Slider.js.map +1 -0
- package/dist/components/Slider/Slider.module.css.cjs +2 -0
- package/dist/components/Slider/Slider.module.css.cjs.map +1 -0
- package/dist/components/Slider/Slider.module.css.js +22 -0
- package/dist/components/Slider/Slider.module.css.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 +10 -0
- package/dist/components/Spacer/Spacer.js.map +1 -0
- package/dist/components/Spacer/Spacer.module.css.cjs +2 -0
- package/dist/components/Spacer/Spacer.module.css.cjs.map +1 -0
- package/dist/components/Spacer/Spacer.module.css.js +14 -0
- package/dist/components/Spacer/Spacer.module.css.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 +36 -0
- package/dist/components/Spinner/Spinner.js.map +1 -0
- package/dist/components/Spinner/Spinner.module.css.cjs +2 -0
- package/dist/components/Spinner/Spinner.module.css.cjs.map +1 -0
- package/dist/components/Spinner/Spinner.module.css.js +26 -0
- package/dist/components/Spinner/Spinner.module.css.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 +38 -0
- package/dist/components/Stat/Stat.js.map +1 -0
- package/dist/components/Stat/Stat.module.css.cjs +2 -0
- package/dist/components/Stat/Stat.module.css.cjs.map +1 -0
- package/dist/components/Stat/Stat.module.css.js +28 -0
- package/dist/components/Stat/Stat.module.css.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 +43 -0
- package/dist/components/Stepper/Stepper.js.map +1 -0
- package/dist/components/Stepper/Stepper.module.css.cjs +2 -0
- package/dist/components/Stepper/Stepper.module.css.cjs.map +1 -0
- package/dist/components/Stepper/Stepper.module.css.js +22 -0
- package/dist/components/Stepper/Stepper.module.css.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 +56 -0
- package/dist/components/StepperInput/StepperInput.js.map +1 -0
- package/dist/components/StepperInput/StepperInput.module.css.cjs +2 -0
- package/dist/components/StepperInput/StepperInput.module.css.cjs.map +1 -0
- package/dist/components/StepperInput/StepperInput.module.css.js +24 -0
- package/dist/components/StepperInput/StepperInput.module.css.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 +25 -0
- package/dist/components/Switch/Switch.js.map +1 -0
- package/dist/components/Switch/Switch.module.css.cjs +2 -0
- package/dist/components/Switch/Switch.module.css.cjs.map +1 -0
- package/dist/components/Switch/Switch.module.css.js +18 -0
- package/dist/components/Switch/Switch.module.css.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.css.cjs +2 -0
- package/dist/components/SyncStatusBadge/SyncStatusBadge.module.css.cjs.map +1 -0
- package/dist/components/SyncStatusBadge/SyncStatusBadge.module.css.js +28 -0
- package/dist/components/SyncStatusBadge/SyncStatusBadge.module.css.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 +67 -0
- package/dist/components/Table/Table.js.map +1 -0
- package/dist/components/Table/Table.module.css.cjs +2 -0
- package/dist/components/Table/Table.module.css.cjs.map +1 -0
- package/dist/components/Table/Table.module.css.js +34 -0
- package/dist/components/Table/Table.module.css.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 +51 -0
- package/dist/components/Tabs/Tabs.js.map +1 -0
- package/dist/components/Tabs/Tabs.module.css.cjs +2 -0
- package/dist/components/Tabs/Tabs.module.css.cjs.map +1 -0
- package/dist/components/Tabs/Tabs.module.css.js +16 -0
- package/dist/components/Tabs/Tabs.module.css.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 +30 -0
- package/dist/components/Tag/Tag.js.map +1 -0
- package/dist/components/Tag/Tag.module.css.cjs +2 -0
- package/dist/components/Tag/Tag.module.css.cjs.map +1 -0
- package/dist/components/Tag/Tag.module.css.js +30 -0
- package/dist/components/Tag/Tag.module.css.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 +29 -0
- package/dist/components/Textarea/Textarea.js.map +1 -0
- package/dist/components/Textarea/Textarea.module.css.cjs +2 -0
- package/dist/components/Textarea/Textarea.module.css.cjs.map +1 -0
- package/dist/components/Textarea/Textarea.module.css.js +20 -0
- package/dist/components/Textarea/Textarea.module.css.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 +107 -0
- package/dist/components/TimePicker/TimePicker.js.map +1 -0
- package/dist/components/TimePicker/TimePicker.module.css.cjs +2 -0
- package/dist/components/TimePicker/TimePicker.module.css.cjs.map +1 -0
- package/dist/components/TimePicker/TimePicker.module.css.js +24 -0
- package/dist/components/TimePicker/TimePicker.module.css.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 +35 -0
- package/dist/components/Timeline/Timeline.js.map +1 -0
- package/dist/components/Timeline/Timeline.module.css.cjs +2 -0
- package/dist/components/Timeline/Timeline.module.css.cjs.map +1 -0
- package/dist/components/Timeline/Timeline.module.css.js +36 -0
- package/dist/components/Timeline/Timeline.module.css.js.map +1 -0
- package/dist/components/Toast/Toast.module.css.cjs +2 -0
- package/dist/components/Toast/Toast.module.css.cjs.map +1 -0
- package/dist/components/Toast/Toast.module.css.js +38 -0
- package/dist/components/Toast/Toast.module.css.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 +114 -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 +49 -0
- package/dist/components/Toggle/Toggle.js.map +1 -0
- package/dist/components/Toggle/Toggle.module.css.cjs +2 -0
- package/dist/components/Toggle/Toggle.module.css.cjs.map +1 -0
- package/dist/components/Toggle/Toggle.module.css.js +18 -0
- package/dist/components/Toggle/Toggle.module.css.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 +74 -0
- package/dist/components/ToggleGroup/ToggleGroup.js.map +1 -0
- package/dist/components/ToggleGroup/ToggleGroup.module.css.cjs +2 -0
- package/dist/components/ToggleGroup/ToggleGroup.module.css.cjs.map +1 -0
- package/dist/components/ToggleGroup/ToggleGroup.module.css.js +12 -0
- package/dist/components/ToggleGroup/ToggleGroup.module.css.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 +43 -0
- package/dist/components/Tooltip/Tooltip.js.map +1 -0
- package/dist/components/Tooltip/Tooltip.module.css.cjs +2 -0
- package/dist/components/Tooltip/Tooltip.module.css.cjs.map +1 -0
- package/dist/components/Tooltip/Tooltip.module.css.js +20 -0
- package/dist/components/Tooltip/Tooltip.module.css.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.css.cjs +2 -0
- package/dist/components/TruncateText/TruncateText.module.css.cjs.map +1 -0
- package/dist/components/TruncateText/TruncateText.module.css.js +8 -0
- package/dist/components/TruncateText/TruncateText.module.css.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 +43 -0
- package/dist/components/UpdatePrompt/UpdatePrompt.js.map +1 -0
- package/dist/components/UpdatePrompt/UpdatePrompt.module.css.cjs +2 -0
- package/dist/components/UpdatePrompt/UpdatePrompt.module.css.cjs.map +1 -0
- package/dist/components/UpdatePrompt/UpdatePrompt.module.css.js +20 -0
- package/dist/components/UpdatePrompt/UpdatePrompt.module.css.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 +50 -0
- package/dist/components/VirtualList/VirtualList.js.map +1 -0
- package/dist/components/VirtualList/VirtualList.module.css.cjs +2 -0
- package/dist/components/VirtualList/VirtualList.module.css.cjs.map +1 -0
- package/dist/components/VirtualList/VirtualList.module.css.js +12 -0
- package/dist/components/VirtualList/VirtualList.module.css.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 +15 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.module.css.cjs +2 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.module.css.cjs.map +1 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.module.css.js +8 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.module.css.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 +46 -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 +17 -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 +66 -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 +183 -0
- package/dist/editor/RichTextEditor.js.map +1 -0
- package/dist/editor/RichTextEditor.module.css.cjs +2 -0
- package/dist/editor/RichTextEditor.module.css.cjs.map +1 -0
- package/dist/editor/RichTextEditor.module.css.js +18 -0
- package/dist/editor/RichTextEditor.module.css.js.map +1 -0
- package/dist/editor.cjs +1 -1
- package/dist/editor.cjs.map +1 -1
- package/dist/editor.js +2 -187
- package/dist/editor.js.map +1 -1
- package/dist/error-boundary/ErrorBoundary.cjs +2 -0
- package/dist/error-boundary/ErrorBoundary.cjs.map +1 -0
- package/dist/error-boundary/ErrorBoundary.js +32 -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 +13 -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 +29 -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 +24 -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 +37 -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 +44 -0
- package/dist/forms/br-validators.js.map +1 -0
- package/dist/forms/masked-inputs.cjs +2 -0
- package/dist/forms/masked-inputs.cjs.map +1 -0
- package/dist/forms/masked-inputs.js +48 -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 +24 -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 +12 -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 +15 -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 +17 -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 +216 -0
- package/dist/geo/TrajectoryMap.js.map +1 -0
- package/dist/geo/TrajectoryMap.module.css.cjs +2 -0
- package/dist/geo/TrajectoryMap.module.css.cjs.map +1 -0
- package/dist/geo/TrajectoryMap.module.css.js +30 -0
- package/dist/geo/TrajectoryMap.module.css.js.map +1 -0
- package/dist/geo/bounds.cjs +2 -0
- package/dist/geo/bounds.cjs.map +1 -0
- package/dist/geo/bounds.js +28 -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 +65 -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 +26 -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 +35 -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 +51 -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 +36 -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 +29 -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 +25 -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 +35 -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 +31 -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 +38 -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 +38 -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 +40 -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 +18 -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 +16 -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 +29 -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 +27 -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 +12 -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 +19 -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 +12 -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 +14 -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 +15 -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 +14 -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 +12 -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 +43 -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 +44 -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 +16 -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 +30 -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 +69 -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 +19 -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 +13 -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 +9 -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 +38 -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 +40 -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 +55 -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 +31 -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 +27 -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 +33 -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 +13 -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 +16 -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 +9 -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 +11 -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 +48 -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 +19 -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 +14 -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 +34 -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 +39 -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 +9 -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 +54 -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 +16 -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 +13 -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 +9 -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 +15 -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 +81 -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 +39 -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 +10 -0
- package/dist/http/idempotency.js.map +1 -0
- package/dist/http/parse-response.cjs +6 -0
- package/dist/http/parse-response.cjs.map +1 -0
- package/dist/http/parse-response.js +20 -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 +44 -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 +91 -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 +41 -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 +52 -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 +50 -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 +41 -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 +50 -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 +21 -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 +46 -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 +146 -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 +68 -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 +14 -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 +83 -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 +21 -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 +40 -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 +19 -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 +19 -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 +28 -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 +30 -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 +44 -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 +60 -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 +9 -0
- package/dist/router/RouteGuard.js.map +1 -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 +11 -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 +19 -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 +76 -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 +29 -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 +20 -0
- package/dist/store/create-store.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/sw/background-sync.cjs +2 -0
- package/dist/sw/background-sync.cjs.map +1 -0
- package/dist/sw/background-sync.js +106 -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 +47 -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 +176 -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 +64 -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 +18 -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 +50 -0
- package/dist/sw/register-service-worker.js.map +1 -0
- package/dist/sw.cjs +1 -1
- package/dist/sw.cjs.map +1 -1
- package/dist/sw.d.ts +125 -0
- package/dist/sw.js +19 -358
- package/dist/sw.js.map +1 -1
- package/dist/telemetry/TelemetryProvider.cjs +2 -0
- package/dist/telemetry/TelemetryProvider.cjs.map +1 -0
- package/dist/telemetry/TelemetryProvider.js +18 -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 +15 -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 +43 -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 +39 -0
- package/dist/telemetry/sentry-adapter.js.map +1 -0
- package/dist/tempest-react-sdk.cjs +1 -14
- package/dist/tempest-react-sdk.cjs.map +1 -1
- package/dist/tempest-react-sdk.d.ts +1059 -8
- package/dist/tempest-react-sdk.js +638 -9306
- package/dist/tempest-react-sdk.js.map +1 -1
- 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 +14 -0
- package/dist/testing/create-mock-handlers.js.map +1 -0
- package/dist/testing.cjs +1 -1
- package/dist/testing.cjs.map +1 -1
- package/dist/testing.js +1 -10
- package/dist/testing.js.map +1 -1
- package/dist/theme/ThemeProvider.cjs +2 -0
- package/dist/theme/ThemeProvider.cjs.map +1 -0
- package/dist/theme/ThemeProvider.js +78 -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 +31 -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 +40 -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 +19 -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 +40 -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 +49 -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 +25 -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 +14 -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 +27 -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 +37 -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 +24 -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 +67 -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 +29 -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 +33 -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 +41 -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 +41 -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 +24 -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 +71 -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 +5 -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 +75 -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 +125 -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 +45 -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 +32 -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 +153 -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 +109 -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 +93 -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 +213 -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 +106 -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 +147 -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 +189 -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 +100 -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 +89 -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 +23 -0
- package/dist/vision/use-live-luminance.js.map +1 -0
- package/dist/vision.cjs +1 -1
- package/dist/vision.cjs.map +1 -1
- package/dist/vision.js +70 -1558
- package/dist/vision.js.map +1 -1
- 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 +46 -0
- package/dist/vite/create-vite-config.js.map +1 -0
- package/dist/vite/tempest-pwa-dev-sw.cjs +3 -0
- package/dist/vite/tempest-pwa-dev-sw.cjs.map +1 -0
- package/dist/vite/tempest-pwa-dev-sw.js +50 -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 +137 -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 +43 -0
- package/dist/vite/tempest-pwa-manifest.js.map +1 -0
- package/dist/vite.cjs +1 -3
- package/dist/vite.cjs.map +1 -1
- package/dist/vite.js +8 -262
- package/dist/vite.js.map +1 -1
- 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 +83 -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 +32 -0
- package/dist/ws/use-web-socket.js.map +1 -0
- package/package.json +7 -2
- 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/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/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
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import * as v from "onnxruntime-web";
|
|
2
|
+
import { createCanvas as y, get2DContext as h, rgbToImageData as I, imageDataToRGB as A } from "../core/canvas.js";
|
|
3
|
+
import { RGBImage as $ } from "../types.js";
|
|
4
|
+
function D(n, o, t) {
|
|
5
|
+
if (o <= 0 || t <= 0)
|
|
6
|
+
throw new Error(`Invalid resize target ${o}x${t}.`);
|
|
7
|
+
if (o === n.width && t === n.height)
|
|
8
|
+
return n;
|
|
9
|
+
const r = y(n.width, n.height);
|
|
10
|
+
h(r).putImageData(I(n), 0, 0);
|
|
11
|
+
const e = y(o, t), a = h(e);
|
|
12
|
+
a.imageSmoothingEnabled = !0, a.imageSmoothingQuality = "high", a.drawImage(r, 0, 0, o, t);
|
|
13
|
+
const l = a.getImageData(0, 0, o, t);
|
|
14
|
+
return A(l);
|
|
15
|
+
}
|
|
16
|
+
function B(n, o, t, r = 1 / 255) {
|
|
17
|
+
const s = new Float32Array(n.data.length), e = n.data, a = o[0], l = o[1], c = o[2], x = t[0], d = t[1], w = t[2];
|
|
18
|
+
for (let f = 0; f < e.length; f += 3)
|
|
19
|
+
s[f] = (e[f] * r - a) / x, s[f + 1] = (e[f + 1] * r - l) / d, s[f + 2] = (e[f + 2] * r - c) / w;
|
|
20
|
+
return s;
|
|
21
|
+
}
|
|
22
|
+
function T(n, o = 1 / 255) {
|
|
23
|
+
const t = new Float32Array(n.data.length), r = n.data;
|
|
24
|
+
for (let s = 0; s < r.length; s++)
|
|
25
|
+
t[s] = r[s] * o;
|
|
26
|
+
return t;
|
|
27
|
+
}
|
|
28
|
+
function F(n, o, t, r = 3) {
|
|
29
|
+
const s = o * t * r;
|
|
30
|
+
if (n.length !== s)
|
|
31
|
+
throw new Error(
|
|
32
|
+
`toCHW: expected length ${s} for ${o}x${t}x${r}, got ${n.length}.`
|
|
33
|
+
);
|
|
34
|
+
const e = new Float32Array(s), a = o * t;
|
|
35
|
+
for (let l = 0; l < t; l++)
|
|
36
|
+
for (let c = 0; c < o; c++) {
|
|
37
|
+
const x = (l * o + c) * r, d = l * o + c;
|
|
38
|
+
for (let w = 0; w < r; w++)
|
|
39
|
+
e[w * a + d] = n[x + w];
|
|
40
|
+
}
|
|
41
|
+
return e;
|
|
42
|
+
}
|
|
43
|
+
function E(n, o) {
|
|
44
|
+
return new v.Tensor("float32", n, o);
|
|
45
|
+
}
|
|
46
|
+
function R(n) {
|
|
47
|
+
const o = T(n);
|
|
48
|
+
return F(o, n.width, n.height, 3);
|
|
49
|
+
}
|
|
50
|
+
function U(n, o, t) {
|
|
51
|
+
if (n.length !== o * t * 3)
|
|
52
|
+
throw new Error(
|
|
53
|
+
`fromCv2: data length ${n.length} does not match width * height * 3 = ${o * t * 3}.`
|
|
54
|
+
);
|
|
55
|
+
const r = new Uint8Array(n.length);
|
|
56
|
+
for (let s = 0; s < n.length; s += 3)
|
|
57
|
+
r[s] = n[s + 2], r[s + 1] = n[s + 1], r[s + 2] = n[s];
|
|
58
|
+
return new $(r, o, t);
|
|
59
|
+
}
|
|
60
|
+
function G(n) {
|
|
61
|
+
const o = n.data, t = new Uint8Array(o.length);
|
|
62
|
+
for (let r = 0; r < o.length; r += 3)
|
|
63
|
+
t[r] = o[r + 2], t[r + 1] = o[r + 1], t[r + 2] = o[r];
|
|
64
|
+
return t;
|
|
65
|
+
}
|
|
66
|
+
function O(n, o, t, r = [114, 114, 114]) {
|
|
67
|
+
const s = Math.min(o / n.width, t / n.height), e = Math.round(n.width * s), a = Math.round(n.height * s), l = D(n, e, a), c = new Uint8Array(o * t * 3), x = r[0], d = r[1], w = r[2];
|
|
68
|
+
for (let u = 0; u < c.length; u += 3)
|
|
69
|
+
c[u] = x, c[u + 1] = d, c[u + 2] = w;
|
|
70
|
+
const f = Math.floor((o - e) / 2), m = Math.floor((t - a) / 2), p = e * 3;
|
|
71
|
+
for (let u = 0; u < a; u++) {
|
|
72
|
+
const C = u * p, i = ((m + u) * o + f) * 3;
|
|
73
|
+
c.set(l.data.subarray(C, C + p), i);
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
image: new $(c, o, t),
|
|
77
|
+
scale: s,
|
|
78
|
+
padLeft: f,
|
|
79
|
+
padTop: m
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
export {
|
|
83
|
+
U as fromCv2,
|
|
84
|
+
O as letterbox,
|
|
85
|
+
B as normalize,
|
|
86
|
+
D as resize,
|
|
87
|
+
F as toCHW,
|
|
88
|
+
G as toCv2,
|
|
89
|
+
T as toFloat32,
|
|
90
|
+
E as toFloat32Tensor,
|
|
91
|
+
R as toTensor
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image.js","sources":["../../../src/vision/preprocess/image.ts"],"sourcesContent":["/**\n * Composable image preprocessing primitives (resize, normalize, letterbox, layout).\n *\n * Mirrors the Python `preprocess.image` module. Operates on the canonical\n * {@link RGBImage} (HWC RGB uint8) and produces uint8 or float32 buffers\n * depending on the operation.\n */\n\nimport * as ortRuntime from \"onnxruntime-web\";\nimport type * as ort from \"onnxruntime-web\";\n\nimport { createCanvas, get2DContext, imageDataToRGB, rgbToImageData } from \"../core/canvas\";\nimport { RGBImage } from \"../types\";\n\n/** Resize an image to `(targetWidth, targetHeight)` using high-quality canvas resampling. */\nexport function resize(image: RGBImage, targetWidth: number, targetHeight: number): RGBImage {\n if (targetWidth <= 0 || targetHeight <= 0) {\n throw new Error(`Invalid resize target ${targetWidth}x${targetHeight}.`);\n }\n if (targetWidth === image.width && targetHeight === image.height) {\n return image;\n }\n\n const srcCanvas = createCanvas(image.width, image.height);\n const srcCtx = get2DContext(srcCanvas);\n srcCtx.putImageData(rgbToImageData(image), 0, 0);\n\n const dstCanvas = createCanvas(targetWidth, targetHeight);\n const dstCtx = get2DContext(dstCanvas);\n dstCtx.imageSmoothingEnabled = true;\n dstCtx.imageSmoothingQuality = \"high\";\n dstCtx.drawImage(srcCanvas as CanvasImageSource, 0, 0, targetWidth, targetHeight);\n\n const imageData = dstCtx.getImageData(0, 0, targetWidth, targetHeight);\n return imageDataToRGB(imageData);\n}\n\n/**\n * Convert a uint8 image to a normalized float32 array (HWC layout preserved).\n *\n * Applies `(pixel * scale - mean) / std` channel-wise.\n */\nexport function normalize(\n image: RGBImage,\n mean: readonly [number, number, number],\n std: readonly [number, number, number],\n scale: number = 1 / 255,\n): Float32Array {\n const out = new Float32Array(image.data.length);\n const data = image.data;\n const m0 = mean[0];\n const m1 = mean[1];\n const m2 = mean[2];\n const s0 = std[0];\n const s1 = std[1];\n const s2 = std[2];\n for (let i = 0; i < data.length; i += 3) {\n out[i] = ((data[i] as number) * scale - m0) / s0;\n out[i + 1] = ((data[i + 1] as number) * scale - m1) / s1;\n out[i + 2] = ((data[i + 2] as number) * scale - m2) / s2;\n }\n return out;\n}\n\n/** Convert a uint8 image to a `Float32Array` in `[0, 1]` (HWC layout preserved). */\nexport function toFloat32(image: RGBImage, scale: number = 1 / 255): Float32Array {\n const out = new Float32Array(image.data.length);\n const data = image.data;\n for (let i = 0; i < data.length; i++) {\n out[i] = (data[i] as number) * scale;\n }\n return out;\n}\n\n/**\n * Transpose interleaved HWC data to planar CHW layout.\n *\n * @param hwc Source array of length `width * height * channels`.\n */\nexport function toCHW(\n hwc: Float32Array,\n width: number,\n height: number,\n channels: number = 3,\n): Float32Array {\n const expected = width * height * channels;\n if (hwc.length !== expected) {\n throw new Error(\n `toCHW: expected length ${expected} for ${width}x${height}x${channels}, got ${hwc.length}.`,\n );\n }\n const chw = new Float32Array(expected);\n const plane = width * height;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const hwcBase = (y * width + x) * channels;\n const planeIdx = y * width + x;\n for (let c = 0; c < channels; c++) {\n chw[c * plane + planeIdx] = hwc[hwcBase + c] as number;\n }\n }\n }\n return chw;\n}\n\n/** Wrap a Float32 buffer into an `ort.Tensor`. */\nexport function toFloat32Tensor(data: Float32Array, dims: readonly number[]): ort.Tensor {\n return new ortRuntime.Tensor(\"float32\", data, dims as number[]);\n}\n\n/**\n * Convert an HWC uint8 image to a CHW `Float32Array` scaled to `[0, 1]`.\n *\n * Mirrors `torchvision.transforms.ToTensor()` semantics: HWC → CHW,\n * `uint8 → float32 / 255`. Useful as input to YOLO-style detectors that\n * don't require ImageNet normalization.\n *\n * @returns CHW `Float32Array` of length `width * height * 3`.\n */\nexport function toTensor(image: RGBImage): Float32Array {\n const f32 = toFloat32(image);\n return toCHW(f32, image.width, image.height, 3);\n}\n\n/**\n * Convert an HWC BGR uint8 buffer (OpenCV layout) to the SDK's HWC RGB.\n *\n * Use when you receive image bytes from `cv2.imencode` over the wire and\n * want to feed them to the SDK without going through a canvas decode.\n *\n * @param bgr Flat BGR Uint8Array of length `width * height * 3`.\n */\nexport function fromCv2(bgr: Uint8Array, width: number, height: number): RGBImage {\n if (bgr.length !== width * height * 3) {\n throw new Error(\n `fromCv2: data length ${bgr.length} does not match width * height * 3 = ${width * height * 3}.`,\n );\n }\n const rgb = new Uint8Array(bgr.length);\n for (let i = 0; i < bgr.length; i += 3) {\n rgb[i] = bgr[i + 2] as number;\n rgb[i + 1] = bgr[i + 1] as number;\n rgb[i + 2] = bgr[i] as number;\n }\n return new RGBImage(rgb, width, height);\n}\n\n/**\n * Convert the SDK's HWC RGB image to an HWC BGR `Uint8Array` (OpenCV layout).\n *\n * Useful for round-tripping data to a Python OpenCV consumer.\n */\nexport function toCv2(image: RGBImage): Uint8Array {\n const rgb = image.data;\n const bgr = new Uint8Array(rgb.length);\n for (let i = 0; i < rgb.length; i += 3) {\n bgr[i] = rgb[i + 2] as number;\n bgr[i + 1] = rgb[i + 1] as number;\n bgr[i + 2] = rgb[i] as number;\n }\n return bgr;\n}\n\nexport interface LetterboxResult {\n /** The padded image at the target size. */\n readonly image: RGBImage;\n /** The factor applied to the original image (`< 1` if downscaled). */\n readonly scale: number;\n /** Horizontal padding in pixels (left side; right side has the same or +1). */\n readonly padLeft: number;\n /** Vertical padding in pixels (top side). */\n readonly padTop: number;\n}\n\n/**\n * Resize preserving aspect ratio, padding to `(targetWidth, targetHeight)`\n * with a constant fill color.\n *\n * Standard YOLO preprocessing — returning `scale` and `padLeft`/`padTop`\n * lets callers map detections back to the original image coordinates.\n */\nexport function letterbox(\n image: RGBImage,\n targetWidth: number,\n targetHeight: number,\n fill: readonly [number, number, number] = [114, 114, 114],\n): LetterboxResult {\n const scale = Math.min(targetWidth / image.width, targetHeight / image.height);\n const newW = Math.round(image.width * scale);\n const newH = Math.round(image.height * scale);\n const resized = resize(image, newW, newH);\n\n const out = new Uint8Array(targetWidth * targetHeight * 3);\n const f0 = fill[0];\n const f1 = fill[1];\n const f2 = fill[2];\n for (let i = 0; i < out.length; i += 3) {\n out[i] = f0;\n out[i + 1] = f1;\n out[i + 2] = f2;\n }\n\n const padLeft = Math.floor((targetWidth - newW) / 2);\n const padTop = Math.floor((targetHeight - newH) / 2);\n const rowBytes = newW * 3;\n for (let y = 0; y < newH; y++) {\n const srcOffset = y * rowBytes;\n const dstOffset = ((padTop + y) * targetWidth + padLeft) * 3;\n out.set(resized.data.subarray(srcOffset, srcOffset + rowBytes), dstOffset);\n }\n\n return {\n image: new RGBImage(out, targetWidth, targetHeight),\n scale,\n padLeft,\n padTop,\n };\n}\n"],"names":["resize","image","targetWidth","targetHeight","srcCanvas","createCanvas","get2DContext","rgbToImageData","dstCanvas","dstCtx","imageData","imageDataToRGB","normalize","mean","std","scale","out","data","m0","m1","m2","s0","s1","s2","i","toFloat32","toCHW","hwc","width","height","channels","expected","chw","plane","y","x","hwcBase","planeIdx","c","toFloat32Tensor","dims","ortRuntime","toTensor","f32","fromCv2","bgr","rgb","RGBImage","toCv2","letterbox","fill","newW","newH","resized","f0","f1","f2","padLeft","padTop","rowBytes","srcOffset","dstOffset"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class l{constructor(s,t,i,e){this.xyxy=s,this.cls=t,this.conf=i,this.origShape=e}xyxy;cls;conf;origShape;get length(){return this.cls.length}get shape(){return[this.length,4]}get xywh(){const s=new Float32Array(this.xyxy.length);for(let t=0;t<this.length;t++){const i=this.xyxy[t*4],e=this.xyxy[t*4+1],r=this.xyxy[t*4+2],h=this.xyxy[t*4+3];s[t*4]=(i+r)/2,s[t*4+1]=(e+h)/2,s[t*4+2]=r-i,s[t*4+3]=h-e}return s}get xyxyn(){const[s,t]=this.origShape,i=new Float32Array(this.xyxy.length);if(this.length===0||t<=0||s<=0)return i;for(let e=0;e<this.length;e++)i[e*4]=this.xyxy[e*4]/t,i[e*4+1]=this.xyxy[e*4+1]/s,i[e*4+2]=this.xyxy[e*4+2]/t,i[e*4+3]=this.xyxy[e*4+3]/s;return i}get xywhn(){const s=this.xywh,[t,i]=this.origShape;if(this.length===0||i<=0||t<=0)return s;for(let e=0;e<this.length;e++)s[e*4]=s[e*4]/i,s[e*4+1]=s[e*4+1]/t,s[e*4+2]=s[e*4+2]/i,s[e*4+3]=s[e*4+3]/t;return s}get data(){const s=new Float32Array(this.length*6);for(let t=0;t<this.length;t++)s[t*6]=this.xyxy[t*4],s[t*6+1]=this.xyxy[t*4+1],s[t*6+2]=this.xyxy[t*4+2],s[t*6+3]=this.xyxy[t*4+3],s[t*6+4]=this.conf[t],s[t*6+5]=this.cls[t];return s}}class g{constructor(s){this.data=s}data;get length(){return this.data.length}get shape(){return[this.length]}get top1(){if(this.data.length===0)return 0;let s=0,t=this.data[0];for(let i=1;i<this.data.length;i++){const e=this.data[i];e>t&&(s=i,t=e)}return s}get top1conf(){return this.data.length===0?0:this.data[this.top1]}get top5(){return this._topK(5).indices}get top5conf(){return this._topK(5).values}_topK(s){const t=Math.min(s,this.data.length),i=[];for(let h=0;h<this.data.length;h++)i.push(h);i.sort((h,n)=>this.data[n]-this.data[h]);const e=new Int32Array(t),r=new Float32Array(t);for(let h=0;h<t;h++)e[h]=i[h],r[h]=this.data[i[h]];return{indices:e,values:r}}}class c{constructor(s,t,i){this.data=s,this.xyxy=t,this.origShape=i}data;xyxy;origShape;get length(){return this.data.length}get shape(){return[this.length]}[Symbol.iterator](){return this.data[Symbol.iterator]()}}class u{constructor(s,t,i,e,r,h=null,n={}){this.boxes=s,this.detections=t,this.names=i,this.origImg=e,this.origShape=r,this.path=h,this.speed=n}boxes;detections;names;origImg;origShape;path;speed;get length(){return this.detections.length}get(s){return this.detections[s]}[Symbol.iterator](){return this.detections[Symbol.iterator]()}}class y{constructor(s,t,i,e,r,h=null,n={}){this.probs=s,this.result=t,this.names=i,this.origImg=e,this.origShape=r,this.path=h,this.speed=n}probs;result;names;origImg;origShape;path;speed;get cls(){return this.probs.top1}get conf(){return this.probs.top1conf}get name(){return this.names[this.cls]??`class_${this.cls}`}get probabilities(){return this.result.probabilities}}class x{constructor(s,t,i,e,r,h,n=null,a={}){this.boxes=s,this.masks=t,this.detections=i,this.names=e,this.origImg=r,this.origShape=h,this.path=n,this.speed=a}boxes;masks;detections;names;origImg;origShape;path;speed;get length(){return this.detections.length}get(s){return this.detections[s]}[Symbol.iterator](){return this.detections[Symbol.iterator]()}}exports.Boxes=l;exports.ClassificationResults=y;exports.DetectionResults=u;exports.Masks=c;exports.Probs=g;exports.SegmentationResults=x;
|
|
2
|
+
//# sourceMappingURL=results.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"results.cjs","sources":["../../src/vision/results.ts"],"sourcesContent":["/**\n * Per-image result envelopes — Ultralytics-style `Results` for the SDK.\n *\n * Each `predict()` call returns a 1-element array of these envelopes,\n * mirroring `YOLO(\"img.jpg\")`. Each envelope holds:\n *\n * - A bulk-array view of the predictions (`Boxes`, `Probs`, `Masks`) with\n * the exact attribute names Ultralytics uses (`xyxy`, `xywh`, `xyxyn`,\n * `xywhn`, `cls`, `conf`, `data`, `top1`, `top5`).\n * - Per-instance dataclasses (`DetectionResult`, `SegmentationResult`,\n * `ClassProbability`) for callers who prefer the OO interface.\n * - `names`: `Record<number, string>` matching Ultralytics' `model.names`.\n * - `origImg` / `origShape` / `path`: provenance for the original input.\n */\n\nimport {\n type ClassificationResult,\n type DetectionResult,\n type RGBImage,\n type SegmentationResult,\n} from \"./types\";\n\n/**\n * Bulk numpy-style view of detected boxes for a single image.\n *\n * Mirrors Ultralytics' `Boxes` interface. Coordinates in {@link xyxy} and\n * {@link xywh} are absolute pixels in the original image; the `*n` variants\n * are normalized to `[0, 1]` using `origShape`.\n */\nexport class Boxes {\n /**\n * @param xyxy Flat array of length `4 * N` in `[x1, y1, x2, y2, ...]` order.\n * @param cls One class index per box, length `N`.\n * @param conf One confidence per box, length `N`.\n * @param origShape `[height, width]` of the original image.\n */\n constructor(\n public readonly xyxy: Float32Array,\n public readonly cls: Int32Array,\n public readonly conf: Float32Array,\n public readonly origShape: readonly [number, number],\n ) {}\n\n /** Number of detected boxes. */\n get length(): number {\n return this.cls.length;\n }\n\n /** `[N, 4]` shape of the `xyxy` view. */\n get shape(): readonly [number, number] {\n return [this.length, 4];\n }\n\n /** Boxes as `[N, 4]` `[cx, cy, w, h]` flat array in absolute pixels. */\n get xywh(): Float32Array {\n const out = new Float32Array(this.xyxy.length);\n for (let i = 0; i < this.length; i++) {\n const x1 = this.xyxy[i * 4] as number;\n const y1 = this.xyxy[i * 4 + 1] as number;\n const x2 = this.xyxy[i * 4 + 2] as number;\n const y2 = this.xyxy[i * 4 + 3] as number;\n out[i * 4] = (x1 + x2) / 2;\n out[i * 4 + 1] = (y1 + y2) / 2;\n out[i * 4 + 2] = x2 - x1;\n out[i * 4 + 3] = y2 - y1;\n }\n return out;\n }\n\n /** Boxes as `[N, 4]` `[x1, y1, x2, y2]` normalized to `[0, 1]`. */\n get xyxyn(): Float32Array {\n const [h, w] = this.origShape;\n const out = new Float32Array(this.xyxy.length);\n if (this.length === 0 || w <= 0 || h <= 0) return out;\n for (let i = 0; i < this.length; i++) {\n out[i * 4] = (this.xyxy[i * 4] as number) / w;\n out[i * 4 + 1] = (this.xyxy[i * 4 + 1] as number) / h;\n out[i * 4 + 2] = (this.xyxy[i * 4 + 2] as number) / w;\n out[i * 4 + 3] = (this.xyxy[i * 4 + 3] as number) / h;\n }\n return out;\n }\n\n /** Boxes as `[N, 4]` `[cx, cy, w, h]` normalized to `[0, 1]`. */\n get xywhn(): Float32Array {\n const xywh = this.xywh;\n const [h, w] = this.origShape;\n if (this.length === 0 || w <= 0 || h <= 0) return xywh;\n for (let i = 0; i < this.length; i++) {\n xywh[i * 4] = (xywh[i * 4] as number) / w;\n xywh[i * 4 + 1] = (xywh[i * 4 + 1] as number) / h;\n xywh[i * 4 + 2] = (xywh[i * 4 + 2] as number) / w;\n xywh[i * 4 + 3] = (xywh[i * 4 + 3] as number) / h;\n }\n return xywh;\n }\n\n /**\n * Concatenated `[N, 6]` array of `[x1, y1, x2, y2, conf, cls]`.\n *\n * Matches Ultralytics' `boxes.data`.\n */\n get data(): Float32Array {\n const out = new Float32Array(this.length * 6);\n for (let i = 0; i < this.length; i++) {\n out[i * 6] = this.xyxy[i * 4] as number;\n out[i * 6 + 1] = this.xyxy[i * 4 + 1] as number;\n out[i * 6 + 2] = this.xyxy[i * 4 + 2] as number;\n out[i * 6 + 3] = this.xyxy[i * 4 + 3] as number;\n out[i * 6 + 4] = this.conf[i] as number;\n out[i * 6 + 5] = this.cls[i] as number;\n }\n return out;\n }\n}\n\n/**\n * Top-k classification probabilities for a single image.\n *\n * Mirrors Ultralytics' `Probs` interface.\n */\nexport class Probs {\n /** @param data `[numClasses]` per-class probabilities, indexed by class id. */\n constructor(public readonly data: Float32Array) {}\n\n /** Number of classes. */\n get length(): number {\n return this.data.length;\n }\n\n /** `[numClasses]` shape of the underlying vector. */\n get shape(): readonly [number] {\n return [this.length];\n }\n\n /** Index of the most probable class. */\n get top1(): number {\n if (this.data.length === 0) return 0;\n let best = 0;\n let bestVal = this.data[0] as number;\n for (let i = 1; i < this.data.length; i++) {\n const v = this.data[i] as number;\n if (v > bestVal) {\n best = i;\n bestVal = v;\n }\n }\n return best;\n }\n\n /** Probability of the top-1 class. */\n get top1conf(): number {\n if (this.data.length === 0) return 0;\n return this.data[this.top1] as number;\n }\n\n /** Indices of the top-5 most probable classes, descending. */\n get top5(): Int32Array {\n return this._topK(5).indices;\n }\n\n /** Probabilities of the top-5 classes, descending. */\n get top5conf(): Float32Array {\n return this._topK(5).values;\n }\n\n private _topK(k: number): { indices: Int32Array; values: Float32Array } {\n const n = Math.min(k, this.data.length);\n const order: number[] = [];\n for (let i = 0; i < this.data.length; i++) order.push(i);\n order.sort((a, b) => (this.data[b] as number) - (this.data[a] as number));\n const indices = new Int32Array(n);\n const values = new Float32Array(n);\n for (let i = 0; i < n; i++) {\n indices[i] = order[i] as number;\n values[i] = this.data[order[i] as number] as number;\n }\n return { indices, values };\n }\n}\n\n/**\n * Per-instance binary masks for a single image.\n *\n * Each mask is cropped to its instance's bounding box. To paint masks onto\n * a full-image canvas, use `xyxy[i]` as the top-left target.\n */\nexport class Masks {\n /**\n * @param data Per-instance binary masks (`Mask` objects from `types.ts`).\n * @param xyxy Flat `[N, 4]` of bounding-box coordinates in original pixels.\n * @param origShape `[height, width]` of the original image.\n */\n constructor(\n public readonly data: ReadonlyArray<{\n readonly data: Uint8Array;\n readonly width: number;\n readonly height: number;\n }>,\n public readonly xyxy: Float32Array,\n public readonly origShape: readonly [number, number],\n ) {}\n\n /** Number of instance masks. */\n get length(): number {\n return this.data.length;\n }\n\n /** `[N]` shape of the masks collection. */\n get shape(): readonly [number] {\n return [this.length];\n }\n\n [Symbol.iterator](): Iterator<{\n readonly data: Uint8Array;\n readonly width: number;\n readonly height: number;\n }> {\n return this.data[Symbol.iterator]();\n }\n}\n\n/**\n * Per-image detection envelope (Ultralytics-style `Results`).\n *\n * Iterating yields per-instance {@link DetectionResult} entries, so legacy\n * code that did `for (const d of detector.predict(img))` only needs an\n * extra `[0]` to bridge:\n *\n * ```typescript\n * for (const d of (await detector.predict(img))[0]) {\n * console.log(d.cls, d.conf, d.box.xyxy);\n * }\n * ```\n *\n * For numpy-style bulk access, use the `boxes` collection.\n */\nexport class DetectionResults implements Iterable<DetectionResult> {\n constructor(\n public readonly boxes: Boxes,\n public readonly detections: readonly DetectionResult[],\n public readonly names: Readonly<Record<number, string>>,\n public readonly origImg: RGBImage,\n public readonly origShape: readonly [number, number],\n public readonly path: string | null = null,\n public readonly speed: Readonly<Record<string, number>> = {},\n ) {}\n\n /** Number of surviving detections. */\n get length(): number {\n return this.detections.length;\n }\n\n /** Index into the per-instance detections. */\n get(index: number): DetectionResult | undefined {\n return this.detections[index];\n }\n\n [Symbol.iterator](): Iterator<DetectionResult> {\n return this.detections[Symbol.iterator]();\n }\n}\n\n/**\n * Per-image classification envelope (Ultralytics-style `Results`).\n */\nexport class ClassificationResults {\n constructor(\n public readonly probs: Probs,\n public readonly result: ClassificationResult,\n public readonly names: Readonly<Record<number, string>>,\n public readonly origImg: RGBImage,\n public readonly origShape: readonly [number, number],\n public readonly path: string | null = null,\n public readonly speed: Readonly<Record<string, number>> = {},\n ) {}\n\n /** Top-1 class index (Ultralytics-style alias). */\n get cls(): number {\n return this.probs.top1;\n }\n\n /** Top-1 confidence (Ultralytics-style alias). */\n get conf(): number {\n return this.probs.top1conf;\n }\n\n /** Top-1 class name. */\n get name(): string {\n return this.names[this.cls] ?? `class_${this.cls}`;\n }\n\n /** Per-class probability list, sorted descending (legacy field). */\n get probabilities(): readonly ClassificationResult[\"probabilities\"][number][] {\n return this.result.probabilities;\n }\n}\n\n/**\n * Per-image instance-segmentation envelope (Ultralytics-style `Results`).\n *\n * Iterating yields per-instance {@link SegmentationResult} entries. `boxes`\n * and `masks` mirror Ultralytics' bulk-array views.\n */\nexport class SegmentationResults implements Iterable<SegmentationResult> {\n constructor(\n public readonly boxes: Boxes,\n public readonly masks: Masks,\n public readonly detections: readonly SegmentationResult[],\n public readonly names: Readonly<Record<number, string>>,\n public readonly origImg: RGBImage,\n public readonly origShape: readonly [number, number],\n public readonly path: string | null = null,\n public readonly speed: Readonly<Record<string, number>> = {},\n ) {}\n\n /** Number of surviving instances. */\n get length(): number {\n return this.detections.length;\n }\n\n /** Index into the per-instance results. */\n get(index: number): SegmentationResult | undefined {\n return this.detections[index];\n }\n\n [Symbol.iterator](): Iterator<SegmentationResult> {\n return this.detections[Symbol.iterator]();\n }\n}\n"],"names":["Boxes","xyxy","cls","conf","origShape","out","i","x1","y1","x2","y2","h","w","xywh","Probs","data","best","bestVal","v","k","n","order","a","b","indices","values","Masks","DetectionResults","boxes","detections","names","origImg","path","speed","index","ClassificationResults","probs","result","SegmentationResults","masks"],"mappings":"gFA6BO,MAAMA,CAAM,CAOf,YACoBC,EACAC,EACAC,EACAC,EAClB,CAJkB,KAAA,KAAAH,EACA,KAAA,IAAAC,EACA,KAAA,KAAAC,EACA,KAAA,UAAAC,CACjB,CAJiB,KACA,IACA,KACA,UAIpB,IAAI,QAAiB,CACjB,OAAO,KAAK,IAAI,MACpB,CAGA,IAAI,OAAmC,CACnC,MAAO,CAAC,KAAK,OAAQ,CAAC,CAC1B,CAGA,IAAI,MAAqB,CACrB,MAAMC,EAAM,IAAI,aAAa,KAAK,KAAK,MAAM,EAC7C,QAASC,EAAI,EAAGA,EAAI,KAAK,OAAQA,IAAK,CAClC,MAAMC,EAAK,KAAK,KAAKD,EAAI,CAAC,EACpBE,EAAK,KAAK,KAAKF,EAAI,EAAI,CAAC,EACxBG,EAAK,KAAK,KAAKH,EAAI,EAAI,CAAC,EACxBI,EAAK,KAAK,KAAKJ,EAAI,EAAI,CAAC,EAC9BD,EAAIC,EAAI,CAAC,GAAKC,EAAKE,GAAM,EACzBJ,EAAIC,EAAI,EAAI,CAAC,GAAKE,EAAKE,GAAM,EAC7BL,EAAIC,EAAI,EAAI,CAAC,EAAIG,EAAKF,EACtBF,EAAIC,EAAI,EAAI,CAAC,EAAII,EAAKF,CAC1B,CACA,OAAOH,CACX,CAGA,IAAI,OAAsB,CACtB,KAAM,CAACM,EAAGC,CAAC,EAAI,KAAK,UACdP,EAAM,IAAI,aAAa,KAAK,KAAK,MAAM,EAC7C,GAAI,KAAK,SAAW,GAAKO,GAAK,GAAKD,GAAK,EAAG,OAAON,EAClD,QAASC,EAAI,EAAGA,EAAI,KAAK,OAAQA,IAC7BD,EAAIC,EAAI,CAAC,EAAK,KAAK,KAAKA,EAAI,CAAC,EAAeM,EAC5CP,EAAIC,EAAI,EAAI,CAAC,EAAK,KAAK,KAAKA,EAAI,EAAI,CAAC,EAAeK,EACpDN,EAAIC,EAAI,EAAI,CAAC,EAAK,KAAK,KAAKA,EAAI,EAAI,CAAC,EAAeM,EACpDP,EAAIC,EAAI,EAAI,CAAC,EAAK,KAAK,KAAKA,EAAI,EAAI,CAAC,EAAeK,EAExD,OAAON,CACX,CAGA,IAAI,OAAsB,CACtB,MAAMQ,EAAO,KAAK,KACZ,CAACF,EAAGC,CAAC,EAAI,KAAK,UACpB,GAAI,KAAK,SAAW,GAAKA,GAAK,GAAKD,GAAK,EAAG,OAAOE,EAClD,QAASP,EAAI,EAAGA,EAAI,KAAK,OAAQA,IAC7BO,EAAKP,EAAI,CAAC,EAAKO,EAAKP,EAAI,CAAC,EAAeM,EACxCC,EAAKP,EAAI,EAAI,CAAC,EAAKO,EAAKP,EAAI,EAAI,CAAC,EAAeK,EAChDE,EAAKP,EAAI,EAAI,CAAC,EAAKO,EAAKP,EAAI,EAAI,CAAC,EAAeM,EAChDC,EAAKP,EAAI,EAAI,CAAC,EAAKO,EAAKP,EAAI,EAAI,CAAC,EAAeK,EAEpD,OAAOE,CACX,CAOA,IAAI,MAAqB,CACrB,MAAMR,EAAM,IAAI,aAAa,KAAK,OAAS,CAAC,EAC5C,QAASC,EAAI,EAAGA,EAAI,KAAK,OAAQA,IAC7BD,EAAIC,EAAI,CAAC,EAAI,KAAK,KAAKA,EAAI,CAAC,EAC5BD,EAAIC,EAAI,EAAI,CAAC,EAAI,KAAK,KAAKA,EAAI,EAAI,CAAC,EACpCD,EAAIC,EAAI,EAAI,CAAC,EAAI,KAAK,KAAKA,EAAI,EAAI,CAAC,EACpCD,EAAIC,EAAI,EAAI,CAAC,EAAI,KAAK,KAAKA,EAAI,EAAI,CAAC,EACpCD,EAAIC,EAAI,EAAI,CAAC,EAAI,KAAK,KAAKA,CAAC,EAC5BD,EAAIC,EAAI,EAAI,CAAC,EAAI,KAAK,IAAIA,CAAC,EAE/B,OAAOD,CACX,CACJ,CAOO,MAAMS,CAAM,CAEf,YAA4BC,EAAoB,CAApB,KAAA,KAAAA,CAAqB,CAArB,KAG5B,IAAI,QAAiB,CACjB,OAAO,KAAK,KAAK,MACrB,CAGA,IAAI,OAA2B,CAC3B,MAAO,CAAC,KAAK,MAAM,CACvB,CAGA,IAAI,MAAe,CACf,GAAI,KAAK,KAAK,SAAW,EAAG,MAAO,GACnC,IAAIC,EAAO,EACPC,EAAU,KAAK,KAAK,CAAC,EACzB,QAAS,EAAI,EAAG,EAAI,KAAK,KAAK,OAAQ,IAAK,CACvC,MAAMC,EAAI,KAAK,KAAK,CAAC,EACjBA,EAAID,IACJD,EAAO,EACPC,EAAUC,EAElB,CACA,OAAOF,CACX,CAGA,IAAI,UAAmB,CACnB,OAAI,KAAK,KAAK,SAAW,EAAU,EAC5B,KAAK,KAAK,KAAK,IAAI,CAC9B,CAGA,IAAI,MAAmB,CACnB,OAAO,KAAK,MAAM,CAAC,EAAE,OACzB,CAGA,IAAI,UAAyB,CACzB,OAAO,KAAK,MAAM,CAAC,EAAE,MACzB,CAEQ,MAAMG,EAA0D,CACpE,MAAMC,EAAI,KAAK,IAAID,EAAG,KAAK,KAAK,MAAM,EAChCE,EAAkB,CAAA,EACxB,QAASf,EAAI,EAAGA,EAAI,KAAK,KAAK,OAAQA,IAAKe,EAAM,KAAKf,CAAC,EACvDe,EAAM,KAAK,CAACC,EAAGC,IAAO,KAAK,KAAKA,CAAC,EAAgB,KAAK,KAAKD,CAAC,CAAY,EACxE,MAAME,EAAU,IAAI,WAAWJ,CAAC,EAC1BK,EAAS,IAAI,aAAaL,CAAC,EACjC,QAASd,EAAI,EAAGA,EAAIc,EAAGd,IACnBkB,EAAQlB,CAAC,EAAIe,EAAMf,CAAC,EACpBmB,EAAOnB,CAAC,EAAI,KAAK,KAAKe,EAAMf,CAAC,CAAW,EAE5C,MAAO,CAAE,QAAAkB,EAAS,OAAAC,CAAA,CACtB,CACJ,CAQO,MAAMC,CAAM,CAMf,YACoBX,EAKAd,EACAG,EAClB,CAPkB,KAAA,KAAAW,EAKA,KAAA,KAAAd,EACA,KAAA,UAAAG,CACjB,CAPiB,KAKA,KACA,UAIpB,IAAI,QAAiB,CACjB,OAAO,KAAK,KAAK,MACrB,CAGA,IAAI,OAA2B,CAC3B,MAAO,CAAC,KAAK,MAAM,CACvB,CAEA,CAAC,OAAO,QAAQ,GAIb,CACC,OAAO,KAAK,KAAK,OAAO,QAAQ,EAAA,CACpC,CACJ,CAiBO,MAAMuB,CAAsD,CAC/D,YACoBC,EACAC,EACAC,EACAC,EACA3B,EACA4B,EAAsB,KACtBC,EAA0C,GAC5D,CAPkB,KAAA,MAAAL,EACA,KAAA,WAAAC,EACA,KAAA,MAAAC,EACA,KAAA,QAAAC,EACA,KAAA,UAAA3B,EACA,KAAA,KAAA4B,EACA,KAAA,MAAAC,CACjB,CAPiB,MACA,WACA,MACA,QACA,UACA,KACA,MAIpB,IAAI,QAAiB,CACjB,OAAO,KAAK,WAAW,MAC3B,CAGA,IAAIC,EAA4C,CAC5C,OAAO,KAAK,WAAWA,CAAK,CAChC,CAEA,CAAC,OAAO,QAAQ,GAA+B,CAC3C,OAAO,KAAK,WAAW,OAAO,QAAQ,EAAA,CAC1C,CACJ,CAKO,MAAMC,CAAsB,CAC/B,YACoBC,EACAC,EACAP,EACAC,EACA3B,EACA4B,EAAsB,KACtBC,EAA0C,GAC5D,CAPkB,KAAA,MAAAG,EACA,KAAA,OAAAC,EACA,KAAA,MAAAP,EACA,KAAA,QAAAC,EACA,KAAA,UAAA3B,EACA,KAAA,KAAA4B,EACA,KAAA,MAAAC,CACjB,CAPiB,MACA,OACA,MACA,QACA,UACA,KACA,MAIpB,IAAI,KAAc,CACd,OAAO,KAAK,MAAM,IACtB,CAGA,IAAI,MAAe,CACf,OAAO,KAAK,MAAM,QACtB,CAGA,IAAI,MAAe,CACf,OAAO,KAAK,MAAM,KAAK,GAAG,GAAK,SAAS,KAAK,GAAG,EACpD,CAGA,IAAI,eAA0E,CAC1E,OAAO,KAAK,OAAO,aACvB,CACJ,CAQO,MAAMK,CAA4D,CACrE,YACoBV,EACAW,EACAV,EACAC,EACAC,EACA3B,EACA4B,EAAsB,KACtBC,EAA0C,CAAA,EAC5D,CARkB,KAAA,MAAAL,EACA,KAAA,MAAAW,EACA,KAAA,WAAAV,EACA,KAAA,MAAAC,EACA,KAAA,QAAAC,EACA,KAAA,UAAA3B,EACA,KAAA,KAAA4B,EACA,KAAA,MAAAC,CACjB,CARiB,MACA,MACA,WACA,MACA,QACA,UACA,KACA,MAIpB,IAAI,QAAiB,CACjB,OAAO,KAAK,WAAW,MAC3B,CAGA,IAAIC,EAA+C,CAC/C,OAAO,KAAK,WAAWA,CAAK,CAChC,CAEA,CAAC,OAAO,QAAQ,GAAkC,CAC9C,OAAO,KAAK,WAAW,OAAO,QAAQ,EAAA,CAC1C,CACJ"}
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
class l {
|
|
2
|
+
/**
|
|
3
|
+
* @param xyxy Flat array of length `4 * N` in `[x1, y1, x2, y2, ...]` order.
|
|
4
|
+
* @param cls One class index per box, length `N`.
|
|
5
|
+
* @param conf One confidence per box, length `N`.
|
|
6
|
+
* @param origShape `[height, width]` of the original image.
|
|
7
|
+
*/
|
|
8
|
+
constructor(s, t, i, e) {
|
|
9
|
+
this.xyxy = s, this.cls = t, this.conf = i, this.origShape = e;
|
|
10
|
+
}
|
|
11
|
+
xyxy;
|
|
12
|
+
cls;
|
|
13
|
+
conf;
|
|
14
|
+
origShape;
|
|
15
|
+
/** Number of detected boxes. */
|
|
16
|
+
get length() {
|
|
17
|
+
return this.cls.length;
|
|
18
|
+
}
|
|
19
|
+
/** `[N, 4]` shape of the `xyxy` view. */
|
|
20
|
+
get shape() {
|
|
21
|
+
return [this.length, 4];
|
|
22
|
+
}
|
|
23
|
+
/** Boxes as `[N, 4]` `[cx, cy, w, h]` flat array in absolute pixels. */
|
|
24
|
+
get xywh() {
|
|
25
|
+
const s = new Float32Array(this.xyxy.length);
|
|
26
|
+
for (let t = 0; t < this.length; t++) {
|
|
27
|
+
const i = this.xyxy[t * 4], e = this.xyxy[t * 4 + 1], r = this.xyxy[t * 4 + 2], h = this.xyxy[t * 4 + 3];
|
|
28
|
+
s[t * 4] = (i + r) / 2, s[t * 4 + 1] = (e + h) / 2, s[t * 4 + 2] = r - i, s[t * 4 + 3] = h - e;
|
|
29
|
+
}
|
|
30
|
+
return s;
|
|
31
|
+
}
|
|
32
|
+
/** Boxes as `[N, 4]` `[x1, y1, x2, y2]` normalized to `[0, 1]`. */
|
|
33
|
+
get xyxyn() {
|
|
34
|
+
const [s, t] = this.origShape, i = new Float32Array(this.xyxy.length);
|
|
35
|
+
if (this.length === 0 || t <= 0 || s <= 0) return i;
|
|
36
|
+
for (let e = 0; e < this.length; e++)
|
|
37
|
+
i[e * 4] = this.xyxy[e * 4] / t, i[e * 4 + 1] = this.xyxy[e * 4 + 1] / s, i[e * 4 + 2] = this.xyxy[e * 4 + 2] / t, i[e * 4 + 3] = this.xyxy[e * 4 + 3] / s;
|
|
38
|
+
return i;
|
|
39
|
+
}
|
|
40
|
+
/** Boxes as `[N, 4]` `[cx, cy, w, h]` normalized to `[0, 1]`. */
|
|
41
|
+
get xywhn() {
|
|
42
|
+
const s = this.xywh, [t, i] = this.origShape;
|
|
43
|
+
if (this.length === 0 || i <= 0 || t <= 0) return s;
|
|
44
|
+
for (let e = 0; e < this.length; e++)
|
|
45
|
+
s[e * 4] = s[e * 4] / i, s[e * 4 + 1] = s[e * 4 + 1] / t, s[e * 4 + 2] = s[e * 4 + 2] / i, s[e * 4 + 3] = s[e * 4 + 3] / t;
|
|
46
|
+
return s;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Concatenated `[N, 6]` array of `[x1, y1, x2, y2, conf, cls]`.
|
|
50
|
+
*
|
|
51
|
+
* Matches Ultralytics' `boxes.data`.
|
|
52
|
+
*/
|
|
53
|
+
get data() {
|
|
54
|
+
const s = new Float32Array(this.length * 6);
|
|
55
|
+
for (let t = 0; t < this.length; t++)
|
|
56
|
+
s[t * 6] = this.xyxy[t * 4], s[t * 6 + 1] = this.xyxy[t * 4 + 1], s[t * 6 + 2] = this.xyxy[t * 4 + 2], s[t * 6 + 3] = this.xyxy[t * 4 + 3], s[t * 6 + 4] = this.conf[t], s[t * 6 + 5] = this.cls[t];
|
|
57
|
+
return s;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
class g {
|
|
61
|
+
/** @param data `[numClasses]` per-class probabilities, indexed by class id. */
|
|
62
|
+
constructor(s) {
|
|
63
|
+
this.data = s;
|
|
64
|
+
}
|
|
65
|
+
data;
|
|
66
|
+
/** Number of classes. */
|
|
67
|
+
get length() {
|
|
68
|
+
return this.data.length;
|
|
69
|
+
}
|
|
70
|
+
/** `[numClasses]` shape of the underlying vector. */
|
|
71
|
+
get shape() {
|
|
72
|
+
return [this.length];
|
|
73
|
+
}
|
|
74
|
+
/** Index of the most probable class. */
|
|
75
|
+
get top1() {
|
|
76
|
+
if (this.data.length === 0) return 0;
|
|
77
|
+
let s = 0, t = this.data[0];
|
|
78
|
+
for (let i = 1; i < this.data.length; i++) {
|
|
79
|
+
const e = this.data[i];
|
|
80
|
+
e > t && (s = i, t = e);
|
|
81
|
+
}
|
|
82
|
+
return s;
|
|
83
|
+
}
|
|
84
|
+
/** Probability of the top-1 class. */
|
|
85
|
+
get top1conf() {
|
|
86
|
+
return this.data.length === 0 ? 0 : this.data[this.top1];
|
|
87
|
+
}
|
|
88
|
+
/** Indices of the top-5 most probable classes, descending. */
|
|
89
|
+
get top5() {
|
|
90
|
+
return this._topK(5).indices;
|
|
91
|
+
}
|
|
92
|
+
/** Probabilities of the top-5 classes, descending. */
|
|
93
|
+
get top5conf() {
|
|
94
|
+
return this._topK(5).values;
|
|
95
|
+
}
|
|
96
|
+
_topK(s) {
|
|
97
|
+
const t = Math.min(s, this.data.length), i = [];
|
|
98
|
+
for (let h = 0; h < this.data.length; h++) i.push(h);
|
|
99
|
+
i.sort((h, n) => this.data[n] - this.data[h]);
|
|
100
|
+
const e = new Int32Array(t), r = new Float32Array(t);
|
|
101
|
+
for (let h = 0; h < t; h++)
|
|
102
|
+
e[h] = i[h], r[h] = this.data[i[h]];
|
|
103
|
+
return { indices: e, values: r };
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
class c {
|
|
107
|
+
/**
|
|
108
|
+
* @param data Per-instance binary masks (`Mask` objects from `types.ts`).
|
|
109
|
+
* @param xyxy Flat `[N, 4]` of bounding-box coordinates in original pixels.
|
|
110
|
+
* @param origShape `[height, width]` of the original image.
|
|
111
|
+
*/
|
|
112
|
+
constructor(s, t, i) {
|
|
113
|
+
this.data = s, this.xyxy = t, this.origShape = i;
|
|
114
|
+
}
|
|
115
|
+
data;
|
|
116
|
+
xyxy;
|
|
117
|
+
origShape;
|
|
118
|
+
/** Number of instance masks. */
|
|
119
|
+
get length() {
|
|
120
|
+
return this.data.length;
|
|
121
|
+
}
|
|
122
|
+
/** `[N]` shape of the masks collection. */
|
|
123
|
+
get shape() {
|
|
124
|
+
return [this.length];
|
|
125
|
+
}
|
|
126
|
+
[Symbol.iterator]() {
|
|
127
|
+
return this.data[Symbol.iterator]();
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
class y {
|
|
131
|
+
constructor(s, t, i, e, r, h = null, n = {}) {
|
|
132
|
+
this.boxes = s, this.detections = t, this.names = i, this.origImg = e, this.origShape = r, this.path = h, this.speed = n;
|
|
133
|
+
}
|
|
134
|
+
boxes;
|
|
135
|
+
detections;
|
|
136
|
+
names;
|
|
137
|
+
origImg;
|
|
138
|
+
origShape;
|
|
139
|
+
path;
|
|
140
|
+
speed;
|
|
141
|
+
/** Number of surviving detections. */
|
|
142
|
+
get length() {
|
|
143
|
+
return this.detections.length;
|
|
144
|
+
}
|
|
145
|
+
/** Index into the per-instance detections. */
|
|
146
|
+
get(s) {
|
|
147
|
+
return this.detections[s];
|
|
148
|
+
}
|
|
149
|
+
[Symbol.iterator]() {
|
|
150
|
+
return this.detections[Symbol.iterator]();
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
class u {
|
|
154
|
+
constructor(s, t, i, e, r, h = null, n = {}) {
|
|
155
|
+
this.probs = s, this.result = t, this.names = i, this.origImg = e, this.origShape = r, this.path = h, this.speed = n;
|
|
156
|
+
}
|
|
157
|
+
probs;
|
|
158
|
+
result;
|
|
159
|
+
names;
|
|
160
|
+
origImg;
|
|
161
|
+
origShape;
|
|
162
|
+
path;
|
|
163
|
+
speed;
|
|
164
|
+
/** Top-1 class index (Ultralytics-style alias). */
|
|
165
|
+
get cls() {
|
|
166
|
+
return this.probs.top1;
|
|
167
|
+
}
|
|
168
|
+
/** Top-1 confidence (Ultralytics-style alias). */
|
|
169
|
+
get conf() {
|
|
170
|
+
return this.probs.top1conf;
|
|
171
|
+
}
|
|
172
|
+
/** Top-1 class name. */
|
|
173
|
+
get name() {
|
|
174
|
+
return this.names[this.cls] ?? `class_${this.cls}`;
|
|
175
|
+
}
|
|
176
|
+
/** Per-class probability list, sorted descending (legacy field). */
|
|
177
|
+
get probabilities() {
|
|
178
|
+
return this.result.probabilities;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
class x {
|
|
182
|
+
constructor(s, t, i, e, r, h, n = null, a = {}) {
|
|
183
|
+
this.boxes = s, this.masks = t, this.detections = i, this.names = e, this.origImg = r, this.origShape = h, this.path = n, this.speed = a;
|
|
184
|
+
}
|
|
185
|
+
boxes;
|
|
186
|
+
masks;
|
|
187
|
+
detections;
|
|
188
|
+
names;
|
|
189
|
+
origImg;
|
|
190
|
+
origShape;
|
|
191
|
+
path;
|
|
192
|
+
speed;
|
|
193
|
+
/** Number of surviving instances. */
|
|
194
|
+
get length() {
|
|
195
|
+
return this.detections.length;
|
|
196
|
+
}
|
|
197
|
+
/** Index into the per-instance results. */
|
|
198
|
+
get(s) {
|
|
199
|
+
return this.detections[s];
|
|
200
|
+
}
|
|
201
|
+
[Symbol.iterator]() {
|
|
202
|
+
return this.detections[Symbol.iterator]();
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
export {
|
|
206
|
+
l as Boxes,
|
|
207
|
+
u as ClassificationResults,
|
|
208
|
+
y as DetectionResults,
|
|
209
|
+
c as Masks,
|
|
210
|
+
g as Probs,
|
|
211
|
+
x as SegmentationResults
|
|
212
|
+
};
|
|
213
|
+
//# sourceMappingURL=results.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"results.js","sources":["../../src/vision/results.ts"],"sourcesContent":["/**\n * Per-image result envelopes — Ultralytics-style `Results` for the SDK.\n *\n * Each `predict()` call returns a 1-element array of these envelopes,\n * mirroring `YOLO(\"img.jpg\")`. Each envelope holds:\n *\n * - A bulk-array view of the predictions (`Boxes`, `Probs`, `Masks`) with\n * the exact attribute names Ultralytics uses (`xyxy`, `xywh`, `xyxyn`,\n * `xywhn`, `cls`, `conf`, `data`, `top1`, `top5`).\n * - Per-instance dataclasses (`DetectionResult`, `SegmentationResult`,\n * `ClassProbability`) for callers who prefer the OO interface.\n * - `names`: `Record<number, string>` matching Ultralytics' `model.names`.\n * - `origImg` / `origShape` / `path`: provenance for the original input.\n */\n\nimport {\n type ClassificationResult,\n type DetectionResult,\n type RGBImage,\n type SegmentationResult,\n} from \"./types\";\n\n/**\n * Bulk numpy-style view of detected boxes for a single image.\n *\n * Mirrors Ultralytics' `Boxes` interface. Coordinates in {@link xyxy} and\n * {@link xywh} are absolute pixels in the original image; the `*n` variants\n * are normalized to `[0, 1]` using `origShape`.\n */\nexport class Boxes {\n /**\n * @param xyxy Flat array of length `4 * N` in `[x1, y1, x2, y2, ...]` order.\n * @param cls One class index per box, length `N`.\n * @param conf One confidence per box, length `N`.\n * @param origShape `[height, width]` of the original image.\n */\n constructor(\n public readonly xyxy: Float32Array,\n public readonly cls: Int32Array,\n public readonly conf: Float32Array,\n public readonly origShape: readonly [number, number],\n ) {}\n\n /** Number of detected boxes. */\n get length(): number {\n return this.cls.length;\n }\n\n /** `[N, 4]` shape of the `xyxy` view. */\n get shape(): readonly [number, number] {\n return [this.length, 4];\n }\n\n /** Boxes as `[N, 4]` `[cx, cy, w, h]` flat array in absolute pixels. */\n get xywh(): Float32Array {\n const out = new Float32Array(this.xyxy.length);\n for (let i = 0; i < this.length; i++) {\n const x1 = this.xyxy[i * 4] as number;\n const y1 = this.xyxy[i * 4 + 1] as number;\n const x2 = this.xyxy[i * 4 + 2] as number;\n const y2 = this.xyxy[i * 4 + 3] as number;\n out[i * 4] = (x1 + x2) / 2;\n out[i * 4 + 1] = (y1 + y2) / 2;\n out[i * 4 + 2] = x2 - x1;\n out[i * 4 + 3] = y2 - y1;\n }\n return out;\n }\n\n /** Boxes as `[N, 4]` `[x1, y1, x2, y2]` normalized to `[0, 1]`. */\n get xyxyn(): Float32Array {\n const [h, w] = this.origShape;\n const out = new Float32Array(this.xyxy.length);\n if (this.length === 0 || w <= 0 || h <= 0) return out;\n for (let i = 0; i < this.length; i++) {\n out[i * 4] = (this.xyxy[i * 4] as number) / w;\n out[i * 4 + 1] = (this.xyxy[i * 4 + 1] as number) / h;\n out[i * 4 + 2] = (this.xyxy[i * 4 + 2] as number) / w;\n out[i * 4 + 3] = (this.xyxy[i * 4 + 3] as number) / h;\n }\n return out;\n }\n\n /** Boxes as `[N, 4]` `[cx, cy, w, h]` normalized to `[0, 1]`. */\n get xywhn(): Float32Array {\n const xywh = this.xywh;\n const [h, w] = this.origShape;\n if (this.length === 0 || w <= 0 || h <= 0) return xywh;\n for (let i = 0; i < this.length; i++) {\n xywh[i * 4] = (xywh[i * 4] as number) / w;\n xywh[i * 4 + 1] = (xywh[i * 4 + 1] as number) / h;\n xywh[i * 4 + 2] = (xywh[i * 4 + 2] as number) / w;\n xywh[i * 4 + 3] = (xywh[i * 4 + 3] as number) / h;\n }\n return xywh;\n }\n\n /**\n * Concatenated `[N, 6]` array of `[x1, y1, x2, y2, conf, cls]`.\n *\n * Matches Ultralytics' `boxes.data`.\n */\n get data(): Float32Array {\n const out = new Float32Array(this.length * 6);\n for (let i = 0; i < this.length; i++) {\n out[i * 6] = this.xyxy[i * 4] as number;\n out[i * 6 + 1] = this.xyxy[i * 4 + 1] as number;\n out[i * 6 + 2] = this.xyxy[i * 4 + 2] as number;\n out[i * 6 + 3] = this.xyxy[i * 4 + 3] as number;\n out[i * 6 + 4] = this.conf[i] as number;\n out[i * 6 + 5] = this.cls[i] as number;\n }\n return out;\n }\n}\n\n/**\n * Top-k classification probabilities for a single image.\n *\n * Mirrors Ultralytics' `Probs` interface.\n */\nexport class Probs {\n /** @param data `[numClasses]` per-class probabilities, indexed by class id. */\n constructor(public readonly data: Float32Array) {}\n\n /** Number of classes. */\n get length(): number {\n return this.data.length;\n }\n\n /** `[numClasses]` shape of the underlying vector. */\n get shape(): readonly [number] {\n return [this.length];\n }\n\n /** Index of the most probable class. */\n get top1(): number {\n if (this.data.length === 0) return 0;\n let best = 0;\n let bestVal = this.data[0] as number;\n for (let i = 1; i < this.data.length; i++) {\n const v = this.data[i] as number;\n if (v > bestVal) {\n best = i;\n bestVal = v;\n }\n }\n return best;\n }\n\n /** Probability of the top-1 class. */\n get top1conf(): number {\n if (this.data.length === 0) return 0;\n return this.data[this.top1] as number;\n }\n\n /** Indices of the top-5 most probable classes, descending. */\n get top5(): Int32Array {\n return this._topK(5).indices;\n }\n\n /** Probabilities of the top-5 classes, descending. */\n get top5conf(): Float32Array {\n return this._topK(5).values;\n }\n\n private _topK(k: number): { indices: Int32Array; values: Float32Array } {\n const n = Math.min(k, this.data.length);\n const order: number[] = [];\n for (let i = 0; i < this.data.length; i++) order.push(i);\n order.sort((a, b) => (this.data[b] as number) - (this.data[a] as number));\n const indices = new Int32Array(n);\n const values = new Float32Array(n);\n for (let i = 0; i < n; i++) {\n indices[i] = order[i] as number;\n values[i] = this.data[order[i] as number] as number;\n }\n return { indices, values };\n }\n}\n\n/**\n * Per-instance binary masks for a single image.\n *\n * Each mask is cropped to its instance's bounding box. To paint masks onto\n * a full-image canvas, use `xyxy[i]` as the top-left target.\n */\nexport class Masks {\n /**\n * @param data Per-instance binary masks (`Mask` objects from `types.ts`).\n * @param xyxy Flat `[N, 4]` of bounding-box coordinates in original pixels.\n * @param origShape `[height, width]` of the original image.\n */\n constructor(\n public readonly data: ReadonlyArray<{\n readonly data: Uint8Array;\n readonly width: number;\n readonly height: number;\n }>,\n public readonly xyxy: Float32Array,\n public readonly origShape: readonly [number, number],\n ) {}\n\n /** Number of instance masks. */\n get length(): number {\n return this.data.length;\n }\n\n /** `[N]` shape of the masks collection. */\n get shape(): readonly [number] {\n return [this.length];\n }\n\n [Symbol.iterator](): Iterator<{\n readonly data: Uint8Array;\n readonly width: number;\n readonly height: number;\n }> {\n return this.data[Symbol.iterator]();\n }\n}\n\n/**\n * Per-image detection envelope (Ultralytics-style `Results`).\n *\n * Iterating yields per-instance {@link DetectionResult} entries, so legacy\n * code that did `for (const d of detector.predict(img))` only needs an\n * extra `[0]` to bridge:\n *\n * ```typescript\n * for (const d of (await detector.predict(img))[0]) {\n * console.log(d.cls, d.conf, d.box.xyxy);\n * }\n * ```\n *\n * For numpy-style bulk access, use the `boxes` collection.\n */\nexport class DetectionResults implements Iterable<DetectionResult> {\n constructor(\n public readonly boxes: Boxes,\n public readonly detections: readonly DetectionResult[],\n public readonly names: Readonly<Record<number, string>>,\n public readonly origImg: RGBImage,\n public readonly origShape: readonly [number, number],\n public readonly path: string | null = null,\n public readonly speed: Readonly<Record<string, number>> = {},\n ) {}\n\n /** Number of surviving detections. */\n get length(): number {\n return this.detections.length;\n }\n\n /** Index into the per-instance detections. */\n get(index: number): DetectionResult | undefined {\n return this.detections[index];\n }\n\n [Symbol.iterator](): Iterator<DetectionResult> {\n return this.detections[Symbol.iterator]();\n }\n}\n\n/**\n * Per-image classification envelope (Ultralytics-style `Results`).\n */\nexport class ClassificationResults {\n constructor(\n public readonly probs: Probs,\n public readonly result: ClassificationResult,\n public readonly names: Readonly<Record<number, string>>,\n public readonly origImg: RGBImage,\n public readonly origShape: readonly [number, number],\n public readonly path: string | null = null,\n public readonly speed: Readonly<Record<string, number>> = {},\n ) {}\n\n /** Top-1 class index (Ultralytics-style alias). */\n get cls(): number {\n return this.probs.top1;\n }\n\n /** Top-1 confidence (Ultralytics-style alias). */\n get conf(): number {\n return this.probs.top1conf;\n }\n\n /** Top-1 class name. */\n get name(): string {\n return this.names[this.cls] ?? `class_${this.cls}`;\n }\n\n /** Per-class probability list, sorted descending (legacy field). */\n get probabilities(): readonly ClassificationResult[\"probabilities\"][number][] {\n return this.result.probabilities;\n }\n}\n\n/**\n * Per-image instance-segmentation envelope (Ultralytics-style `Results`).\n *\n * Iterating yields per-instance {@link SegmentationResult} entries. `boxes`\n * and `masks` mirror Ultralytics' bulk-array views.\n */\nexport class SegmentationResults implements Iterable<SegmentationResult> {\n constructor(\n public readonly boxes: Boxes,\n public readonly masks: Masks,\n public readonly detections: readonly SegmentationResult[],\n public readonly names: Readonly<Record<number, string>>,\n public readonly origImg: RGBImage,\n public readonly origShape: readonly [number, number],\n public readonly path: string | null = null,\n public readonly speed: Readonly<Record<string, number>> = {},\n ) {}\n\n /** Number of surviving instances. */\n get length(): number {\n return this.detections.length;\n }\n\n /** Index into the per-instance results. */\n get(index: number): SegmentationResult | undefined {\n return this.detections[index];\n }\n\n [Symbol.iterator](): Iterator<SegmentationResult> {\n return this.detections[Symbol.iterator]();\n }\n}\n"],"names":["Boxes","xyxy","cls","conf","origShape","out","i","x1","y1","x2","y2","h","w","xywh","Probs","data","best","bestVal","v","k","n","order","a","b","indices","values","Masks","DetectionResults","boxes","detections","names","origImg","path","speed","index","ClassificationResults","probs","result","SegmentationResults","masks"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.cjs","sources":["../../../src/vision/tasks/base.ts"],"sourcesContent":["/**\n * Common foundation for task-oriented vision SDK objects.\n *\n * The base only owns the {@link OrtSession} — label resolution lives in each\n * subclass because how `numClasses` is read from the model differs per task.\n */\n\nimport type { OrtSession } from \"../core/session\";\n\nexport abstract class VisionTask {\n protected constructor(protected readonly _session: OrtSession) {}\n\n /** The underlying {@link OrtSession} used to run inference. */\n get session(): OrtSession {\n return this._session;\n }\n}\n"],"names":["VisionTask","_session"],"mappings":"gFASO,MAAeA,CAAW,CACnB,YAA+BC,EAAsB,CAAtB,KAAA,SAAAA,CAAuB,CAAvB,SAGzC,IAAI,SAAsB,CACtB,OAAO,KAAK,QAChB,CACJ"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
class o {
|
|
2
|
+
constructor(s) {
|
|
3
|
+
this._session = s;
|
|
4
|
+
}
|
|
5
|
+
_session;
|
|
6
|
+
/** The underlying {@link OrtSession} used to run inference. */
|
|
7
|
+
get session() {
|
|
8
|
+
return this._session;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export {
|
|
12
|
+
o as VisionTask
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sources":["../../../src/vision/tasks/base.ts"],"sourcesContent":["/**\n * Common foundation for task-oriented vision SDK objects.\n *\n * The base only owns the {@link OrtSession} — label resolution lives in each\n * subclass because how `numClasses` is read from the model differs per task.\n */\n\nimport type { OrtSession } from \"../core/session\";\n\nexport abstract class VisionTask {\n protected constructor(protected readonly _session: OrtSession) {}\n\n /** The underlying {@link OrtSession} used to run inference. */\n get session(): OrtSession {\n return this._session;\n }\n}\n"],"names":["VisionTask","_session"],"mappings":"AASO,MAAeA,EAAW;AAAA,EACnB,YAA+BC,GAAsB;AAAtB,SAAA,WAAAA;AAAA,EAAuB;AAAA,EAAvB;AAAA;AAAA,EAGzC,IAAI,UAAsB;AACtB,WAAO,KAAK;AAAA,EAChB;AACJ;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const N=require("../core/session.cjs"),C=require("../io/image.cjs"),z=require("../labels.cjs"),g=require("../postprocess/classification.cjs"),h=require("../preprocess/image.cjs"),w=require("../results.cjs"),E=require("./base.cjs"),q=[.485,.456,.406],I=[.229,.224,.225];class p extends E.VisionTask{constructor(e,t,a,s,n,i,o){super(e),this._labels=t,this._names=a,this._inputSize=s,this._mean=n,this._std=i,this._applySoftmax=o}_labels;_names;_inputSize;_mean;_std;_applySoftmax;static async create(e,t){const a=await N.OrtSession.create(e,t),s=z.resolveLabels(t.labels,{numClasses:t.numClasses}),n={};for(let i=0;i<s.length;i++)n[i]=s[i];return new p(a,s,n,t.inputSize??[224,224],t.mean??q,t.std??I,t.applySoftmax??!0)}get labels(){return this._labels}get names(){return this._names}get numClasses(){return this._labels.length}async call(e,t={}){return this.predict(e,t)}async predict(e,t={}){const a=typeof e=="string"?e:null,s=await C.loadImage(e),n=this._preprocess(s),i=await this._session.run({[this._session.inputName]:n}),o=this._session.outputNames[0];if(o===void 0)throw new Error("Classifier model has no outputs.");const m=i[o];if(m===void 0)throw new Error(`Classifier model output ${o} missing from run() result.`);const _=this._postprocess(m.data),{indices:d,values:b}=g.topK(_,t.topK??null),c=[];for(let l=0;l<d.length;l++){const u=d[l],f=this._labels[u]??`class_${u}`;c.push({classId:u,className:f,probability:b[l],cls:u,name:f,conf:b[l]})}if(c.length===0)throw new Error("Classifier produced no probabilities (empty output).");const r=c[0],y={classId:r.classId,className:r.className,confidence:r.probability,cls:r.classId,name:r.className,conf:r.probability,image:s,probabilities:c},S=[s.height,s.width];return[new w.ClassificationResults(new w.Probs(_),y,this._names,s,S,a)]}_preprocess(e){const[t,a]=this._inputSize,s=h.resize(e,t,a),n=h.normalize(s,this._mean,this._std),i=h.toCHW(n,s.width,s.height,3);return h.toFloat32Tensor(i,[1,3,s.height,s.width])}_postprocess(e){return this._applySoftmax?g.softmax(e):new Float32Array(e)}}exports.Classifier=p;
|
|
2
|
+
//# sourceMappingURL=classifier.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classifier.cjs","sources":["../../../src/vision/tasks/classifier.ts"],"sourcesContent":["/**\n * Image classification task using ONNX Runtime Web.\n */\n\nimport type * as ort from \"onnxruntime-web\";\n\nimport { type ModelSource, type OrtSessionOptions, OrtSession } from \"../core/session\";\nimport { type ImageInput, loadImage } from \"../io/image\";\nimport { type LabelSpec, resolveLabels } from \"../labels\";\nimport { softmax, topK } from \"../postprocess/classification\";\nimport { normalize, resize, toCHW, toFloat32Tensor } from \"../preprocess/image\";\nimport { ClassificationResults, Probs } from \"../results\";\nimport { VisionTask } from \"./base\";\nimport { type ClassProbability, type ClassificationResult, type RGBImage } from \"../types\";\n\nconst IMAGENET_MEAN: readonly [number, number, number] = [0.485, 0.456, 0.406];\nconst IMAGENET_STD: readonly [number, number, number] = [0.229, 0.224, 0.225];\n\nexport interface ClassifierOptions extends OrtSessionOptions {\n /** Class label spec — see {@link resolveLabels}. */\n readonly labels: LabelSpec;\n /**\n * Number of classes the model can predict. Required when `labels` is `null`\n * or when you want to validate that the supplied labels match the model.\n */\n readonly numClasses?: number;\n /** Model input `[width, height]` in pixels. Defaults to `[224, 224]`. */\n readonly inputSize?: readonly [number, number];\n /** Per-channel RGB mean used for normalization. Defaults to ImageNet. */\n readonly mean?: readonly [number, number, number];\n /** Per-channel RGB standard deviation. Defaults to ImageNet. */\n readonly std?: readonly [number, number, number];\n /**\n * If `true` (default), apply softmax to the raw model output. Set to\n * `false` for models whose final layer already produces a probability\n * distribution.\n */\n readonly applySoftmax?: boolean;\n}\n\nexport interface ClassifierPredictOptions {\n /**\n * If set, the per-class probability list in `results[0].result.probabilities`\n * is truncated to the top-K entries. The bulk `probs` view always exposes\n * the full vector.\n */\n readonly topK?: number;\n}\n\n/**\n * Image classifier wrapping an ONNX model with ImageNet-style preprocessing.\n *\n * `predict()` returns `Promise<ClassificationResults[]>` (length 1 for a\n * single image), mirroring Ultralytics' API. The envelope exposes a `probs`\n * collection (`top1`, `top1conf`, `top5`, `top5conf`, `data`) plus the\n * legacy per-class probability list with names already resolved.\n *\n * Defaults: 224×224 RGB input, `float32` normalized with ImageNet mean/std,\n * NCHW layout, batch size 1, softmax applied to the raw output.\n *\n * @example\n * ```typescript\n * const clf = await Classifier.create(\"/models/resnet50.onnx\", {\n * labels: [\"tench\", \"goldfish\", ...] // 1000 ImageNet labels\n * });\n * const r = (await clf.predict(\"/images/dog.jpg\"))[0];\n * console.log(r.cls, r.conf, r.name);\n * console.log(r.probs.top5, r.probs.top5conf);\n * ```\n */\nexport class Classifier extends VisionTask {\n private constructor(\n session: OrtSession,\n private readonly _labels: readonly string[],\n private readonly _names: Readonly<Record<number, string>>,\n private readonly _inputSize: readonly [number, number],\n private readonly _mean: readonly [number, number, number],\n private readonly _std: readonly [number, number, number],\n private readonly _applySoftmax: boolean,\n ) {\n super(session);\n }\n\n /** Load the model and resolve labels. */\n static async create(model: ModelSource, options: ClassifierOptions): Promise<Classifier> {\n const session = await OrtSession.create(model, options);\n const labels = resolveLabels(options.labels, { numClasses: options.numClasses });\n const names: Record<number, string> = {};\n for (let i = 0; i < labels.length; i++) {\n names[i] = labels[i] as string;\n }\n return new Classifier(\n session,\n labels,\n names,\n options.inputSize ?? [224, 224],\n options.mean ?? IMAGENET_MEAN,\n options.std ?? IMAGENET_STD,\n options.applySoftmax ?? true,\n );\n }\n\n /** Class labels indexed by class id. */\n get labels(): readonly string[] {\n return this._labels;\n }\n\n /** Class id → class name dict (matches Ultralytics' `model.names`). */\n get names(): Readonly<Record<number, string>> {\n return this._names;\n }\n\n /** Number of classes the model can predict. */\n get numClasses(): number {\n return this._labels.length;\n }\n\n /** Alias for {@link predict} (parity with PyTorch `nn.Module.__call__`). */\n async call(\n image: ImageInput,\n options: ClassifierPredictOptions = {},\n ): Promise<ClassificationResults[]> {\n return this.predict(image, options);\n }\n\n /** Run classification on a single image. */\n async predict(\n image: ImageInput,\n options: ClassifierPredictOptions = {},\n ): Promise<ClassificationResults[]> {\n const path = typeof image === \"string\" ? image : null;\n const original = await loadImage(image);\n const tensor = this._preprocess(original);\n const outputs = await this._session.run({ [this._session.inputName]: tensor });\n const firstOutputName = this._session.outputNames[0];\n if (firstOutputName === undefined) {\n throw new Error(\"Classifier model has no outputs.\");\n }\n const raw = outputs[firstOutputName];\n if (raw === undefined) {\n throw new Error(\n `Classifier model output ${firstOutputName} missing from run() result.`,\n );\n }\n const fullProbs = this._postprocess(raw.data as Float32Array);\n\n const { indices, values } = topK(fullProbs, options.topK ?? null);\n const probabilities: ClassProbability[] = [];\n for (let i = 0; i < indices.length; i++) {\n const id = indices[i] as number;\n const className = this._labels[id] ?? `class_${id}`;\n probabilities.push({\n classId: id,\n className,\n probability: values[i] as number,\n cls: id,\n name: className,\n conf: values[i] as number,\n });\n }\n if (probabilities.length === 0) {\n throw new Error(\"Classifier produced no probabilities (empty output).\");\n }\n\n const top = probabilities[0] as ClassProbability;\n const result: ClassificationResult = {\n classId: top.classId,\n className: top.className,\n confidence: top.probability,\n cls: top.classId,\n name: top.className,\n conf: top.probability,\n image: original,\n probabilities,\n };\n\n const orig: readonly [number, number] = [original.height, original.width];\n return [\n new ClassificationResults(\n new Probs(fullProbs),\n result,\n this._names,\n original,\n orig,\n path,\n ),\n ];\n }\n\n private _preprocess(image: RGBImage): ort.Tensor {\n const [tw, th] = this._inputSize;\n const resized = resize(image, tw, th);\n const normalized = normalize(resized, this._mean, this._std);\n const chw = toCHW(normalized, resized.width, resized.height, 3);\n return toFloat32Tensor(chw, [1, 3, resized.height, resized.width]);\n }\n\n private _postprocess(raw: Float32Array): Float32Array {\n return this._applySoftmax ? softmax(raw) : new Float32Array(raw);\n }\n}\n"],"names":["IMAGENET_MEAN","IMAGENET_STD","Classifier","VisionTask","session","_labels","_names","_inputSize","_mean","_std","_applySoftmax","model","options","OrtSession","labels","resolveLabels","names","image","path","original","loadImage","tensor","outputs","firstOutputName","raw","fullProbs","indices","values","topK","probabilities","i","id","className","top","result","orig","ClassificationResults","Probs","tw","th","resized","resize","normalized","normalize","chw","toCHW","toFloat32Tensor","softmax"],"mappings":"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"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { OrtSession as g } from "../core/session.js";
|
|
2
|
+
import { loadImage as y } from "../io/image.js";
|
|
3
|
+
import { resolveLabels as N } from "../labels.js";
|
|
4
|
+
import { topK as S, softmax as z } from "../postprocess/classification.js";
|
|
5
|
+
import { resize as C, normalize as E, toCHW as x, toFloat32Tensor as I } from "../preprocess/image.js";
|
|
6
|
+
import { ClassificationResults as T, Probs as v } from "../results.js";
|
|
7
|
+
import { VisionTask as A } from "./base.js";
|
|
8
|
+
const M = [0.485, 0.456, 0.406], F = [0.229, 0.224, 0.225];
|
|
9
|
+
class d extends A {
|
|
10
|
+
constructor(e, t, r, s, i, o, n) {
|
|
11
|
+
super(e), this._labels = t, this._names = r, this._inputSize = s, this._mean = i, this._std = o, this._applySoftmax = n;
|
|
12
|
+
}
|
|
13
|
+
_labels;
|
|
14
|
+
_names;
|
|
15
|
+
_inputSize;
|
|
16
|
+
_mean;
|
|
17
|
+
_std;
|
|
18
|
+
_applySoftmax;
|
|
19
|
+
/** Load the model and resolve labels. */
|
|
20
|
+
static async create(e, t) {
|
|
21
|
+
const r = await g.create(e, t), s = N(t.labels, { numClasses: t.numClasses }), i = {};
|
|
22
|
+
for (let o = 0; o < s.length; o++)
|
|
23
|
+
i[o] = s[o];
|
|
24
|
+
return new d(
|
|
25
|
+
r,
|
|
26
|
+
s,
|
|
27
|
+
i,
|
|
28
|
+
t.inputSize ?? [224, 224],
|
|
29
|
+
t.mean ?? M,
|
|
30
|
+
t.std ?? F,
|
|
31
|
+
t.applySoftmax ?? !0
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
/** Class labels indexed by class id. */
|
|
35
|
+
get labels() {
|
|
36
|
+
return this._labels;
|
|
37
|
+
}
|
|
38
|
+
/** Class id → class name dict (matches Ultralytics' `model.names`). */
|
|
39
|
+
get names() {
|
|
40
|
+
return this._names;
|
|
41
|
+
}
|
|
42
|
+
/** Number of classes the model can predict. */
|
|
43
|
+
get numClasses() {
|
|
44
|
+
return this._labels.length;
|
|
45
|
+
}
|
|
46
|
+
/** Alias for {@link predict} (parity with PyTorch `nn.Module.__call__`). */
|
|
47
|
+
async call(e, t = {}) {
|
|
48
|
+
return this.predict(e, t);
|
|
49
|
+
}
|
|
50
|
+
/** Run classification on a single image. */
|
|
51
|
+
async predict(e, t = {}) {
|
|
52
|
+
const r = typeof e == "string" ? e : null, s = await y(e), i = this._preprocess(s), o = await this._session.run({ [this._session.inputName]: i }), n = this._session.outputNames[0];
|
|
53
|
+
if (n === void 0)
|
|
54
|
+
throw new Error("Classifier model has no outputs.");
|
|
55
|
+
const p = o[n];
|
|
56
|
+
if (p === void 0)
|
|
57
|
+
throw new Error(
|
|
58
|
+
`Classifier model output ${n} missing from run() result.`
|
|
59
|
+
);
|
|
60
|
+
const h = this._postprocess(p.data), { indices: u, values: _ } = S(h, t.topK ?? null), c = [];
|
|
61
|
+
for (let l = 0; l < u.length; l++) {
|
|
62
|
+
const m = u[l], f = this._labels[m] ?? `class_${m}`;
|
|
63
|
+
c.push({
|
|
64
|
+
classId: m,
|
|
65
|
+
className: f,
|
|
66
|
+
probability: _[l],
|
|
67
|
+
cls: m,
|
|
68
|
+
name: f,
|
|
69
|
+
conf: _[l]
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
if (c.length === 0)
|
|
73
|
+
throw new Error("Classifier produced no probabilities (empty output).");
|
|
74
|
+
const a = c[0], b = {
|
|
75
|
+
classId: a.classId,
|
|
76
|
+
className: a.className,
|
|
77
|
+
confidence: a.probability,
|
|
78
|
+
cls: a.classId,
|
|
79
|
+
name: a.className,
|
|
80
|
+
conf: a.probability,
|
|
81
|
+
image: s,
|
|
82
|
+
probabilities: c
|
|
83
|
+
}, w = [s.height, s.width];
|
|
84
|
+
return [
|
|
85
|
+
new T(
|
|
86
|
+
new v(h),
|
|
87
|
+
b,
|
|
88
|
+
this._names,
|
|
89
|
+
s,
|
|
90
|
+
w,
|
|
91
|
+
r
|
|
92
|
+
)
|
|
93
|
+
];
|
|
94
|
+
}
|
|
95
|
+
_preprocess(e) {
|
|
96
|
+
const [t, r] = this._inputSize, s = C(e, t, r), i = E(s, this._mean, this._std), o = x(i, s.width, s.height, 3);
|
|
97
|
+
return I(o, [1, 3, s.height, s.width]);
|
|
98
|
+
}
|
|
99
|
+
_postprocess(e) {
|
|
100
|
+
return this._applySoftmax ? z(e) : new Float32Array(e);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
export {
|
|
104
|
+
d as Classifier
|
|
105
|
+
};
|
|
106
|
+
//# sourceMappingURL=classifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classifier.js","sources":["../../../src/vision/tasks/classifier.ts"],"sourcesContent":["/**\n * Image classification task using ONNX Runtime Web.\n */\n\nimport type * as ort from \"onnxruntime-web\";\n\nimport { type ModelSource, type OrtSessionOptions, OrtSession } from \"../core/session\";\nimport { type ImageInput, loadImage } from \"../io/image\";\nimport { type LabelSpec, resolveLabels } from \"../labels\";\nimport { softmax, topK } from \"../postprocess/classification\";\nimport { normalize, resize, toCHW, toFloat32Tensor } from \"../preprocess/image\";\nimport { ClassificationResults, Probs } from \"../results\";\nimport { VisionTask } from \"./base\";\nimport { type ClassProbability, type ClassificationResult, type RGBImage } from \"../types\";\n\nconst IMAGENET_MEAN: readonly [number, number, number] = [0.485, 0.456, 0.406];\nconst IMAGENET_STD: readonly [number, number, number] = [0.229, 0.224, 0.225];\n\nexport interface ClassifierOptions extends OrtSessionOptions {\n /** Class label spec — see {@link resolveLabels}. */\n readonly labels: LabelSpec;\n /**\n * Number of classes the model can predict. Required when `labels` is `null`\n * or when you want to validate that the supplied labels match the model.\n */\n readonly numClasses?: number;\n /** Model input `[width, height]` in pixels. Defaults to `[224, 224]`. */\n readonly inputSize?: readonly [number, number];\n /** Per-channel RGB mean used for normalization. Defaults to ImageNet. */\n readonly mean?: readonly [number, number, number];\n /** Per-channel RGB standard deviation. Defaults to ImageNet. */\n readonly std?: readonly [number, number, number];\n /**\n * If `true` (default), apply softmax to the raw model output. Set to\n * `false` for models whose final layer already produces a probability\n * distribution.\n */\n readonly applySoftmax?: boolean;\n}\n\nexport interface ClassifierPredictOptions {\n /**\n * If set, the per-class probability list in `results[0].result.probabilities`\n * is truncated to the top-K entries. The bulk `probs` view always exposes\n * the full vector.\n */\n readonly topK?: number;\n}\n\n/**\n * Image classifier wrapping an ONNX model with ImageNet-style preprocessing.\n *\n * `predict()` returns `Promise<ClassificationResults[]>` (length 1 for a\n * single image), mirroring Ultralytics' API. The envelope exposes a `probs`\n * collection (`top1`, `top1conf`, `top5`, `top5conf`, `data`) plus the\n * legacy per-class probability list with names already resolved.\n *\n * Defaults: 224×224 RGB input, `float32` normalized with ImageNet mean/std,\n * NCHW layout, batch size 1, softmax applied to the raw output.\n *\n * @example\n * ```typescript\n * const clf = await Classifier.create(\"/models/resnet50.onnx\", {\n * labels: [\"tench\", \"goldfish\", ...] // 1000 ImageNet labels\n * });\n * const r = (await clf.predict(\"/images/dog.jpg\"))[0];\n * console.log(r.cls, r.conf, r.name);\n * console.log(r.probs.top5, r.probs.top5conf);\n * ```\n */\nexport class Classifier extends VisionTask {\n private constructor(\n session: OrtSession,\n private readonly _labels: readonly string[],\n private readonly _names: Readonly<Record<number, string>>,\n private readonly _inputSize: readonly [number, number],\n private readonly _mean: readonly [number, number, number],\n private readonly _std: readonly [number, number, number],\n private readonly _applySoftmax: boolean,\n ) {\n super(session);\n }\n\n /** Load the model and resolve labels. */\n static async create(model: ModelSource, options: ClassifierOptions): Promise<Classifier> {\n const session = await OrtSession.create(model, options);\n const labels = resolveLabels(options.labels, { numClasses: options.numClasses });\n const names: Record<number, string> = {};\n for (let i = 0; i < labels.length; i++) {\n names[i] = labels[i] as string;\n }\n return new Classifier(\n session,\n labels,\n names,\n options.inputSize ?? [224, 224],\n options.mean ?? IMAGENET_MEAN,\n options.std ?? IMAGENET_STD,\n options.applySoftmax ?? true,\n );\n }\n\n /** Class labels indexed by class id. */\n get labels(): readonly string[] {\n return this._labels;\n }\n\n /** Class id → class name dict (matches Ultralytics' `model.names`). */\n get names(): Readonly<Record<number, string>> {\n return this._names;\n }\n\n /** Number of classes the model can predict. */\n get numClasses(): number {\n return this._labels.length;\n }\n\n /** Alias for {@link predict} (parity with PyTorch `nn.Module.__call__`). */\n async call(\n image: ImageInput,\n options: ClassifierPredictOptions = {},\n ): Promise<ClassificationResults[]> {\n return this.predict(image, options);\n }\n\n /** Run classification on a single image. */\n async predict(\n image: ImageInput,\n options: ClassifierPredictOptions = {},\n ): Promise<ClassificationResults[]> {\n const path = typeof image === \"string\" ? image : null;\n const original = await loadImage(image);\n const tensor = this._preprocess(original);\n const outputs = await this._session.run({ [this._session.inputName]: tensor });\n const firstOutputName = this._session.outputNames[0];\n if (firstOutputName === undefined) {\n throw new Error(\"Classifier model has no outputs.\");\n }\n const raw = outputs[firstOutputName];\n if (raw === undefined) {\n throw new Error(\n `Classifier model output ${firstOutputName} missing from run() result.`,\n );\n }\n const fullProbs = this._postprocess(raw.data as Float32Array);\n\n const { indices, values } = topK(fullProbs, options.topK ?? null);\n const probabilities: ClassProbability[] = [];\n for (let i = 0; i < indices.length; i++) {\n const id = indices[i] as number;\n const className = this._labels[id] ?? `class_${id}`;\n probabilities.push({\n classId: id,\n className,\n probability: values[i] as number,\n cls: id,\n name: className,\n conf: values[i] as number,\n });\n }\n if (probabilities.length === 0) {\n throw new Error(\"Classifier produced no probabilities (empty output).\");\n }\n\n const top = probabilities[0] as ClassProbability;\n const result: ClassificationResult = {\n classId: top.classId,\n className: top.className,\n confidence: top.probability,\n cls: top.classId,\n name: top.className,\n conf: top.probability,\n image: original,\n probabilities,\n };\n\n const orig: readonly [number, number] = [original.height, original.width];\n return [\n new ClassificationResults(\n new Probs(fullProbs),\n result,\n this._names,\n original,\n orig,\n path,\n ),\n ];\n }\n\n private _preprocess(image: RGBImage): ort.Tensor {\n const [tw, th] = this._inputSize;\n const resized = resize(image, tw, th);\n const normalized = normalize(resized, this._mean, this._std);\n const chw = toCHW(normalized, resized.width, resized.height, 3);\n return toFloat32Tensor(chw, [1, 3, resized.height, resized.width]);\n }\n\n private _postprocess(raw: Float32Array): Float32Array {\n return this._applySoftmax ? softmax(raw) : new Float32Array(raw);\n }\n}\n"],"names":["IMAGENET_MEAN","IMAGENET_STD","Classifier","VisionTask","session","_labels","_names","_inputSize","_mean","_std","_applySoftmax","model","options","OrtSession","labels","resolveLabels","names","i","image","path","original","loadImage","tensor","outputs","firstOutputName","raw","fullProbs","indices","values","topK","probabilities","id","className","top","result","orig","ClassificationResults","Probs","tw","th","resized","resize","normalized","normalize","chw","toCHW","toFloat32Tensor","softmax"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=require("../core/session.cjs"),S=require("../io/image.cjs"),q=require("../labels.cjs"),A=require("../postprocess/detection.cjs"),g=require("../preprocess/image.cjs"),x=require("../results.cjs"),I=require("./base.cjs"),T=require("../types.cjs");class b extends I.VisionTask{constructor(o,t,n,e,r,a,s,c){super(o),this._head=t,this._labels=n,this._names=e,this._inputSize=r,this._confThreshold=a,this._iouThreshold=s,this._maxDetections=c}_head;_labels;_names;_inputSize;_confThreshold;_iouThreshold;_maxDetections;static async create(o,t={}){const n=t.head??"yolo";if(n!=="yolo")throw new Error(`Unsupported detector head '${n}'. Supported: 'yolo'.`);const e=await D.OrtSession.create(o,t),r=q.resolveLabels(t.labels??"coco",{numClasses:t.numClasses}),a={};for(let s=0;s<r.length;s++)a[s]=r[s];return new b(e,n,r,a,t.inputSize??[640,640],t.confThreshold??.25,t.iouThreshold??.45,t.maxDetections??300)}get head(){return this._head}get labels(){return this._labels}get names(){return this._names}get numClasses(){return this._labels.length}async call(o,t={}){return this.predict(o,t)}async predict(o,t={}){const n=typeof o=="string"?o:null,e=await S.loadImage(o),{tensor:r,scale:a,padLeft:s,padTop:c}=this._preprocess(e),u=await this._session.run({[this._session.inputName]:r}),h=this._session.outputNames[0];if(h===void 0)throw new Error("Detector model has no outputs.");const d=u[h];if(d===void 0)throw new Error(`Detector model output ${h} missing from run() result.`);const m=A.decodeYolo(d.data,d.dims,{originalWidth:e.width,originalHeight:e.height,padLeft:s,padTop:c,scale:a,confThreshold:t.confThreshold??this._confThreshold,iouThreshold:t.iouThreshold??this._iouThreshold,maxDetections:this._maxDetections}),_=(t.classes!==void 0?(()=>{const i=new Set(t.classes);return m.filter(p=>i.has(p.classId))})():m).map(i=>this._buildResult(e,i.bbox,i.classId,i.confidence)),l=[e.height,e.width];return[new x.DetectionResults(this._buildBoxes(_,l),_,this._names,e,l,n)]}_preprocess(o){const[t,n]=this._inputSize,e=g.letterbox(o,t,n),r=g.toFloat32(e.image),a=g.toCHW(r,e.image.width,e.image.height,3);return{tensor:g.toFloat32Tensor(a,[1,3,e.image.height,e.image.width]),scale:e.scale,padLeft:e.padLeft,padTop:e.padTop}}_buildResult(o,t,n,e){const[r,a,s,c]=t.asIntXyxy(),u=Math.max(0,r),h=Math.max(0,a),d=Math.min(o.width,s),m=Math.min(o.height,c);let w;if(d>u&&m>h){const l=d-u,i=m-h,p=new Uint8Array(l*i*3);for(let f=0;f<i;f++){const y=((h+f)*o.width+u)*3;p.set(o.data.subarray(y,y+l*3),f*l*3)}w=new T.RGBImage(p,l,i)}else w=new T.RGBImage(new Uint8Array(0),0,0);const _=this._names[n]??`class_${n}`;return{classId:n,className:_,confidence:e,bbox:t,cls:n,name:_,conf:e,box:t,croppedImage:w}}_buildBoxes(o,t){const n=o.length,e=new Float32Array(n*4),r=new Int32Array(n),a=new Float32Array(n);for(let s=0;s<n;s++){const c=o[s];e[s*4]=c.bbox.x1,e[s*4+1]=c.bbox.y1,e[s*4+2]=c.bbox.x2,e[s*4+3]=c.bbox.y2,r[s]=c.classId,a[s]=c.confidence}return new x.Boxes(e,r,a,t)}}exports.Detector=b;
|
|
2
|
+
//# sourceMappingURL=detector.cjs.map
|