tempest-react-sdk 0.23.0 → 0.25.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 +39 -24
- package/bin/create-tempest-app.mjs +1 -0
- package/bin/tempest.mjs +1 -0
- package/dist/_virtual/_rolldown/runtime.cjs +1 -0
- package/dist/access/Can.cjs +2 -2
- package/dist/access/Can.cjs.map +1 -1
- package/dist/access/Can.js +14 -9
- package/dist/access/Can.js.map +1 -1
- package/dist/access/access-control-context.cjs +2 -2
- package/dist/access/access-control-context.cjs.map +1 -1
- package/dist/access/access-control-context.js +15 -12
- package/dist/access/access-control-context.js.map +1 -1
- package/dist/access/create-role-access-control.cjs +2 -2
- package/dist/access/create-role-access-control.cjs.map +1 -1
- package/dist/access/create-role-access-control.js +17 -17
- package/dist/access/create-role-access-control.js.map +1 -1
- package/dist/access/permissions-from-token.cjs +2 -2
- package/dist/access/permissions-from-token.cjs.map +1 -1
- package/dist/access/permissions-from-token.js +20 -19
- package/dist/access/permissions-from-token.js.map +1 -1
- package/dist/access/use-can.cjs +2 -2
- package/dist/access/use-can.cjs.map +1 -1
- package/dist/access/use-can.js +47 -32
- package/dist/access/use-can.js.map +1 -1
- package/dist/app/AppProviders.cjs +2 -2
- package/dist/app/AppProviders.cjs.map +1 -1
- package/dist/app/AppProviders.js +25 -12
- package/dist/app/AppProviders.js.map +1 -1
- package/dist/audio/audio-player.cjs +2 -2
- package/dist/audio/audio-player.cjs.map +1 -1
- package/dist/audio/audio-player.js +31 -35
- package/dist/audio/audio-player.js.map +1 -1
- package/dist/audio/use-audio.cjs +2 -2
- package/dist/audio/use-audio.cjs.map +1 -1
- package/dist/audio/use-audio.js +20 -17
- package/dist/audio/use-audio.js.map +1 -1
- package/dist/auth/AuthGuard.cjs +2 -2
- package/dist/auth/AuthGuard.cjs.map +1 -1
- package/dist/auth/AuthGuard.js +8 -7
- package/dist/auth/AuthGuard.js.map +1 -1
- package/dist/auth/create-auth-store.cjs +2 -2
- package/dist/auth/create-auth-store.cjs.map +1 -1
- package/dist/auth/create-auth-store.js +39 -29
- package/dist/auth/create-auth-store.js.map +1 -1
- package/dist/auth/create-tempest-auth.cjs +2 -2
- package/dist/auth/create-tempest-auth.cjs.map +1 -1
- package/dist/auth/create-tempest-auth.js +72 -68
- package/dist/auth/create-tempest-auth.js.map +1 -1
- package/dist/auth/jwt.cjs +2 -2
- package/dist/auth/jwt.cjs.map +1 -1
- package/dist/auth/jwt.js +30 -30
- package/dist/auth/jwt.js.map +1 -1
- package/dist/auth/lazy-with-retry.cjs +2 -2
- package/dist/auth/lazy-with-retry.cjs.map +1 -1
- package/dist/auth/lazy-with-retry.js +17 -17
- package/dist/auth/lazy-with-retry.js.map +1 -1
- package/dist/auth/refresh-queue.cjs +2 -2
- package/dist/auth/refresh-queue.cjs.map +1 -1
- package/dist/auth/refresh-queue.js +14 -13
- package/dist/auth/refresh-queue.js.map +1 -1
- package/dist/br/BrazilMap.cjs +2 -2
- package/dist/br/BrazilMap.cjs.map +1 -1
- package/dist/br/BrazilMap.js +177 -193
- package/dist/br/BrazilMap.js.map +1 -1
- package/dist/br/BrazilMap.module.cjs +2 -0
- package/dist/br/BrazilMap.module.cjs.map +1 -0
- package/dist/br/BrazilMap.module.js +18 -0
- package/dist/br/BrazilMap.module.js.map +1 -0
- package/dist/br/BrazilStateCitySelect.cjs +2 -2
- package/dist/br/BrazilStateCitySelect.cjs.map +1 -1
- package/dist/br/BrazilStateCitySelect.js +53 -68
- package/dist/br/BrazilStateCitySelect.js.map +1 -1
- package/dist/br/BrazilStateMap.cjs +2 -2
- package/dist/br/BrazilStateMap.cjs.map +1 -1
- package/dist/br/BrazilStateMap.js +176 -180
- package/dist/br/BrazilStateMap.js.map +1 -1
- package/dist/br/MapLegend.cjs +2 -2
- package/dist/br/MapLegend.cjs.map +1 -1
- package/dist/br/MapLegend.js +40 -38
- package/dist/br/MapLegend.js.map +1 -1
- package/dist/br/MapLegend.module.cjs +2 -0
- package/dist/br/MapLegend.module.cjs.map +1 -0
- package/dist/br/MapLegend.module.js +15 -0
- package/dist/br/MapLegend.module.js.map +1 -0
- package/dist/br/MapMarkers.cjs +2 -2
- package/dist/br/MapMarkers.cjs.map +1 -1
- package/dist/br/MapMarkers.js +30 -30
- package/dist/br/MapMarkers.js.map +1 -1
- package/dist/br/MapTooltip.cjs +2 -2
- package/dist/br/MapTooltip.cjs.map +1 -1
- package/dist/br/MapTooltip.js +18 -17
- package/dist/br/MapTooltip.js.map +1 -1
- package/dist/br/MunicipalitySearch.cjs +2 -2
- package/dist/br/MunicipalitySearch.cjs.map +1 -1
- package/dist/br/MunicipalitySearch.js +73 -74
- package/dist/br/MunicipalitySearch.js.map +1 -1
- package/dist/br/MunicipalitySearch.module.cjs +2 -0
- package/dist/br/MunicipalitySearch.module.cjs.map +1 -0
- package/dist/br/MunicipalitySearch.module.js +11 -0
- package/dist/br/MunicipalitySearch.module.js.map +1 -0
- package/dist/br/br-geo.cjs +2 -2
- package/dist/br/br-geo.cjs.map +1 -1
- package/dist/br/br-geo.js +7 -6
- package/dist/br/br-geo.js.map +1 -1
- package/dist/br/data/br-centroids.cjs +2 -0
- package/dist/br/data/br-centroids.cjs.map +1 -0
- package/dist/br/data/br-centroids.js +38972 -0
- package/dist/br/data/br-centroids.js.map +1 -0
- package/dist/br/data/br-locations.cjs +2 -0
- package/dist/br/data/br-locations.cjs.map +1 -0
- package/dist/br/data/br-locations.js +198 -0
- package/dist/br/data/br-locations.js.map +1 -0
- package/dist/br/data/br-uf-geo.cjs +2 -0
- package/dist/br/data/br-uf-geo.cjs.map +1 -0
- package/dist/br/data/br-uf-geo.js +7134 -0
- package/dist/br/data/br-uf-geo.js.map +1 -0
- package/dist/br/data/mun/AC.cjs +2 -0
- package/dist/br/data/mun/AC.cjs.map +1 -0
- package/dist/br/data/mun/AC.js +992 -0
- package/dist/br/data/mun/AC.js.map +1 -0
- package/dist/br/data/mun/AL.cjs +2 -0
- package/dist/br/data/mun/AL.cjs.map +1 -0
- package/dist/br/data/mun/AL.js +2150 -0
- package/dist/br/data/mun/AL.js.map +1 -0
- package/dist/br/data/mun/AM.cjs +2 -0
- package/dist/br/data/mun/AM.cjs.map +1 -0
- package/dist/br/data/mun/AM.js +5062 -0
- package/dist/br/data/mun/AM.js.map +1 -0
- package/dist/br/data/mun/AP.cjs +2 -0
- package/dist/br/data/mun/AP.cjs.map +1 -0
- package/dist/br/data/mun/AP.js +995 -0
- package/dist/br/data/mun/AP.js.map +1 -0
- package/dist/br/data/mun/BA.cjs +2 -0
- package/dist/br/data/mun/BA.cjs.map +1 -0
- package/dist/br/data/mun/BA.js +10762 -0
- package/dist/br/data/mun/BA.js.map +1 -0
- package/dist/br/data/mun/CE.cjs +2 -0
- package/dist/br/data/mun/CE.cjs.map +1 -0
- package/dist/br/data/mun/CE.js +4844 -0
- package/dist/br/data/mun/CE.js.map +1 -0
- package/dist/br/data/mun/DF.cjs +2 -0
- package/dist/br/data/mun/DF.cjs.map +1 -0
- package/dist/br/data/mun/DF.js +37 -0
- package/dist/br/data/mun/DF.js.map +1 -0
- package/dist/br/data/mun/ES.cjs +2 -0
- package/dist/br/data/mun/ES.cjs.map +1 -0
- package/dist/br/data/mun/ES.js +2064 -0
- package/dist/br/data/mun/ES.js.map +1 -0
- package/dist/br/data/mun/GO.cjs +2 -0
- package/dist/br/data/mun/GO.cjs.map +1 -0
- package/dist/br/data/mun/GO.js +7617 -0
- package/dist/br/data/mun/GO.js.map +1 -0
- package/dist/br/data/mun/MA.cjs +2 -0
- package/dist/br/data/mun/MA.cjs.map +1 -0
- package/dist/br/data/mun/MA.js +6260 -0
- package/dist/br/data/mun/MA.js.map +1 -0
- package/dist/br/data/mun/MG.cjs +2 -0
- package/dist/br/data/mun/MG.cjs.map +1 -0
- package/dist/br/data/mun/MG.js +22545 -0
- package/dist/br/data/mun/MG.js.map +1 -0
- package/dist/br/data/mun/MS.cjs +2 -0
- package/dist/br/data/mun/MS.cjs.map +1 -0
- package/dist/br/data/mun/MS.js +3261 -0
- package/dist/br/data/mun/MS.js.map +1 -0
- package/dist/br/data/mun/MT.cjs +2 -0
- package/dist/br/data/mun/MT.cjs.map +1 -0
- package/dist/br/data/mun/MT.js +6459 -0
- package/dist/br/data/mun/MT.js.map +1 -0
- package/dist/br/data/mun/PA.cjs +2 -0
- package/dist/br/data/mun/PA.cjs.map +1 -0
- package/dist/br/data/mun/PA.js +6738 -0
- package/dist/br/data/mun/PA.js.map +1 -0
- package/dist/br/data/mun/PB.cjs +2 -0
- package/dist/br/data/mun/PB.cjs.map +1 -0
- package/dist/br/data/mun/PB.js +4735 -0
- package/dist/br/data/mun/PB.js.map +1 -0
- package/dist/br/data/mun/PE.cjs +2 -0
- package/dist/br/data/mun/PE.cjs.map +1 -0
- package/dist/br/data/mun/PE.js +4380 -0
- package/dist/br/data/mun/PE.js.map +1 -0
- package/dist/br/data/mun/PI.cjs +2 -0
- package/dist/br/data/mun/PI.cjs.map +1 -0
- package/dist/br/data/mun/PI.js +5789 -0
- package/dist/br/data/mun/PI.js.map +1 -0
- package/dist/br/data/mun/PR.cjs +2 -0
- package/dist/br/data/mun/PR.cjs.map +1 -0
- package/dist/br/data/mun/PR.js +10320 -0
- package/dist/br/data/mun/PR.js.map +1 -0
- package/dist/br/data/mun/RJ.cjs +2 -0
- package/dist/br/data/mun/RJ.cjs.map +1 -0
- package/dist/br/data/mun/RJ.js +2310 -0
- package/dist/br/data/mun/RJ.js.map +1 -0
- package/dist/br/data/mun/RN.cjs +2 -0
- package/dist/br/data/mun/RN.cjs.map +1 -0
- package/dist/br/data/mun/RN.js +3545 -0
- package/dist/br/data/mun/RN.js.map +1 -0
- package/dist/br/data/mun/RO.cjs +2 -0
- package/dist/br/data/mun/RO.cjs.map +1 -0
- package/dist/br/data/mun/RO.js +2173 -0
- package/dist/br/data/mun/RO.js.map +1 -0
- package/dist/br/data/mun/RR.cjs +2 -0
- package/dist/br/data/mun/RR.cjs.map +1 -0
- package/dist/br/data/mun/RR.js +992 -0
- package/dist/br/data/mun/RR.js.map +1 -0
- package/dist/br/data/mun/RS.cjs +2 -0
- package/dist/br/data/mun/RS.cjs.map +1 -0
- package/dist/br/data/mun/RS.js +12694 -0
- package/dist/br/data/mun/RS.js.map +1 -0
- package/dist/br/data/mun/SC.cjs +2 -0
- package/dist/br/data/mun/SC.cjs.map +1 -0
- package/dist/br/data/mun/SC.js +7028 -0
- package/dist/br/data/mun/SC.js.map +1 -0
- package/dist/br/data/mun/SE.cjs +2 -0
- package/dist/br/data/mun/SE.cjs.map +1 -0
- package/dist/br/data/mun/SE.js +1588 -0
- package/dist/br/data/mun/SE.js.map +1 -0
- package/dist/br/data/mun/SP.cjs +2 -0
- package/dist/br/data/mun/SP.cjs.map +1 -0
- package/dist/br/data/mun/SP.js +15019 -0
- package/dist/br/data/mun/SP.js.map +1 -0
- package/dist/br/data/mun/TO.cjs +2 -0
- package/dist/br/data/mun/TO.cjs.map +1 -0
- package/dist/br/data/mun/TO.js +4510 -0
- package/dist/br/data/mun/TO.js.map +1 -0
- package/dist/br/geocode.cjs +2 -2
- package/dist/br/geocode.cjs.map +1 -1
- package/dist/br/geocode.js +80 -78
- package/dist/br/geocode.js.map +1 -1
- package/dist/br/locations.cjs +2 -2
- package/dist/br/locations.cjs.map +1 -1
- package/dist/br/locations.js +70 -71
- package/dist/br/locations.js.map +1 -1
- package/dist/br/regions.cjs +2 -2
- package/dist/br/regions.cjs.map +1 -1
- package/dist/br/regions.js +16 -16
- package/dist/br/regions.js.map +1 -1
- package/dist/br/scales.cjs +2 -2
- package/dist/br/scales.cjs.map +1 -1
- package/dist/br/scales.js +51 -60
- package/dist/br/scales.js.map +1 -1
- package/dist/br/state-geo.cjs +2 -2
- package/dist/br/state-geo.cjs.map +1 -1
- package/dist/br/state-geo.js +38 -37
- package/dist/br/state-geo.js.map +1 -1
- package/dist/br/svg-utils.cjs +2 -2
- package/dist/br/svg-utils.cjs.map +1 -1
- package/dist/br/svg-utils.js +48 -41
- package/dist/br/svg-utils.js.map +1 -1
- package/dist/br/use-map-hover.cjs +2 -2
- package/dist/br/use-map-hover.cjs.map +1 -1
- package/dist/br/use-map-hover.js +20 -14
- package/dist/br/use-map-hover.js.map +1 -1
- package/dist/br/use-map-zoom.cjs +2 -2
- package/dist/br/use-map-zoom.cjs.map +1 -1
- package/dist/br/use-map-zoom.js +71 -47
- package/dist/br/use-map-zoom.js.map +1 -1
- package/dist/br.cjs +2 -2
- package/dist/br.cjs.map +1 -1
- package/dist/br.d.ts +1 -1
- package/dist/br.js +18 -49
- package/dist/br.js.map +1 -1
- package/dist/charts/AreaChart.cjs +2 -2
- package/dist/charts/AreaChart.cjs.map +1 -1
- package/dist/charts/AreaChart.js +42 -46
- package/dist/charts/AreaChart.js.map +1 -1
- package/dist/charts/BarChart.cjs +2 -2
- package/dist/charts/BarChart.cjs.map +1 -1
- package/dist/charts/BarChart.js +36 -40
- package/dist/charts/BarChart.js.map +1 -1
- package/dist/charts/LineChart.cjs +2 -2
- package/dist/charts/LineChart.cjs.map +1 -1
- package/dist/charts/LineChart.js +37 -40
- package/dist/charts/LineChart.js.map +1 -1
- package/dist/charts/PieChart.cjs +2 -2
- package/dist/charts/PieChart.cjs.map +1 -1
- package/dist/charts/PieChart.js +35 -38
- package/dist/charts/PieChart.js.map +1 -1
- package/dist/charts/RadarChart.cjs +2 -2
- package/dist/charts/RadarChart.cjs.map +1 -1
- package/dist/charts/RadarChart.js +40 -42
- package/dist/charts/RadarChart.js.map +1 -1
- package/dist/charts/palette.cjs +2 -2
- package/dist/charts/palette.cjs.map +1 -1
- package/dist/charts/palette.js +30 -18
- package/dist/charts/palette.js.map +1 -1
- package/dist/charts/types.cjs +2 -2
- package/dist/charts/types.cjs.map +1 -1
- package/dist/charts/types.js +7 -7
- package/dist/charts/types.js.map +1 -1
- package/dist/charts/use-chart-colors.cjs +2 -0
- package/dist/charts/use-chart-colors.cjs.map +1 -0
- package/dist/charts/use-chart-colors.js +29 -0
- package/dist/charts/use-chart-colors.js.map +1 -0
- package/dist/charts.cjs +1 -2
- package/dist/charts.d.ts +60 -11
- package/dist/charts.js +8 -15
- package/dist/components/Accordion/Accordion.cjs +2 -2
- package/dist/components/Accordion/Accordion.cjs.map +1 -1
- package/dist/components/Accordion/Accordion.js +63 -76
- package/dist/components/Accordion/Accordion.js.map +1 -1
- package/dist/components/Accordion/Accordion.module.cjs +2 -0
- package/dist/components/Accordion/Accordion.module.cjs.map +1 -0
- package/dist/components/Accordion/Accordion.module.js +14 -0
- package/dist/components/Accordion/Accordion.module.js.map +1 -0
- package/dist/components/Alert/Alert.cjs +2 -2
- package/dist/components/Alert/Alert.cjs.map +1 -1
- package/dist/components/Alert/Alert.js +55 -61
- package/dist/components/Alert/Alert.js.map +1 -1
- package/dist/components/Alert/Alert.module.cjs +2 -0
- package/dist/components/Alert/Alert.module.cjs.map +1 -0
- package/dist/components/Alert/Alert.module.js +20 -0
- package/dist/components/Alert/Alert.module.js.map +1 -0
- package/dist/components/AppBar/AppBar.cjs +2 -2
- package/dist/components/AppBar/AppBar.cjs.map +1 -1
- package/dist/components/AppBar/AppBar.js +42 -58
- package/dist/components/AppBar/AppBar.js.map +1 -1
- package/dist/components/AppBar/AppBar.module.cjs +2 -0
- package/dist/components/AppBar/AppBar.module.cjs.map +1 -0
- package/dist/components/AppBar/AppBar.module.js +20 -0
- package/dist/components/AppBar/AppBar.module.js.map +1 -0
- package/dist/components/AppShell/AppShell.cjs +2 -2
- package/dist/components/AppShell/AppShell.cjs.map +1 -1
- package/dist/components/AppShell/AppShell.js +39 -28
- package/dist/components/AppShell/AppShell.js.map +1 -1
- package/dist/components/AppShell/AppShell.module.cjs +2 -0
- package/dist/components/AppShell/AppShell.module.cjs.map +1 -0
- package/dist/components/AppShell/AppShell.module.js +14 -0
- package/dist/components/AppShell/AppShell.module.js.map +1 -0
- package/dist/components/AspectRatio/AspectRatio.cjs +2 -2
- package/dist/components/AspectRatio/AspectRatio.cjs.map +1 -1
- package/dist/components/AspectRatio/AspectRatio.js +19 -16
- package/dist/components/AspectRatio/AspectRatio.js.map +1 -1
- package/dist/components/AspectRatio/AspectRatio.module.cjs +2 -0
- package/dist/components/AspectRatio/AspectRatio.module.cjs.map +1 -0
- package/dist/components/AspectRatio/AspectRatio.module.js +6 -0
- package/dist/components/AspectRatio/AspectRatio.module.js.map +1 -0
- package/dist/components/Avatar/Avatar.cjs +2 -2
- package/dist/components/Avatar/Avatar.cjs.map +1 -1
- package/dist/components/Avatar/Avatar.js +35 -45
- package/dist/components/Avatar/Avatar.js.map +1 -1
- package/dist/components/Avatar/Avatar.module.cjs +2 -0
- package/dist/components/Avatar/Avatar.module.cjs.map +1 -0
- package/dist/components/Avatar/Avatar.module.js +19 -0
- package/dist/components/Avatar/Avatar.module.js.map +1 -0
- package/dist/components/AvatarGroup/AvatarGroup.cjs +2 -0
- package/dist/components/AvatarGroup/AvatarGroup.cjs.map +1 -0
- package/dist/components/AvatarGroup/AvatarGroup.js +39 -0
- package/dist/components/AvatarGroup/AvatarGroup.js.map +1 -0
- package/dist/components/AvatarGroup/AvatarGroup.module.cjs +2 -0
- package/dist/components/AvatarGroup/AvatarGroup.module.cjs.map +1 -0
- package/dist/components/AvatarGroup/AvatarGroup.module.js +16 -0
- package/dist/components/AvatarGroup/AvatarGroup.module.js.map +1 -0
- package/dist/components/Badge/Badge.cjs +2 -2
- package/dist/components/Badge/Badge.cjs.map +1 -1
- package/dist/components/Badge/Badge.js +17 -36
- package/dist/components/Badge/Badge.js.map +1 -1
- package/dist/components/Badge/Badge.module.cjs +2 -0
- package/dist/components/Badge/Badge.module.cjs.map +1 -0
- package/dist/components/Badge/Badge.module.js +21 -0
- package/dist/components/Badge/Badge.module.js.map +1 -0
- package/dist/components/Banner/Banner.cjs +2 -2
- package/dist/components/Banner/Banner.cjs.map +1 -1
- package/dist/components/Banner/Banner.js +45 -40
- package/dist/components/Banner/Banner.js.map +1 -1
- package/dist/components/Banner/Banner.module.cjs +2 -0
- package/dist/components/Banner/Banner.module.cjs.map +1 -0
- package/dist/components/Banner/Banner.module.js +18 -0
- package/dist/components/Banner/Banner.module.js.map +1 -0
- package/dist/components/BottomNavigation/BottomNavigation.cjs +2 -2
- package/dist/components/BottomNavigation/BottomNavigation.cjs.map +1 -1
- package/dist/components/BottomNavigation/BottomNavigation.js +37 -36
- package/dist/components/BottomNavigation/BottomNavigation.js.map +1 -1
- package/dist/components/BottomNavigation/BottomNavigation.module.cjs +2 -0
- package/dist/components/BottomNavigation/BottomNavigation.module.cjs.map +1 -0
- package/dist/components/BottomNavigation/BottomNavigation.module.js +14 -0
- package/dist/components/BottomNavigation/BottomNavigation.module.js.map +1 -0
- package/dist/components/BottomSheet/BottomSheet.cjs +2 -2
- package/dist/components/BottomSheet/BottomSheet.cjs.map +1 -1
- package/dist/components/BottomSheet/BottomSheet.js +57 -59
- package/dist/components/BottomSheet/BottomSheet.js.map +1 -1
- package/dist/components/BottomSheet/BottomSheet.module.cjs +2 -0
- package/dist/components/BottomSheet/BottomSheet.module.cjs.map +1 -0
- package/dist/components/BottomSheet/BottomSheet.module.js +16 -0
- package/dist/components/BottomSheet/BottomSheet.module.js.map +1 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.cjs +2 -2
- package/dist/components/Breadcrumbs/Breadcrumbs.cjs.map +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.js +36 -33
- package/dist/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.module.cjs +2 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.module.cjs.map +1 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.module.js +12 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.module.js.map +1 -0
- package/dist/components/Button/Button.cjs +2 -2
- package/dist/components/Button/Button.cjs.map +1 -1
- package/dist/components/Button/Button.js +40 -66
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/Button/Button.module.cjs +2 -0
- package/dist/components/Button/Button.module.cjs.map +1 -0
- package/dist/components/Button/Button.module.js +29 -0
- package/dist/components/Button/Button.module.js.map +1 -0
- package/dist/components/Calendar/Calendar.cjs +2 -2
- package/dist/components/Calendar/Calendar.cjs.map +1 -1
- package/dist/components/Calendar/Calendar.js +157 -150
- package/dist/components/Calendar/Calendar.js.map +1 -1
- package/dist/components/Calendar/Calendar.module.cjs +2 -0
- package/dist/components/Calendar/Calendar.module.cjs.map +1 -0
- package/dist/components/Calendar/Calendar.module.js +18 -0
- package/dist/components/Calendar/Calendar.module.js.map +1 -0
- package/dist/components/Card/Card.cjs +2 -2
- package/dist/components/Card/Card.cjs.map +1 -1
- package/dist/components/Card/Card.js +32 -44
- package/dist/components/Card/Card.js.map +1 -1
- package/dist/components/Card/Card.module.cjs +2 -0
- package/dist/components/Card/Card.module.cjs.map +1 -0
- package/dist/components/Card/Card.module.js +18 -0
- package/dist/components/Card/Card.module.js.map +1 -0
- package/dist/components/Carousel/Carousel.cjs +2 -2
- package/dist/components/Carousel/Carousel.cjs.map +1 -1
- package/dist/components/Carousel/Carousel.js +75 -96
- package/dist/components/Carousel/Carousel.js.map +1 -1
- package/dist/components/Carousel/Carousel.module.cjs +2 -0
- package/dist/components/Carousel/Carousel.module.cjs.map +1 -0
- package/dist/components/Carousel/Carousel.module.js +17 -0
- package/dist/components/Carousel/Carousel.module.js.map +1 -0
- package/dist/components/Center/Center.cjs +2 -2
- package/dist/components/Center/Center.cjs.map +1 -1
- package/dist/components/Center/Center.js +20 -22
- package/dist/components/Center/Center.js.map +1 -1
- package/dist/components/Center/Center.module.cjs +2 -0
- package/dist/components/Center/Center.module.cjs.map +1 -0
- package/dist/components/Center/Center.module.js +11 -0
- package/dist/components/Center/Center.module.js.map +1 -0
- package/dist/components/Checkbox/Checkbox.cjs +2 -2
- package/dist/components/Checkbox/Checkbox.cjs.map +1 -1
- package/dist/components/Checkbox/Checkbox.js +71 -46
- package/dist/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.module.cjs +2 -0
- package/dist/components/Checkbox/Checkbox.module.cjs.map +1 -0
- package/dist/components/Checkbox/Checkbox.module.js +14 -0
- package/dist/components/Checkbox/Checkbox.module.js.map +1 -0
- package/dist/components/ChipInput/ChipInput.cjs +2 -2
- package/dist/components/ChipInput/ChipInput.cjs.map +1 -1
- package/dist/components/ChipInput/ChipInput.js +81 -78
- package/dist/components/ChipInput/ChipInput.js.map +1 -1
- package/dist/components/ChipInput/ChipInput.module.cjs +2 -0
- package/dist/components/ChipInput/ChipInput.module.cjs.map +1 -0
- package/dist/components/ChipInput/ChipInput.module.js +16 -0
- package/dist/components/ChipInput/ChipInput.module.js.map +1 -0
- package/dist/components/ClickOutside/ClickOutside.cjs +2 -2
- package/dist/components/ClickOutside/ClickOutside.cjs.map +1 -1
- package/dist/components/ClickOutside/ClickOutside.js +23 -19
- package/dist/components/ClickOutside/ClickOutside.js.map +1 -1
- package/dist/components/Collapsible/Collapsible.cjs +2 -2
- package/dist/components/Collapsible/Collapsible.cjs.map +1 -1
- package/dist/components/Collapsible/Collapsible.js +38 -46
- package/dist/components/Collapsible/Collapsible.js.map +1 -1
- package/dist/components/Collapsible/Collapsible.module.cjs +2 -0
- package/dist/components/Collapsible/Collapsible.module.cjs.map +1 -0
- package/dist/components/Collapsible/Collapsible.module.js +10 -0
- package/dist/components/Collapsible/Collapsible.module.js.map +1 -0
- package/dist/components/Combobox/Combobox.cjs +2 -2
- package/dist/components/Combobox/Combobox.cjs.map +1 -1
- package/dist/components/Combobox/Combobox.js +96 -101
- package/dist/components/Combobox/Combobox.js.map +1 -1
- package/dist/components/Combobox/Combobox.module.cjs +2 -0
- package/dist/components/Combobox/Combobox.module.cjs.map +1 -0
- package/dist/components/Combobox/Combobox.module.js +20 -0
- package/dist/components/Combobox/Combobox.module.js.map +1 -0
- package/dist/components/Command/Command.cjs +2 -2
- package/dist/components/Command/Command.cjs.map +1 -1
- package/dist/components/Command/Command.js +145 -139
- package/dist/components/Command/Command.js.map +1 -1
- package/dist/components/Command/Command.module.cjs +2 -0
- package/dist/components/Command/Command.module.cjs.map +1 -0
- package/dist/components/Command/Command.module.js +23 -0
- package/dist/components/Command/Command.module.js.map +1 -0
- package/dist/components/ConditionalWrapper/ConditionalWrapper.cjs +2 -2
- package/dist/components/ConditionalWrapper/ConditionalWrapper.cjs.map +1 -1
- package/dist/components/ConditionalWrapper/ConditionalWrapper.js +8 -11
- package/dist/components/ConditionalWrapper/ConditionalWrapper.js.map +1 -1
- package/dist/components/ConfirmDialog/ConfirmDialog.cjs +2 -2
- package/dist/components/ConfirmDialog/ConfirmDialog.cjs.map +1 -1
- package/dist/components/ConfirmDialog/ConfirmDialog.js +27 -34
- package/dist/components/ConfirmDialog/ConfirmDialog.js.map +1 -1
- package/dist/components/ContextMenu/ContextMenu.cjs +2 -2
- package/dist/components/ContextMenu/ContextMenu.cjs.map +1 -1
- package/dist/components/ContextMenu/ContextMenu.js +89 -84
- package/dist/components/ContextMenu/ContextMenu.js.map +1 -1
- package/dist/components/ContextMenu/ContextMenu.module.cjs +2 -0
- package/dist/components/ContextMenu/ContextMenu.module.cjs.map +1 -0
- package/dist/components/ContextMenu/ContextMenu.module.js +14 -0
- package/dist/components/ContextMenu/ContextMenu.module.js.map +1 -0
- package/dist/components/CopyButton/CopyButton.cjs +2 -2
- package/dist/components/CopyButton/CopyButton.cjs.map +1 -1
- package/dist/components/CopyButton/CopyButton.js +33 -42
- package/dist/components/CopyButton/CopyButton.js.map +1 -1
- package/dist/components/CopyButton/CopyButton.module.cjs +2 -0
- package/dist/components/CopyButton/CopyButton.module.cjs.map +1 -0
- package/dist/components/CopyButton/CopyButton.module.js +9 -0
- package/dist/components/CopyButton/CopyButton.module.js.map +1 -0
- package/dist/components/DataList/DataList.cjs +2 -2
- package/dist/components/DataList/DataList.cjs.map +1 -1
- package/dist/components/DataList/DataList.js +17 -16
- package/dist/components/DataList/DataList.js.map +1 -1
- package/dist/components/DataList/DataList.module.cjs +2 -0
- package/dist/components/DataList/DataList.module.cjs.map +1 -0
- package/dist/components/DataList/DataList.module.js +9 -0
- package/dist/components/DataList/DataList.module.js.map +1 -0
- package/dist/components/DataTable/DataTable.cjs +2 -2
- package/dist/components/DataTable/DataTable.cjs.map +1 -1
- package/dist/components/DataTable/DataTable.js +109 -109
- package/dist/components/DataTable/DataTable.js.map +1 -1
- package/dist/components/DataTable/DataTable.module.cjs +2 -0
- package/dist/components/DataTable/DataTable.module.cjs.map +1 -0
- package/dist/components/DataTable/DataTable.module.js +11 -0
- package/dist/components/DataTable/DataTable.module.js.map +1 -0
- package/dist/components/DatePicker/DatePicker.cjs +2 -2
- package/dist/components/DatePicker/DatePicker.cjs.map +1 -1
- package/dist/components/DatePicker/DatePicker.js +16 -18
- package/dist/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/DateRangePicker/DateRangePicker.cjs +2 -2
- package/dist/components/DateRangePicker/DateRangePicker.cjs.map +1 -1
- package/dist/components/DateRangePicker/DateRangePicker.js +156 -143
- package/dist/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/dist/components/DateRangePicker/DateRangePicker.module.cjs +2 -0
- package/dist/components/DateRangePicker/DateRangePicker.module.cjs.map +1 -0
- package/dist/components/DateRangePicker/DateRangePicker.module.js +24 -0
- package/dist/components/DateRangePicker/DateRangePicker.module.js.map +1 -0
- package/dist/components/DescriptionList/DescriptionList.cjs +2 -2
- package/dist/components/DescriptionList/DescriptionList.cjs.map +1 -1
- package/dist/components/DescriptionList/DescriptionList.js +20 -12
- package/dist/components/DescriptionList/DescriptionList.js.map +1 -1
- package/dist/components/DescriptionList/DescriptionList.module.cjs +2 -0
- package/dist/components/DescriptionList/DescriptionList.module.cjs.map +1 -0
- package/dist/components/DescriptionList/DescriptionList.module.js +10 -0
- package/dist/components/DescriptionList/DescriptionList.module.js.map +1 -0
- package/dist/components/Divider/Divider.cjs +2 -2
- package/dist/components/Divider/Divider.cjs.map +1 -1
- package/dist/components/Divider/Divider.js +21 -56
- package/dist/components/Divider/Divider.js.map +1 -1
- package/dist/components/Divider/Divider.module.cjs +2 -0
- package/dist/components/Divider/Divider.module.cjs.map +1 -0
- package/dist/components/Divider/Divider.module.js +14 -0
- package/dist/components/Divider/Divider.module.js.map +1 -0
- package/dist/components/Drawer/Drawer.cjs +2 -2
- package/dist/components/Drawer/Drawer.cjs.map +1 -1
- package/dist/components/Drawer/Drawer.js +77 -94
- package/dist/components/Drawer/Drawer.js.map +1 -1
- package/dist/components/Drawer/Drawer.module.cjs +2 -0
- package/dist/components/Drawer/Drawer.module.cjs.map +1 -0
- package/dist/components/Drawer/Drawer.module.js +25 -0
- package/dist/components/Drawer/Drawer.module.js.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenu.cjs +2 -2
- package/dist/components/DropdownMenu/DropdownMenu.cjs.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.js +98 -107
- package/dist/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.module.cjs +2 -0
- package/dist/components/DropdownMenu/DropdownMenu.module.cjs.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenu.module.js +19 -0
- package/dist/components/DropdownMenu/DropdownMenu.module.js.map +1 -0
- package/dist/components/Dropzone/Dropzone.cjs +2 -2
- package/dist/components/Dropzone/Dropzone.cjs.map +1 -1
- package/dist/components/Dropzone/Dropzone.js +59 -79
- package/dist/components/Dropzone/Dropzone.js.map +1 -1
- package/dist/components/Dropzone/Dropzone.module.cjs +2 -0
- package/dist/components/Dropzone/Dropzone.module.cjs.map +1 -0
- package/dist/components/Dropzone/Dropzone.module.js +12 -0
- package/dist/components/Dropzone/Dropzone.module.js.map +1 -0
- package/dist/components/EmptyState/EmptyState.cjs +2 -2
- package/dist/components/EmptyState/EmptyState.cjs.map +1 -1
- package/dist/components/EmptyState/EmptyState.js +30 -14
- package/dist/components/EmptyState/EmptyState.js.map +1 -1
- package/dist/components/EmptyState/EmptyState.module.cjs +2 -0
- package/dist/components/EmptyState/EmptyState.module.cjs.map +1 -0
- package/dist/components/EmptyState/EmptyState.module.js +12 -0
- package/dist/components/EmptyState/EmptyState.module.js.map +1 -0
- package/dist/components/ErrorState/ErrorState.cjs +2 -2
- package/dist/components/ErrorState/ErrorState.cjs.map +1 -1
- package/dist/components/ErrorState/ErrorState.js +49 -33
- package/dist/components/ErrorState/ErrorState.js.map +1 -1
- package/dist/components/ErrorState/ErrorState.module.cjs +2 -0
- package/dist/components/ErrorState/ErrorState.module.cjs.map +1 -0
- package/dist/components/ErrorState/ErrorState.module.js +12 -0
- package/dist/components/ErrorState/ErrorState.module.js.map +1 -0
- package/dist/components/ErrorText/ErrorText.cjs +2 -2
- package/dist/components/ErrorText/ErrorText.cjs.map +1 -1
- package/dist/components/ErrorText/ErrorText.js +15 -9
- package/dist/components/ErrorText/ErrorText.js.map +1 -1
- package/dist/components/ErrorText/ErrorText.module.cjs +2 -0
- package/dist/components/ErrorText/ErrorText.module.cjs.map +1 -0
- package/dist/components/ErrorText/ErrorText.module.js +6 -0
- package/dist/components/ErrorText/ErrorText.module.js.map +1 -0
- package/dist/components/FileUpload/FileUpload.cjs +2 -2
- package/dist/components/FileUpload/FileUpload.cjs.map +1 -1
- package/dist/components/FileUpload/FileUpload.js +125 -123
- package/dist/components/FileUpload/FileUpload.js.map +1 -1
- package/dist/components/FileUpload/FileUpload.module.cjs +2 -0
- package/dist/components/FileUpload/FileUpload.module.cjs.map +1 -0
- package/dist/components/FileUpload/FileUpload.module.js +20 -0
- package/dist/components/FileUpload/FileUpload.module.js.map +1 -0
- package/dist/components/FloatingActionButton/FloatingActionButton.cjs +2 -2
- package/dist/components/FloatingActionButton/FloatingActionButton.cjs.map +1 -1
- package/dist/components/FloatingActionButton/FloatingActionButton.js +22 -38
- package/dist/components/FloatingActionButton/FloatingActionButton.js.map +1 -1
- package/dist/components/FloatingActionButton/FloatingActionButton.module.cjs +2 -0
- package/dist/components/FloatingActionButton/FloatingActionButton.module.cjs.map +1 -0
- package/dist/components/FloatingActionButton/FloatingActionButton.module.js +20 -0
- package/dist/components/FloatingActionButton/FloatingActionButton.module.js.map +1 -0
- package/dist/components/For/For.cjs +2 -2
- package/dist/components/For/For.cjs.map +1 -1
- package/dist/components/For/For.js +9 -8
- package/dist/components/For/For.js.map +1 -1
- package/dist/components/Form/Form.cjs +2 -2
- package/dist/components/Form/Form.cjs.map +1 -1
- package/dist/components/Form/Form.js +72 -66
- package/dist/components/Form/Form.js.map +1 -1
- package/dist/components/Form/Form.module.cjs +2 -0
- package/dist/components/Form/Form.module.cjs.map +1 -0
- package/dist/components/Form/Form.module.js +22 -0
- package/dist/components/Form/Form.module.js.map +1 -0
- package/dist/components/HoverCard/HoverCard.cjs +2 -2
- package/dist/components/HoverCard/HoverCard.cjs.map +1 -1
- package/dist/components/HoverCard/HoverCard.js +35 -47
- package/dist/components/HoverCard/HoverCard.js.map +1 -1
- package/dist/components/HoverCard/HoverCard.module.cjs +2 -0
- package/dist/components/HoverCard/HoverCard.module.cjs.map +1 -0
- package/dist/components/HoverCard/HoverCard.module.js +15 -0
- package/dist/components/HoverCard/HoverCard.module.js.map +1 -0
- package/dist/components/Image/Image.cjs +2 -2
- package/dist/components/Image/Image.cjs.map +1 -1
- package/dist/components/Image/Image.js +21 -31
- package/dist/components/Image/Image.js.map +1 -1
- package/dist/components/Image/Image.module.cjs +2 -0
- package/dist/components/Image/Image.module.cjs.map +1 -0
- package/dist/components/Image/Image.module.js +6 -0
- package/dist/components/Image/Image.module.js.map +1 -0
- package/dist/components/Input/Input.cjs +2 -2
- package/dist/components/Input/Input.cjs.map +1 -1
- package/dist/components/Input/Input.js +55 -51
- package/dist/components/Input/Input.js.map +1 -1
- package/dist/components/Input/Input.module.cjs +2 -0
- package/dist/components/Input/Input.module.cjs.map +1 -0
- package/dist/components/Input/Input.module.js +22 -0
- package/dist/components/Input/Input.module.js.map +1 -0
- package/dist/components/InstallBanner/InstallBanner.cjs +2 -2
- package/dist/components/InstallBanner/InstallBanner.cjs.map +1 -1
- package/dist/components/InstallBanner/InstallBanner.js +63 -64
- package/dist/components/InstallBanner/InstallBanner.js.map +1 -1
- package/dist/components/InstallBanner/InstallBanner.module.cjs +2 -0
- package/dist/components/InstallBanner/InstallBanner.module.cjs.map +1 -0
- package/dist/components/InstallBanner/InstallBanner.module.js +13 -0
- package/dist/components/InstallBanner/InstallBanner.module.js.map +1 -0
- package/dist/components/InstallButton/InstallButton.cjs +2 -2
- package/dist/components/InstallButton/InstallButton.cjs.map +1 -1
- package/dist/components/InstallButton/InstallButton.js +17 -19
- package/dist/components/InstallButton/InstallButton.js.map +1 -1
- package/dist/components/Kbd/Kbd.cjs +2 -2
- package/dist/components/Kbd/Kbd.cjs.map +1 -1
- package/dist/components/Kbd/Kbd.js +13 -8
- package/dist/components/Kbd/Kbd.js.map +1 -1
- package/dist/components/Kbd/Kbd.module.cjs +2 -0
- package/dist/components/Kbd/Kbd.module.cjs.map +1 -0
- package/dist/components/Kbd/Kbd.module.js +11 -0
- package/dist/components/Kbd/Kbd.module.js.map +1 -0
- package/dist/components/Label/Label.cjs +2 -2
- package/dist/components/Label/Label.cjs.map +1 -1
- package/dist/components/Label/Label.js +20 -13
- package/dist/components/Label/Label.js.map +1 -1
- package/dist/components/Label/Label.module.cjs +2 -0
- package/dist/components/Label/Label.module.cjs.map +1 -0
- package/dist/components/Label/Label.module.js +9 -0
- package/dist/components/Label/Label.module.js.map +1 -0
- package/dist/components/Layout/Layout.cjs +2 -2
- package/dist/components/Layout/Layout.cjs.map +1 -1
- package/dist/components/Layout/Layout.js +56 -72
- package/dist/components/Layout/Layout.js.map +1 -1
- package/dist/components/Layout/Layout.module.cjs +2 -0
- package/dist/components/Layout/Layout.module.cjs.map +1 -0
- package/dist/components/Layout/Layout.module.js +26 -0
- package/dist/components/Layout/Layout.module.js.map +1 -0
- package/dist/components/Lightbox/Lightbox.cjs +2 -0
- package/dist/components/Lightbox/Lightbox.cjs.map +1 -0
- package/dist/components/Lightbox/Lightbox.js +148 -0
- package/dist/components/Lightbox/Lightbox.js.map +1 -0
- package/dist/components/Lightbox/Lightbox.module.cjs +2 -0
- package/dist/components/Lightbox/Lightbox.module.cjs.map +1 -0
- package/dist/components/Lightbox/Lightbox.module.js +21 -0
- package/dist/components/Lightbox/Lightbox.module.js.map +1 -0
- package/dist/components/ListTile/ListTile.cjs +2 -2
- package/dist/components/ListTile/ListTile.cjs.map +1 -1
- package/dist/components/ListTile/ListTile.js +40 -41
- package/dist/components/ListTile/ListTile.js.map +1 -1
- package/dist/components/ListTile/ListTile.module.cjs +2 -0
- package/dist/components/ListTile/ListTile.module.cjs.map +1 -0
- package/dist/components/ListTile/ListTile.module.js +16 -0
- package/dist/components/ListTile/ListTile.module.js.map +1 -0
- package/dist/components/Menubar/Menubar.cjs +2 -2
- package/dist/components/Menubar/Menubar.cjs.map +1 -1
- package/dist/components/Menubar/Menubar.js +94 -82
- package/dist/components/Menubar/Menubar.js.map +1 -1
- package/dist/components/Menubar/Menubar.module.cjs +2 -0
- package/dist/components/Menubar/Menubar.module.cjs.map +1 -0
- package/dist/components/Menubar/Menubar.module.js +17 -0
- package/dist/components/Menubar/Menubar.module.js.map +1 -0
- package/dist/components/Modal/Modal.cjs +2 -2
- package/dist/components/Modal/Modal.cjs.map +1 -1
- package/dist/components/Modal/Modal.js +80 -94
- package/dist/components/Modal/Modal.js.map +1 -1
- package/dist/components/Modal/Modal.module.cjs +2 -0
- package/dist/components/Modal/Modal.module.cjs.map +1 -0
- package/dist/components/Modal/Modal.module.js +24 -0
- package/dist/components/Modal/Modal.module.js.map +1 -0
- package/dist/components/ModalsManager/ModalsManager.cjs +2 -2
- package/dist/components/ModalsManager/ModalsManager.cjs.map +1 -1
- package/dist/components/ModalsManager/ModalsManager.js +93 -84
- package/dist/components/ModalsManager/ModalsManager.js.map +1 -1
- package/dist/components/ModalsManager/ModalsManager.module.cjs +2 -0
- package/dist/components/ModalsManager/ModalsManager.module.cjs.map +1 -0
- package/dist/components/ModalsManager/ModalsManager.module.js +6 -0
- package/dist/components/ModalsManager/ModalsManager.module.js.map +1 -0
- package/dist/components/Money/Money.cjs +2 -2
- package/dist/components/Money/Money.cjs.map +1 -1
- package/dist/components/Money/Money.js +15 -11
- package/dist/components/Money/Money.js.map +1 -1
- package/dist/components/MultiSelect/MultiSelect.cjs +2 -2
- package/dist/components/MultiSelect/MultiSelect.cjs.map +1 -1
- package/dist/components/MultiSelect/MultiSelect.js +128 -153
- package/dist/components/MultiSelect/MultiSelect.js.map +1 -1
- package/dist/components/MultiSelect/MultiSelect.module.cjs +2 -0
- package/dist/components/MultiSelect/MultiSelect.module.cjs.map +1 -0
- package/dist/components/MultiSelect/MultiSelect.module.js +23 -0
- package/dist/components/MultiSelect/MultiSelect.module.js.map +1 -0
- package/dist/components/NProgress/NProgress.cjs +2 -2
- package/dist/components/NProgress/NProgress.cjs.map +1 -1
- package/dist/components/NProgress/NProgress.js +84 -63
- package/dist/components/NProgress/NProgress.js.map +1 -1
- package/dist/components/NProgress/NProgress.module.cjs +2 -0
- package/dist/components/NProgress/NProgress.module.cjs.map +1 -0
- package/dist/components/NProgress/NProgress.module.js +6 -0
- package/dist/components/NProgress/NProgress.module.js.map +1 -0
- package/dist/components/Navbar/Navbar.cjs +2 -2
- package/dist/components/Navbar/Navbar.cjs.map +1 -1
- package/dist/components/Navbar/Navbar.js +27 -35
- package/dist/components/Navbar/Navbar.js.map +1 -1
- package/dist/components/Navbar/Navbar.module.cjs +2 -0
- package/dist/components/Navbar/Navbar.module.cjs.map +1 -0
- package/dist/components/Navbar/Navbar.module.js +16 -0
- package/dist/components/Navbar/Navbar.module.js.map +1 -0
- package/dist/components/NavigationMenu/NavigationMenu.cjs +2 -2
- package/dist/components/NavigationMenu/NavigationMenu.cjs.map +1 -1
- package/dist/components/NavigationMenu/NavigationMenu.js +81 -77
- package/dist/components/NavigationMenu/NavigationMenu.js.map +1 -1
- package/dist/components/NavigationMenu/NavigationMenu.module.cjs +2 -0
- package/dist/components/NavigationMenu/NavigationMenu.module.cjs.map +1 -0
- package/dist/components/NavigationMenu/NavigationMenu.module.js +15 -0
- package/dist/components/NavigationMenu/NavigationMenu.module.js.map +1 -0
- package/dist/components/NavigationRail/NavigationRail.cjs +2 -2
- package/dist/components/NavigationRail/NavigationRail.cjs.map +1 -1
- package/dist/components/NavigationRail/NavigationRail.js +50 -41
- package/dist/components/NavigationRail/NavigationRail.js.map +1 -1
- package/dist/components/NavigationRail/NavigationRail.module.cjs +2 -0
- package/dist/components/NavigationRail/NavigationRail.module.cjs.map +1 -0
- package/dist/components/NavigationRail/NavigationRail.module.js +17 -0
- package/dist/components/NavigationRail/NavigationRail.module.js.map +1 -0
- package/dist/components/OfflineIndicator/OfflineIndicator.cjs +2 -2
- package/dist/components/OfflineIndicator/OfflineIndicator.cjs.map +1 -1
- package/dist/components/OfflineIndicator/OfflineIndicator.js +35 -49
- package/dist/components/OfflineIndicator/OfflineIndicator.js.map +1 -1
- package/dist/components/OfflineIndicator/OfflineIndicator.module.cjs +2 -0
- package/dist/components/OfflineIndicator/OfflineIndicator.module.cjs.map +1 -0
- package/dist/components/OfflineIndicator/OfflineIndicator.module.js +13 -0
- package/dist/components/OfflineIndicator/OfflineIndicator.module.js.map +1 -0
- package/dist/components/Page/Page.cjs +2 -2
- package/dist/components/Page/Page.cjs.map +1 -1
- package/dist/components/Page/Page.js +51 -33
- package/dist/components/Page/Page.js.map +1 -1
- package/dist/components/Page/Page.module.cjs +2 -0
- package/dist/components/Page/Page.module.cjs.map +1 -0
- package/dist/components/Page/Page.module.js +18 -0
- package/dist/components/Page/Page.module.js.map +1 -0
- package/dist/components/Pagination/Pagination.cjs +2 -2
- package/dist/components/Pagination/Pagination.cjs.map +1 -1
- package/dist/components/Pagination/Pagination.js +73 -95
- package/dist/components/Pagination/Pagination.js.map +1 -1
- package/dist/components/Pagination/Pagination.module.cjs +2 -0
- package/dist/components/Pagination/Pagination.module.cjs.map +1 -0
- package/dist/components/Pagination/Pagination.module.js +15 -0
- package/dist/components/Pagination/Pagination.module.js.map +1 -0
- package/dist/components/PasswordInput/PasswordInput.cjs +2 -2
- package/dist/components/PasswordInput/PasswordInput.cjs.map +1 -1
- package/dist/components/PasswordInput/PasswordInput.js +77 -75
- package/dist/components/PasswordInput/PasswordInput.js.map +1 -1
- package/dist/components/PasswordInput/PasswordInput.module.cjs +2 -0
- package/dist/components/PasswordInput/PasswordInput.module.cjs.map +1 -0
- package/dist/components/PasswordInput/PasswordInput.module.js +26 -0
- package/dist/components/PasswordInput/PasswordInput.module.js.map +1 -0
- package/dist/components/PinInput/PinInput.cjs +2 -2
- package/dist/components/PinInput/PinInput.cjs.map +1 -1
- package/dist/components/PinInput/PinInput.js +77 -85
- package/dist/components/PinInput/PinInput.js.map +1 -1
- package/dist/components/PinInput/PinInput.module.cjs +2 -0
- package/dist/components/PinInput/PinInput.module.cjs.map +1 -0
- package/dist/components/PinInput/PinInput.module.js +17 -0
- package/dist/components/PinInput/PinInput.module.js.map +1 -0
- package/dist/components/Popover/Popover.cjs +2 -2
- package/dist/components/Popover/Popover.cjs.map +1 -1
- package/dist/components/Popover/Popover.js +50 -59
- package/dist/components/Popover/Popover.js.map +1 -1
- package/dist/components/Popover/Popover.module.cjs +2 -0
- package/dist/components/Popover/Popover.module.cjs.map +1 -0
- package/dist/components/Popover/Popover.module.js +14 -0
- package/dist/components/Popover/Popover.module.js.map +1 -0
- package/dist/components/Portal/Portal.cjs +2 -2
- package/dist/components/Portal/Portal.cjs.map +1 -1
- package/dist/components/Portal/Portal.js +10 -9
- package/dist/components/Portal/Portal.js.map +1 -1
- package/dist/components/Progress/Progress.cjs +2 -2
- package/dist/components/Progress/Progress.cjs.map +1 -1
- package/dist/components/Progress/Progress.js +29 -47
- package/dist/components/Progress/Progress.js.map +1 -1
- package/dist/components/Progress/Progress.module.cjs +2 -0
- package/dist/components/Progress/Progress.module.cjs.map +1 -0
- package/dist/components/Progress/Progress.module.js +16 -0
- package/dist/components/Progress/Progress.module.js.map +1 -0
- package/dist/components/Radio/Radio.cjs +2 -2
- package/dist/components/Radio/Radio.cjs.map +1 -1
- package/dist/components/Radio/Radio.js +62 -80
- package/dist/components/Radio/Radio.js.map +1 -1
- package/dist/components/Radio/Radio.module.cjs +2 -0
- package/dist/components/Radio/Radio.module.cjs.map +1 -0
- package/dist/components/Radio/Radio.module.js +16 -0
- package/dist/components/Radio/Radio.module.js.map +1 -0
- package/dist/components/RangeSlider/RangeSlider.cjs +2 -2
- package/dist/components/RangeSlider/RangeSlider.cjs.map +1 -1
- package/dist/components/RangeSlider/RangeSlider.js +75 -78
- package/dist/components/RangeSlider/RangeSlider.js.map +1 -1
- package/dist/components/RangeSlider/RangeSlider.module.cjs +2 -0
- package/dist/components/RangeSlider/RangeSlider.module.cjs.map +1 -0
- package/dist/components/RangeSlider/RangeSlider.module.js +15 -0
- package/dist/components/RangeSlider/RangeSlider.module.js.map +1 -0
- package/dist/components/RatingStars/RatingStars.cjs +2 -2
- package/dist/components/RatingStars/RatingStars.cjs.map +1 -1
- package/dist/components/RatingStars/RatingStars.js +45 -69
- package/dist/components/RatingStars/RatingStars.js.map +1 -1
- package/dist/components/RatingStars/RatingStars.module.cjs +2 -0
- package/dist/components/RatingStars/RatingStars.module.cjs.map +1 -0
- package/dist/components/RatingStars/RatingStars.module.js +15 -0
- package/dist/components/RatingStars/RatingStars.module.js.map +1 -0
- package/dist/components/RefreshIndicator/RefreshIndicator.cjs +2 -2
- package/dist/components/RefreshIndicator/RefreshIndicator.cjs.map +1 -1
- package/dist/components/RefreshIndicator/RefreshIndicator.js +74 -88
- package/dist/components/RefreshIndicator/RefreshIndicator.js.map +1 -1
- package/dist/components/RefreshIndicator/RefreshIndicator.module.cjs +2 -0
- package/dist/components/RefreshIndicator/RefreshIndicator.module.cjs.map +1 -0
- package/dist/components/RefreshIndicator/RefreshIndicator.module.js +11 -0
- package/dist/components/RefreshIndicator/RefreshIndicator.module.js.map +1 -0
- package/dist/components/RelativeTime/RelativeTime.cjs +2 -2
- package/dist/components/RelativeTime/RelativeTime.cjs.map +1 -1
- package/dist/components/RelativeTime/RelativeTime.js +14 -9
- package/dist/components/RelativeTime/RelativeTime.js.map +1 -1
- package/dist/components/Resizable/Resizable.cjs +2 -2
- package/dist/components/Resizable/Resizable.cjs.map +1 -1
- package/dist/components/Resizable/Resizable.js +80 -87
- package/dist/components/Resizable/Resizable.js.map +1 -1
- package/dist/components/Resizable/Resizable.module.cjs +2 -0
- package/dist/components/Resizable/Resizable.module.cjs.map +1 -0
- package/dist/components/Resizable/Resizable.module.js +13 -0
- package/dist/components/Resizable/Resizable.module.js.map +1 -0
- package/dist/components/Responsive/Responsive.cjs +2 -2
- package/dist/components/Responsive/Responsive.cjs.map +1 -1
- package/dist/components/Responsive/Responsive.js +14 -14
- package/dist/components/Responsive/Responsive.js.map +1 -1
- package/dist/components/SafeArea/SafeArea.cjs +2 -2
- package/dist/components/SafeArea/SafeArea.cjs.map +1 -1
- package/dist/components/SafeArea/SafeArea.js +21 -32
- package/dist/components/SafeArea/SafeArea.js.map +1 -1
- package/dist/components/SafeArea/SafeArea.module.cjs +2 -0
- package/dist/components/SafeArea/SafeArea.module.cjs.map +1 -0
- package/dist/components/SafeArea/SafeArea.module.js +13 -0
- package/dist/components/SafeArea/SafeArea.module.js.map +1 -0
- package/dist/components/ScrollArea/ScrollArea.cjs +2 -2
- package/dist/components/ScrollArea/ScrollArea.cjs.map +1 -1
- package/dist/components/ScrollArea/ScrollArea.js +23 -16
- package/dist/components/ScrollArea/ScrollArea.js.map +1 -1
- package/dist/components/ScrollArea/ScrollArea.module.cjs +2 -0
- package/dist/components/ScrollArea/ScrollArea.module.cjs.map +1 -0
- package/dist/components/ScrollArea/ScrollArea.module.js +6 -0
- package/dist/components/ScrollArea/ScrollArea.module.js.map +1 -0
- package/dist/components/SearchBar/SearchBar.cjs +2 -2
- package/dist/components/SearchBar/SearchBar.cjs.map +1 -1
- package/dist/components/SearchBar/SearchBar.js +71 -52
- package/dist/components/SearchBar/SearchBar.js.map +1 -1
- package/dist/components/SearchBar/SearchBar.module.cjs +2 -0
- package/dist/components/SearchBar/SearchBar.module.cjs.map +1 -0
- package/dist/components/SearchBar/SearchBar.module.js +11 -0
- package/dist/components/SearchBar/SearchBar.module.js.map +1 -0
- package/dist/components/SegmentedControl/SegmentedControl.cjs +2 -2
- package/dist/components/SegmentedControl/SegmentedControl.cjs.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.js +33 -45
- package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.module.cjs +2 -0
- package/dist/components/SegmentedControl/SegmentedControl.module.cjs.map +1 -0
- package/dist/components/SegmentedControl/SegmentedControl.module.js +16 -0
- package/dist/components/SegmentedControl/SegmentedControl.module.js.map +1 -0
- package/dist/components/Select/Select.cjs +2 -2
- package/dist/components/Select/Select.cjs.map +1 -1
- package/dist/components/Select/Select.js +74 -59
- package/dist/components/Select/Select.js.map +1 -1
- package/dist/components/Select/Select.module.cjs +2 -0
- package/dist/components/Select/Select.module.cjs.map +1 -0
- package/dist/components/Select/Select.module.js +16 -0
- package/dist/components/Select/Select.module.js.map +1 -0
- package/dist/components/Sidebar/Sidebar.cjs +2 -2
- package/dist/components/Sidebar/Sidebar.cjs.map +1 -1
- package/dist/components/Sidebar/Sidebar.js +57 -53
- package/dist/components/Sidebar/Sidebar.js.map +1 -1
- package/dist/components/Sidebar/Sidebar.module.cjs +2 -0
- package/dist/components/Sidebar/Sidebar.module.cjs.map +1 -0
- package/dist/components/Sidebar/Sidebar.module.js +17 -0
- package/dist/components/Sidebar/Sidebar.module.js.map +1 -0
- package/dist/components/SignaturePad/SignaturePad.cjs +2 -0
- package/dist/components/SignaturePad/SignaturePad.cjs.map +1 -0
- package/dist/components/SignaturePad/SignaturePad.js +115 -0
- package/dist/components/SignaturePad/SignaturePad.js.map +1 -0
- package/dist/components/SignaturePad/SignaturePad.module.cjs +2 -0
- package/dist/components/SignaturePad/SignaturePad.module.cjs.map +1 -0
- package/dist/components/SignaturePad/SignaturePad.module.js +11 -0
- package/dist/components/SignaturePad/SignaturePad.module.js.map +1 -0
- package/dist/components/Skeleton/Skeleton.cjs +2 -2
- package/dist/components/Skeleton/Skeleton.cjs.map +1 -1
- package/dist/components/Skeleton/Skeleton.js +18 -21
- package/dist/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/components/Skeleton/Skeleton.module.cjs +2 -0
- package/dist/components/Skeleton/Skeleton.module.cjs.map +1 -0
- package/dist/components/Skeleton/Skeleton.module.js +12 -0
- package/dist/components/Skeleton/Skeleton.module.js.map +1 -0
- package/dist/components/Slider/Slider.cjs +2 -2
- package/dist/components/Slider/Slider.cjs.map +1 -1
- package/dist/components/Slider/Slider.js +58 -55
- package/dist/components/Slider/Slider.js.map +1 -1
- package/dist/components/Slider/Slider.module.cjs +2 -0
- package/dist/components/Slider/Slider.module.cjs.map +1 -0
- package/dist/components/Slider/Slider.module.js +15 -0
- package/dist/components/Slider/Slider.module.js.map +1 -0
- package/dist/components/Spacer/Spacer.cjs +2 -2
- package/dist/components/Spacer/Spacer.cjs.map +1 -1
- package/dist/components/Spacer/Spacer.js +13 -9
- package/dist/components/Spacer/Spacer.js.map +1 -1
- package/dist/components/Spacer/Spacer.module.cjs +2 -0
- package/dist/components/Spacer/Spacer.module.cjs.map +1 -0
- package/dist/components/Spacer/Spacer.module.js +11 -0
- package/dist/components/Spacer/Spacer.module.js.map +1 -0
- package/dist/components/Spinner/Spinner.cjs +2 -2
- package/dist/components/Spinner/Spinner.cjs.map +1 -1
- package/dist/components/Spinner/Spinner.js +26 -34
- package/dist/components/Spinner/Spinner.js.map +1 -1
- package/dist/components/Spinner/Spinner.module.cjs +2 -0
- package/dist/components/Spinner/Spinner.module.cjs.map +1 -0
- package/dist/components/Spinner/Spinner.module.js +17 -0
- package/dist/components/Spinner/Spinner.module.js.map +1 -0
- package/dist/components/Stat/Stat.cjs +2 -2
- package/dist/components/Stat/Stat.cjs.map +1 -1
- package/dist/components/Stat/Stat.js +45 -36
- package/dist/components/Stat/Stat.js.map +1 -1
- package/dist/components/Stat/Stat.module.cjs +2 -0
- package/dist/components/Stat/Stat.module.cjs.map +1 -0
- package/dist/components/Stat/Stat.module.js +18 -0
- package/dist/components/Stat/Stat.module.js.map +1 -0
- package/dist/components/Stepper/Stepper.cjs +2 -2
- package/dist/components/Stepper/Stepper.cjs.map +1 -1
- package/dist/components/Stepper/Stepper.js +54 -42
- package/dist/components/Stepper/Stepper.js.map +1 -1
- package/dist/components/Stepper/Stepper.module.cjs +2 -0
- package/dist/components/Stepper/Stepper.module.cjs.map +1 -0
- package/dist/components/Stepper/Stepper.module.js +18 -0
- package/dist/components/Stepper/Stepper.module.js.map +1 -0
- package/dist/components/StepperInput/StepperInput.cjs +2 -2
- package/dist/components/StepperInput/StepperInput.cjs.map +1 -1
- package/dist/components/StepperInput/StepperInput.js +53 -55
- package/dist/components/StepperInput/StepperInput.js.map +1 -1
- package/dist/components/StepperInput/StepperInput.module.cjs +2 -0
- package/dist/components/StepperInput/StepperInput.module.cjs.map +1 -0
- package/dist/components/StepperInput/StepperInput.module.js +16 -0
- package/dist/components/StepperInput/StepperInput.module.js.map +1 -0
- package/dist/components/Switch/Switch.cjs +2 -2
- package/dist/components/Switch/Switch.cjs.map +1 -1
- package/dist/components/Switch/Switch.js +32 -24
- package/dist/components/Switch/Switch.js.map +1 -1
- package/dist/components/Switch/Switch.module.cjs +2 -0
- package/dist/components/Switch/Switch.module.cjs.map +1 -0
- package/dist/components/Switch/Switch.module.js +13 -0
- package/dist/components/Switch/Switch.module.js.map +1 -0
- package/dist/components/SyncStatusBadge/SyncStatusBadge.cjs +2 -2
- package/dist/components/SyncStatusBadge/SyncStatusBadge.cjs.map +1 -1
- package/dist/components/SyncStatusBadge/SyncStatusBadge.js +58 -58
- package/dist/components/SyncStatusBadge/SyncStatusBadge.js.map +1 -1
- package/dist/components/SyncStatusBadge/SyncStatusBadge.module.cjs +2 -0
- package/dist/components/SyncStatusBadge/SyncStatusBadge.module.cjs.map +1 -0
- package/dist/components/SyncStatusBadge/SyncStatusBadge.module.js +18 -0
- package/dist/components/SyncStatusBadge/SyncStatusBadge.module.js.map +1 -0
- package/dist/components/Table/Table.cjs +2 -2
- package/dist/components/Table/Table.cjs.map +1 -1
- package/dist/components/Table/Table.js +41 -65
- package/dist/components/Table/Table.js.map +1 -1
- package/dist/components/Table/Table.module.cjs +2 -0
- package/dist/components/Table/Table.module.cjs.map +1 -0
- package/dist/components/Table/Table.module.js +21 -0
- package/dist/components/Table/Table.module.js.map +1 -0
- package/dist/components/Tabs/Tabs.cjs +2 -2
- package/dist/components/Tabs/Tabs.cjs.map +1 -1
- package/dist/components/Tabs/Tabs.js +41 -50
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/components/Tabs/Tabs.module.cjs +2 -0
- package/dist/components/Tabs/Tabs.module.cjs.map +1 -0
- package/dist/components/Tabs/Tabs.module.js +12 -0
- package/dist/components/Tabs/Tabs.module.js.map +1 -0
- package/dist/components/Tag/Tag.cjs +2 -2
- package/dist/components/Tag/Tag.cjs.map +1 -1
- package/dist/components/Tag/Tag.js +23 -29
- package/dist/components/Tag/Tag.js.map +1 -1
- package/dist/components/Tag/Tag.module.cjs +2 -0
- package/dist/components/Tag/Tag.module.cjs.map +1 -0
- package/dist/components/Tag/Tag.module.js +19 -0
- package/dist/components/Tag/Tag.module.js.map +1 -0
- package/dist/components/Textarea/Textarea.cjs +2 -2
- package/dist/components/Textarea/Textarea.cjs.map +1 -1
- package/dist/components/Textarea/Textarea.js +39 -28
- package/dist/components/Textarea/Textarea.js.map +1 -1
- package/dist/components/Textarea/Textarea.module.cjs +2 -0
- package/dist/components/Textarea/Textarea.module.cjs.map +1 -0
- package/dist/components/Textarea/Textarea.module.js +14 -0
- package/dist/components/Textarea/Textarea.module.js.map +1 -0
- package/dist/components/TimePicker/TimePicker.cjs +2 -2
- package/dist/components/TimePicker/TimePicker.cjs.map +1 -1
- package/dist/components/TimePicker/TimePicker.js +130 -102
- package/dist/components/TimePicker/TimePicker.js.map +1 -1
- package/dist/components/TimePicker/TimePicker.module.cjs +2 -0
- package/dist/components/TimePicker/TimePicker.module.cjs.map +1 -0
- package/dist/components/TimePicker/TimePicker.module.js +16 -0
- package/dist/components/TimePicker/TimePicker.module.js.map +1 -0
- package/dist/components/Timeline/Timeline.cjs +2 -2
- package/dist/components/Timeline/Timeline.cjs.map +1 -1
- package/dist/components/Timeline/Timeline.js +45 -34
- package/dist/components/Timeline/Timeline.js.map +1 -1
- package/dist/components/Timeline/Timeline.module.cjs +2 -0
- package/dist/components/Timeline/Timeline.module.cjs.map +1 -0
- package/dist/components/Timeline/Timeline.module.js +22 -0
- package/dist/components/Timeline/Timeline.module.js.map +1 -0
- package/dist/components/Toast/Toast.module.cjs +2 -0
- package/dist/components/Toast/Toast.module.cjs.map +1 -0
- package/dist/components/Toast/Toast.module.js +23 -0
- package/dist/components/Toast/Toast.module.js.map +1 -0
- package/dist/components/Toast/ToastProvider.cjs +2 -2
- package/dist/components/Toast/ToastProvider.cjs.map +1 -1
- package/dist/components/Toast/ToastProvider.js +117 -108
- package/dist/components/Toast/ToastProvider.js.map +1 -1
- package/dist/components/Toggle/Toggle.cjs +2 -2
- package/dist/components/Toggle/Toggle.cjs.map +1 -1
- package/dist/components/Toggle/Toggle.js +31 -48
- package/dist/components/Toggle/Toggle.js.map +1 -1
- package/dist/components/Toggle/Toggle.module.cjs +2 -0
- package/dist/components/Toggle/Toggle.module.cjs.map +1 -0
- package/dist/components/Toggle/Toggle.module.js +13 -0
- package/dist/components/Toggle/Toggle.module.js.map +1 -0
- package/dist/components/ToggleGroup/ToggleGroup.cjs +2 -2
- package/dist/components/ToggleGroup/ToggleGroup.cjs.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroup.js +61 -70
- package/dist/components/ToggleGroup/ToggleGroup.js.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroup.module.cjs +2 -0
- package/dist/components/ToggleGroup/ToggleGroup.module.cjs.map +1 -0
- package/dist/components/ToggleGroup/ToggleGroup.module.js +10 -0
- package/dist/components/ToggleGroup/ToggleGroup.module.js.map +1 -0
- package/dist/components/Tooltip/Tooltip.cjs +2 -2
- package/dist/components/Tooltip/Tooltip.cjs.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +33 -42
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.module.cjs +2 -0
- package/dist/components/Tooltip/Tooltip.module.cjs.map +1 -0
- package/dist/components/Tooltip/Tooltip.module.js +14 -0
- package/dist/components/Tooltip/Tooltip.module.js.map +1 -0
- package/dist/components/TreeView/TreeView.cjs +2 -0
- package/dist/components/TreeView/TreeView.cjs.map +1 -0
- package/dist/components/TreeView/TreeView.js +124 -0
- package/dist/components/TreeView/TreeView.js.map +1 -0
- package/dist/components/TreeView/TreeView.module.cjs +2 -0
- package/dist/components/TreeView/TreeView.module.cjs.map +1 -0
- package/dist/components/TreeView/TreeView.module.js +17 -0
- package/dist/components/TreeView/TreeView.module.js.map +1 -0
- package/dist/components/TruncateText/TruncateText.cjs +2 -2
- package/dist/components/TruncateText/TruncateText.cjs.map +1 -1
- package/dist/components/TruncateText/TruncateText.js +19 -19
- package/dist/components/TruncateText/TruncateText.js.map +1 -1
- package/dist/components/TruncateText/TruncateText.module.cjs +2 -0
- package/dist/components/TruncateText/TruncateText.module.cjs.map +1 -0
- package/dist/components/TruncateText/TruncateText.module.js +6 -0
- package/dist/components/TruncateText/TruncateText.module.js.map +1 -0
- package/dist/components/UpdatePrompt/UpdatePrompt.cjs +2 -2
- package/dist/components/UpdatePrompt/UpdatePrompt.cjs.map +1 -1
- package/dist/components/UpdatePrompt/UpdatePrompt.js +43 -42
- package/dist/components/UpdatePrompt/UpdatePrompt.js.map +1 -1
- package/dist/components/UpdatePrompt/UpdatePrompt.module.cjs +2 -0
- package/dist/components/UpdatePrompt/UpdatePrompt.module.cjs.map +1 -0
- package/dist/components/UpdatePrompt/UpdatePrompt.module.js +14 -0
- package/dist/components/UpdatePrompt/UpdatePrompt.module.js.map +1 -0
- package/dist/components/VirtualList/VirtualList.cjs +2 -2
- package/dist/components/VirtualList/VirtualList.cjs.map +1 -1
- package/dist/components/VirtualList/VirtualList.js +44 -49
- package/dist/components/VirtualList/VirtualList.js.map +1 -1
- package/dist/components/VirtualList/VirtualList.module.cjs +2 -0
- package/dist/components/VirtualList/VirtualList.module.cjs.map +1 -0
- package/dist/components/VirtualList/VirtualList.module.js +10 -0
- package/dist/components/VirtualList/VirtualList.module.js.map +1 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.cjs +2 -2
- package/dist/components/VisuallyHidden/VisuallyHidden.cjs.map +1 -1
- package/dist/components/VisuallyHidden/VisuallyHidden.js +12 -13
- package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
- package/dist/components/VisuallyHidden/VisuallyHidden.module.cjs +2 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.module.cjs.map +1 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.module.js +6 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.module.js.map +1 -0
- package/dist/components/Wizard/Wizard.cjs +2 -0
- package/dist/components/Wizard/Wizard.cjs.map +1 -0
- package/dist/components/Wizard/Wizard.js +111 -0
- package/dist/components/Wizard/Wizard.js.map +1 -0
- package/dist/components/Wizard/Wizard.module.cjs +2 -0
- package/dist/components/Wizard/Wizard.module.cjs.map +1 -0
- package/dist/components/Wizard/Wizard.module.js +10 -0
- package/dist/components/Wizard/Wizard.module.js.map +1 -0
- package/dist/data/create-data-provider.cjs +2 -2
- package/dist/data/create-data-provider.cjs.map +1 -1
- package/dist/data/create-data-provider.js +36 -45
- package/dist/data/create-data-provider.js.map +1 -1
- package/dist/data/data-provider-context.cjs +2 -2
- package/dist/data/data-provider-context.cjs.map +1 -1
- package/dist/data/data-provider-context.js +17 -15
- package/dist/data/data-provider-context.js.map +1 -1
- package/dist/data/use-resource.cjs +2 -2
- package/dist/data/use-resource.cjs.map +1 -1
- package/dist/data/use-resource.js +76 -59
- package/dist/data/use-resource.js.map +1 -1
- package/dist/editor/RichTextEditor.cjs +2 -2
- package/dist/editor/RichTextEditor.cjs.map +1 -1
- package/dist/editor/RichTextEditor.js +189 -182
- package/dist/editor/RichTextEditor.js.map +1 -1
- package/dist/editor/RichTextEditor.module.cjs +2 -0
- package/dist/editor/RichTextEditor.module.cjs.map +1 -0
- package/dist/editor/RichTextEditor.module.js +13 -0
- package/dist/editor/RichTextEditor.module.js.map +1 -0
- package/dist/editor.cjs +1 -2
- package/dist/editor.d.ts +14 -1
- package/dist/editor.js +2 -5
- package/dist/error-boundary/ErrorBoundary.cjs +2 -2
- package/dist/error-boundary/ErrorBoundary.cjs.map +1 -1
- package/dist/error-boundary/ErrorBoundary.js +33 -30
- package/dist/error-boundary/ErrorBoundary.js.map +1 -1
- package/dist/error-boundary/use-error-handler.cjs +2 -2
- package/dist/error-boundary/use-error-handler.cjs.map +1 -1
- package/dist/error-boundary/use-error-handler.js +13 -12
- package/dist/error-boundary/use-error-handler.js.map +1 -1
- package/dist/feature-flags/FeatureFlagsProvider.cjs +2 -2
- package/dist/feature-flags/FeatureFlagsProvider.cjs.map +1 -1
- package/dist/feature-flags/FeatureFlagsProvider.js +23 -24
- package/dist/feature-flags/FeatureFlagsProvider.js.map +1 -1
- package/dist/feature-flags/growthbook-adapter.cjs +2 -2
- package/dist/feature-flags/growthbook-adapter.cjs.map +1 -1
- package/dist/feature-flags/growthbook-adapter.js +26 -26
- package/dist/feature-flags/growthbook-adapter.js.map +1 -1
- package/dist/feature-flags/in-memory-adapter.cjs +2 -2
- package/dist/feature-flags/in-memory-adapter.cjs.map +1 -1
- package/dist/feature-flags/in-memory-adapter.js +24 -23
- package/dist/feature-flags/in-memory-adapter.js.map +1 -1
- package/dist/feature-flags/launchdarkly-adapter.cjs +2 -2
- package/dist/feature-flags/launchdarkly-adapter.cjs.map +1 -1
- package/dist/feature-flags/launchdarkly-adapter.js +20 -20
- package/dist/feature-flags/launchdarkly-adapter.js.map +1 -1
- package/dist/forms/FormField.cjs +2 -2
- package/dist/forms/FormField.cjs.map +1 -1
- package/dist/forms/FormField.js +31 -36
- package/dist/forms/FormField.js.map +1 -1
- package/dist/forms/br-validators.cjs +2 -2
- package/dist/forms/br-validators.cjs.map +1 -1
- package/dist/forms/br-validators.js +60 -38
- package/dist/forms/br-validators.js.map +1 -1
- package/dist/forms/index.js +9 -0
- package/dist/forms/masked-inputs.cjs +2 -2
- package/dist/forms/masked-inputs.cjs.map +1 -1
- package/dist/forms/masked-inputs.js +38 -44
- package/dist/forms/masked-inputs.js.map +1 -1
- package/dist/forms/use-viacep.cjs +2 -2
- package/dist/forms/use-viacep.cjs.map +1 -1
- package/dist/forms/use-viacep.js +29 -23
- package/dist/forms/use-viacep.js.map +1 -1
- package/dist/forms/use-zod-form.cjs +2 -2
- package/dist/forms/use-zod-form.cjs.map +1 -1
- package/dist/forms/use-zod-form.js +12 -11
- package/dist/forms/use-zod-form.js.map +1 -1
- package/dist/forms/validate-form.cjs +2 -2
- package/dist/forms/validate-form.cjs.map +1 -1
- package/dist/forms/validate-form.js +21 -14
- package/dist/forms/validate-form.js.map +1 -1
- package/dist/forms/zod-resolver.cjs +2 -2
- package/dist/forms/zod-resolver.cjs.map +1 -1
- package/dist/forms/zod-resolver.js +25 -16
- package/dist/forms/zod-resolver.js.map +1 -1
- package/dist/geo/TrajectoryMap.cjs +2 -2
- package/dist/geo/TrajectoryMap.cjs.map +1 -1
- package/dist/geo/TrajectoryMap.js +238 -213
- package/dist/geo/TrajectoryMap.js.map +1 -1
- package/dist/geo/TrajectoryMap.module.cjs +2 -0
- package/dist/geo/TrajectoryMap.module.cjs.map +1 -0
- package/dist/geo/TrajectoryMap.module.js +20 -0
- package/dist/geo/TrajectoryMap.module.js.map +1 -0
- package/dist/geo/bounds.cjs +2 -2
- package/dist/geo/bounds.cjs.map +1 -1
- package/dist/geo/bounds.js +28 -25
- package/dist/geo/bounds.js.map +1 -1
- package/dist/geo/create-position-tracker.cjs +2 -2
- package/dist/geo/create-position-tracker.cjs.map +1 -1
- package/dist/geo/create-position-tracker.js +57 -64
- package/dist/geo/create-position-tracker.js.map +1 -1
- package/dist/geo/distance.cjs +2 -2
- package/dist/geo/distance.cjs.map +1 -1
- package/dist/geo/distance.js +18 -22
- package/dist/geo/distance.js.map +1 -1
- package/dist/geo/estimate.cjs +2 -2
- package/dist/geo/estimate.cjs.map +1 -1
- package/dist/geo/estimate.js +23 -32
- package/dist/geo/estimate.js.map +1 -1
- package/dist/geo/leaflet-map.cjs +2 -2
- package/dist/geo/leaflet-map.cjs.map +1 -1
- package/dist/geo/leaflet-map.js +62 -50
- package/dist/geo/leaflet-map.js.map +1 -1
- package/dist/geo/projection.cjs +2 -2
- package/dist/geo/projection.cjs.map +1 -1
- package/dist/geo/projection.js +39 -33
- package/dist/geo/projection.js.map +1 -1
- package/dist/geo/routing.cjs +2 -2
- package/dist/geo/routing.cjs.map +1 -1
- package/dist/geo/routing.js +24 -28
- package/dist/geo/routing.js.map +1 -1
- package/dist/geo/types.cjs +2 -2
- package/dist/geo/types.cjs.map +1 -1
- package/dist/geo/types.js +17 -20
- package/dist/geo/types.js.map +1 -1
- package/dist/geo/use-position-tracker.cjs +2 -2
- package/dist/geo/use-position-tracker.cjs.map +1 -1
- package/dist/geo/use-position-tracker.js +35 -34
- package/dist/geo/use-position-tracker.js.map +1 -1
- package/dist/hooks/pwa-env.cjs +2 -2
- package/dist/hooks/pwa-env.cjs.map +1 -1
- package/dist/hooks/pwa-env.js +19 -26
- package/dist/hooks/pwa-env.js.map +1 -1
- package/dist/hooks/use-async.cjs +2 -2
- package/dist/hooks/use-async.cjs.map +1 -1
- package/dist/hooks/use-async.js +57 -37
- package/dist/hooks/use-async.js.map +1 -1
- package/dist/hooks/use-before-install-prompt.cjs +2 -2
- package/dist/hooks/use-before-install-prompt.cjs.map +1 -1
- package/dist/hooks/use-before-install-prompt.js +39 -36
- package/dist/hooks/use-before-install-prompt.js.map +1 -1
- package/dist/hooks/use-breakpoint.cjs +2 -2
- package/dist/hooks/use-breakpoint.cjs.map +1 -1
- package/dist/hooks/use-breakpoint.js +42 -38
- package/dist/hooks/use-breakpoint.js.map +1 -1
- package/dist/hooks/use-click-outside.cjs +2 -2
- package/dist/hooks/use-click-outside.cjs.map +1 -1
- package/dist/hooks/use-click-outside.js +18 -17
- package/dist/hooks/use-click-outside.js.map +1 -1
- package/dist/hooks/use-client-filter.cjs +2 -2
- package/dist/hooks/use-client-filter.cjs.map +1 -1
- package/dist/hooks/use-client-filter.js +18 -15
- package/dist/hooks/use-client-filter.js.map +1 -1
- package/dist/hooks/use-clipboard.cjs +2 -2
- package/dist/hooks/use-clipboard.cjs.map +1 -1
- package/dist/hooks/use-clipboard.js +26 -28
- package/dist/hooks/use-clipboard.js.map +1 -1
- package/dist/hooks/use-counter.cjs +2 -2
- package/dist/hooks/use-counter.cjs.map +1 -1
- package/dist/hooks/use-counter.js +34 -25
- package/dist/hooks/use-counter.js.map +1 -1
- package/dist/hooks/use-debounce.cjs +2 -2
- package/dist/hooks/use-debounce.cjs.map +1 -1
- package/dist/hooks/use-debounce.js +12 -11
- package/dist/hooks/use-debounce.js.map +1 -1
- package/dist/hooks/use-deep-memo.cjs +2 -2
- package/dist/hooks/use-deep-memo.cjs.map +1 -1
- package/dist/hooks/use-deep-memo.js +15 -17
- package/dist/hooks/use-deep-memo.js.map +1 -1
- package/dist/hooks/use-disclosure.cjs +2 -2
- package/dist/hooks/use-disclosure.cjs.map +1 -1
- package/dist/hooks/use-disclosure.js +17 -11
- package/dist/hooks/use-disclosure.js.map +1 -1
- package/dist/hooks/use-document-title.cjs +2 -2
- package/dist/hooks/use-document-title.cjs.map +1 -1
- package/dist/hooks/use-document-title.js +14 -13
- package/dist/hooks/use-document-title.js.map +1 -1
- package/dist/hooks/use-document-visibility.cjs +2 -2
- package/dist/hooks/use-document-visibility.cjs.map +1 -1
- package/dist/hooks/use-document-visibility.js +13 -14
- package/dist/hooks/use-document-visibility.js.map +1 -1
- package/dist/hooks/use-event-listener.cjs +2 -2
- package/dist/hooks/use-event-listener.cjs.map +1 -1
- package/dist/hooks/use-event-listener.js +18 -13
- package/dist/hooks/use-event-listener.js.map +1 -1
- package/dist/hooks/use-favicon.cjs +2 -2
- package/dist/hooks/use-favicon.cjs.map +1 -1
- package/dist/hooks/use-favicon.js +12 -11
- package/dist/hooks/use-favicon.js.map +1 -1
- package/dist/hooks/use-focus-trap.cjs +2 -2
- package/dist/hooks/use-focus-trap.cjs.map +1 -1
- package/dist/hooks/use-focus-trap.js +40 -41
- package/dist/hooks/use-focus-trap.js.map +1 -1
- package/dist/hooks/use-geolocation.cjs +2 -2
- package/dist/hooks/use-geolocation.cjs.map +1 -1
- package/dist/hooks/use-geolocation.js +47 -43
- package/dist/hooks/use-geolocation.js.map +1 -1
- package/dist/hooks/use-hover.cjs +2 -2
- package/dist/hooks/use-hover.cjs.map +1 -1
- package/dist/hooks/use-hover.js +16 -15
- package/dist/hooks/use-hover.js.map +1 -1
- package/dist/hooks/use-idle.cjs +2 -2
- package/dist/hooks/use-idle.cjs.map +1 -1
- package/dist/hooks/use-idle.js +27 -28
- package/dist/hooks/use-idle.js.map +1 -1
- package/dist/hooks/use-install-prompt.cjs +2 -2
- package/dist/hooks/use-install-prompt.cjs.map +1 -1
- package/dist/hooks/use-install-prompt.js +58 -64
- package/dist/hooks/use-install-prompt.js.map +1 -1
- package/dist/hooks/use-intersection-observer.cjs +2 -2
- package/dist/hooks/use-intersection-observer.cjs.map +1 -1
- package/dist/hooks/use-intersection-observer.js +26 -18
- package/dist/hooks/use-intersection-observer.js.map +1 -1
- package/dist/hooks/use-interval.cjs +2 -2
- package/dist/hooks/use-interval.cjs.map +1 -1
- package/dist/hooks/use-interval.js +13 -12
- package/dist/hooks/use-interval.js.map +1 -1
- package/dist/hooks/use-is-first-render.cjs +2 -2
- package/dist/hooks/use-is-first-render.cjs.map +1 -1
- package/dist/hooks/use-is-first-render.js +8 -7
- package/dist/hooks/use-is-first-render.js.map +1 -1
- package/dist/hooks/use-keyboard-shortcut.cjs +2 -2
- package/dist/hooks/use-keyboard-shortcut.cjs.map +1 -1
- package/dist/hooks/use-keyboard-shortcut.js +36 -35
- package/dist/hooks/use-keyboard-shortcut.js.map +1 -1
- package/dist/hooks/use-list-state.cjs +2 -2
- package/dist/hooks/use-list-state.cjs.map +1 -1
- package/dist/hooks/use-list-state.js +51 -39
- package/dist/hooks/use-list-state.js.map +1 -1
- package/dist/hooks/use-local-storage.cjs +2 -2
- package/dist/hooks/use-local-storage.cjs.map +1 -1
- package/dist/hooks/use-local-storage.js +61 -54
- package/dist/hooks/use-local-storage.js.map +1 -1
- package/dist/hooks/use-long-press-handlers.cjs +2 -2
- package/dist/hooks/use-long-press-handlers.cjs.map +1 -1
- package/dist/hooks/use-long-press-handlers.js +32 -30
- package/dist/hooks/use-long-press-handlers.js.map +1 -1
- package/dist/hooks/use-long-press.cjs +2 -2
- package/dist/hooks/use-long-press.cjs.map +1 -1
- package/dist/hooks/use-long-press.js +30 -26
- package/dist/hooks/use-long-press.js.map +1 -1
- package/dist/hooks/use-map.cjs +2 -2
- package/dist/hooks/use-map.cjs.map +1 -1
- package/dist/hooks/use-map.js +37 -32
- package/dist/hooks/use-map.js.map +1 -1
- package/dist/hooks/use-media-query.cjs +2 -2
- package/dist/hooks/use-media-query.cjs.map +1 -1
- package/dist/hooks/use-media-query.js +13 -12
- package/dist/hooks/use-media-query.js.map +1 -1
- package/dist/hooks/use-object-url.cjs +2 -2
- package/dist/hooks/use-object-url.cjs.map +1 -1
- package/dist/hooks/use-object-url.js +16 -15
- package/dist/hooks/use-object-url.js.map +1 -1
- package/dist/hooks/use-online.cjs +2 -2
- package/dist/hooks/use-online.cjs.map +1 -1
- package/dist/hooks/use-online.js +46 -46
- package/dist/hooks/use-online.js.map +1 -1
- package/dist/hooks/use-pagination.cjs +2 -2
- package/dist/hooks/use-pagination.cjs.map +1 -1
- package/dist/hooks/use-pagination.js +15 -8
- package/dist/hooks/use-pagination.js.map +1 -1
- package/dist/hooks/use-previous.cjs +2 -2
- package/dist/hooks/use-previous.cjs.map +1 -1
- package/dist/hooks/use-previous.js +11 -10
- package/dist/hooks/use-previous.js.map +1 -1
- package/dist/hooks/use-queue.cjs +2 -2
- package/dist/hooks/use-queue.cjs.map +1 -1
- package/dist/hooks/use-queue.js +48 -47
- package/dist/hooks/use-queue.js.map +1 -1
- package/dist/hooks/use-resize-observer.cjs +2 -2
- package/dist/hooks/use-resize-observer.cjs.map +1 -1
- package/dist/hooks/use-resize-observer.js +22 -18
- package/dist/hooks/use-resize-observer.js.map +1 -1
- package/dist/hooks/use-scroll-lock.cjs +2 -2
- package/dist/hooks/use-scroll-lock.cjs.map +1 -1
- package/dist/hooks/use-scroll-lock.js +14 -13
- package/dist/hooks/use-scroll-lock.js.map +1 -1
- package/dist/hooks/use-service-worker-update.cjs +2 -2
- package/dist/hooks/use-service-worker-update.cjs.map +1 -1
- package/dist/hooks/use-service-worker-update.js +36 -33
- package/dist/hooks/use-service-worker-update.js.map +1 -1
- package/dist/hooks/use-set.cjs +2 -2
- package/dist/hooks/use-set.cjs.map +1 -1
- package/dist/hooks/use-set.js +43 -38
- package/dist/hooks/use-set.js.map +1 -1
- package/dist/hooks/use-stable-callback.cjs +2 -2
- package/dist/hooks/use-stable-callback.cjs.map +1 -1
- package/dist/hooks/use-stable-callback.js +9 -8
- package/dist/hooks/use-stable-callback.js.map +1 -1
- package/dist/hooks/use-storage-estimate.cjs +2 -2
- package/dist/hooks/use-storage-estimate.cjs.map +1 -1
- package/dist/hooks/use-storage-estimate.js +57 -50
- package/dist/hooks/use-storage-estimate.js.map +1 -1
- package/dist/hooks/use-throttle.cjs +2 -2
- package/dist/hooks/use-throttle.cjs.map +1 -1
- package/dist/hooks/use-throttle.js +16 -15
- package/dist/hooks/use-throttle.js.map +1 -1
- package/dist/hooks/use-timeout.cjs +2 -2
- package/dist/hooks/use-timeout.cjs.map +1 -1
- package/dist/hooks/use-timeout.js +13 -12
- package/dist/hooks/use-timeout.js.map +1 -1
- package/dist/hooks/use-toggle.cjs +2 -2
- package/dist/hooks/use-toggle.cjs.map +1 -1
- package/dist/hooks/use-toggle.js +14 -8
- package/dist/hooks/use-toggle.js.map +1 -1
- package/dist/hooks/use-window-size.cjs +2 -2
- package/dist/hooks/use-window-size.cjs.map +1 -1
- package/dist/hooks/use-window-size.js +22 -14
- package/dist/hooks/use-window-size.js.map +1 -1
- package/dist/http/api-client.cjs +2 -2
- package/dist/http/api-client.cjs.map +1 -1
- package/dist/http/api-client.js +87 -77
- package/dist/http/api-client.js.map +1 -1
- package/dist/http/errors.cjs +2 -2
- package/dist/http/errors.cjs.map +1 -1
- package/dist/http/errors.js +33 -36
- package/dist/http/errors.js.map +1 -1
- package/dist/http/idempotency.cjs +2 -2
- package/dist/http/idempotency.cjs.map +1 -1
- package/dist/http/idempotency.js +9 -8
- package/dist/http/idempotency.js.map +1 -1
- package/dist/http/parse-response.cjs +3 -6
- package/dist/http/parse-response.cjs.map +1 -1
- package/dist/http/parse-response.js +13 -19
- package/dist/http/parse-response.js.map +1 -1
- package/dist/http/retry.cjs +2 -2
- package/dist/http/retry.cjs.map +1 -1
- package/dist/http/retry.js +33 -42
- package/dist/http/retry.js.map +1 -1
- package/dist/http/upload-with-progress.cjs +2 -2
- package/dist/http/upload-with-progress.cjs.map +1 -1
- package/dist/http/upload-with-progress.js +65 -89
- package/dist/http/upload-with-progress.js.map +1 -1
- package/dist/http/use-poll.cjs +2 -2
- package/dist/http/use-poll.cjs.map +1 -1
- package/dist/http/use-poll.js +41 -40
- package/dist/http/use-poll.js.map +1 -1
- package/dist/i18n/I18nProvider.cjs +2 -2
- package/dist/i18n/I18nProvider.cjs.map +1 -1
- package/dist/i18n/I18nProvider.js +51 -48
- package/dist/i18n/I18nProvider.js.map +1 -1
- package/dist/i18n/create-i18n.cjs +2 -2
- package/dist/i18n/create-i18n.cjs.map +1 -1
- package/dist/i18n/create-i18n.js +51 -47
- package/dist/i18n/create-i18n.js.map +1 -1
- package/dist/logger/logger.cjs +2 -2
- package/dist/logger/logger.cjs.map +1 -1
- package/dist/logger/logger.js +41 -38
- package/dist/logger/logger.js.map +1 -1
- package/dist/oauth/GoogleSignIn.cjs +2 -2
- package/dist/oauth/GoogleSignIn.cjs.map +1 -1
- package/dist/oauth/GoogleSignIn.js +41 -49
- package/dist/oauth/GoogleSignIn.js.map +1 -1
- package/dist/oauth/use-oauth-callback.cjs +2 -2
- package/dist/oauth/use-oauth-callback.cjs.map +1 -1
- package/dist/oauth/use-oauth-callback.js +29 -20
- package/dist/oauth/use-oauth-callback.js.map +1 -1
- package/dist/offline/conflict.cjs +2 -2
- package/dist/offline/conflict.cjs.map +1 -1
- package/dist/offline/conflict.js +14 -14
- package/dist/offline/conflict.js.map +1 -1
- package/dist/offline/create-offline-store.cjs +2 -2
- package/dist/offline/create-offline-store.cjs.map +1 -1
- package/dist/offline/create-offline-store.js +48 -45
- package/dist/offline/create-offline-store.js.map +1 -1
- package/dist/offline/create-offline-sync.cjs +2 -2
- package/dist/offline/create-offline-sync.cjs.map +1 -1
- package/dist/offline/create-offline-sync.js +142 -144
- package/dist/offline/create-offline-sync.js.map +1 -1
- package/dist/offline/use-offline-sync.cjs +2 -2
- package/dist/offline/use-offline-sync.cjs.map +1 -1
- package/dist/offline/use-offline-sync.js +39 -39
- package/dist/offline/use-offline-sync.js.map +1 -1
- package/dist/push/use-push-subscription.cjs +2 -2
- package/dist/push/use-push-subscription.cjs.map +1 -1
- package/dist/push/use-push-subscription.js +61 -67
- package/dist/push/use-push-subscription.js.map +1 -1
- package/dist/push/utils.cjs +2 -2
- package/dist/push/utils.cjs.map +1 -1
- package/dist/push/utils.js +11 -12
- package/dist/push/utils.js.map +1 -1
- package/dist/push/web-push-client.cjs +2 -2
- package/dist/push/web-push-client.cjs.map +1 -1
- package/dist/push/web-push-client.js +53 -82
- package/dist/push/web-push-client.js.map +1 -1
- package/dist/query/QueryProvider.cjs +2 -2
- package/dist/query/QueryProvider.cjs.map +1 -1
- package/dist/query/QueryProvider.js +26 -26
- package/dist/query/QueryProvider.js.map +1 -1
- package/dist/query/constants.cjs +2 -2
- package/dist/query/constants.cjs.map +1 -1
- package/dist/query/constants.js +19 -20
- package/dist/query/constants.js.map +1 -1
- package/dist/query/create-query-keys.cjs +2 -2
- package/dist/query/create-query-keys.cjs.map +1 -1
- package/dist/query/create-query-keys.js +9 -9
- package/dist/query/create-query-keys.js.map +1 -1
- package/dist/query/offline-persistence.cjs +2 -2
- package/dist/query/offline-persistence.cjs.map +1 -1
- package/dist/query/offline-persistence.js +43 -39
- package/dist/query/offline-persistence.js.map +1 -1
- package/dist/query/optimistic.cjs +2 -2
- package/dist/query/optimistic.cjs.map +1 -1
- package/dist/query/optimistic.js +20 -17
- package/dist/query/optimistic.js.map +1 -1
- package/dist/query/pagination.cjs +2 -2
- package/dist/query/pagination.cjs.map +1 -1
- package/dist/query/pagination.js +21 -16
- package/dist/query/pagination.js.map +1 -1
- package/dist/query/use-cursor-query.cjs +2 -2
- package/dist/query/use-cursor-query.cjs.map +1 -1
- package/dist/query/use-cursor-query.js +33 -27
- package/dist/query/use-cursor-query.js.map +1 -1
- package/dist/query/use-offline-mutation.cjs +2 -2
- package/dist/query/use-offline-mutation.cjs.map +1 -1
- package/dist/query/use-offline-mutation.js +30 -29
- package/dist/query/use-offline-mutation.js.map +1 -1
- package/dist/query/use-paginated-query.cjs +2 -2
- package/dist/query/use-paginated-query.cjs.map +1 -1
- package/dist/query/use-paginated-query.js +42 -43
- package/dist/query/use-paginated-query.js.map +1 -1
- package/dist/router/AppRouter.cjs +2 -2
- package/dist/router/AppRouter.cjs.map +1 -1
- package/dist/router/AppRouter.js +55 -54
- package/dist/router/AppRouter.js.map +1 -1
- package/dist/router/RouteGuard.cjs +2 -2
- package/dist/router/RouteGuard.cjs.map +1 -1
- package/dist/router/RouteGuard.js +12 -8
- package/dist/router/RouteGuard.js.map +1 -1
- package/dist/router/index.js +4 -0
- package/dist/share/share-or-download.cjs +2 -2
- package/dist/share/share-or-download.cjs.map +1 -1
- package/dist/share/share-or-download.js +14 -10
- package/dist/share/share-or-download.js.map +1 -1
- package/dist/share/share.cjs +2 -2
- package/dist/share/share.cjs.map +1 -1
- package/dist/share/share.js +31 -17
- package/dist/share/share.js.map +1 -1
- package/dist/sse/create-event-stream.cjs +2 -2
- package/dist/sse/create-event-stream.cjs.map +1 -1
- package/dist/sse/create-event-stream.js +59 -74
- package/dist/sse/create-event-stream.js.map +1 -1
- package/dist/sse/use-event-stream.cjs +2 -2
- package/dist/sse/use-event-stream.cjs.map +1 -1
- package/dist/sse/use-event-stream.js +29 -28
- package/dist/sse/use-event-stream.js.map +1 -1
- package/dist/store/create-selectors.cjs +2 -2
- package/dist/store/create-selectors.cjs.map +1 -1
- package/dist/store/create-selectors.js +10 -10
- package/dist/store/create-selectors.js.map +1 -1
- package/dist/store/create-store.cjs +2 -2
- package/dist/store/create-store.cjs.map +1 -1
- package/dist/store/create-store.js +17 -19
- package/dist/store/create-store.js.map +1 -1
- package/dist/styles.css +2 -1
- package/dist/sw/background-sync.cjs +2 -2
- package/dist/sw/background-sync.cjs.map +1 -1
- package/dist/sw/background-sync.js +87 -95
- package/dist/sw/background-sync.js.map +1 -1
- package/dist/sw/cache-inspect.cjs +2 -2
- package/dist/sw/cache-inspect.cjs.map +1 -1
- package/dist/sw/cache-inspect.js +44 -42
- package/dist/sw/cache-inspect.js.map +1 -1
- package/dist/sw/cache.cjs +2 -2
- package/dist/sw/cache.cjs.map +1 -1
- package/dist/sw/cache.js +132 -164
- package/dist/sw/cache.js.map +1 -1
- package/dist/sw/create-push-handler.cjs +2 -2
- package/dist/sw/create-push-handler.cjs.map +1 -1
- package/dist/sw/create-push-handler.js +61 -60
- package/dist/sw/create-push-handler.js.map +1 -1
- package/dist/sw/periodic-sync.cjs +2 -2
- package/dist/sw/periodic-sync.cjs.map +1 -1
- package/dist/sw/periodic-sync.js +15 -17
- package/dist/sw/periodic-sync.js.map +1 -1
- package/dist/sw/register-service-worker.cjs +2 -2
- package/dist/sw/register-service-worker.cjs.map +1 -1
- package/dist/sw/register-service-worker.js +40 -46
- package/dist/sw/register-service-worker.js.map +1 -1
- package/dist/sw.cjs +1 -2
- package/dist/sw.js +7 -22
- package/dist/telemetry/TelemetryProvider.cjs +2 -2
- package/dist/telemetry/TelemetryProvider.cjs.map +1 -1
- package/dist/telemetry/TelemetryProvider.js +19 -16
- package/dist/telemetry/TelemetryProvider.js.map +1 -1
- package/dist/telemetry/console-adapter.cjs +2 -2
- package/dist/telemetry/console-adapter.cjs.map +1 -1
- package/dist/telemetry/console-adapter.js +15 -14
- package/dist/telemetry/console-adapter.js.map +1 -1
- package/dist/telemetry/posthog-adapter.cjs +2 -2
- package/dist/telemetry/posthog-adapter.cjs.map +1 -1
- package/dist/telemetry/posthog-adapter.js +42 -41
- package/dist/telemetry/posthog-adapter.js.map +1 -1
- package/dist/telemetry/sentry-adapter.cjs +2 -2
- package/dist/telemetry/sentry-adapter.cjs.map +1 -1
- package/dist/telemetry/sentry-adapter.js +38 -37
- package/dist/telemetry/sentry-adapter.js.map +1 -1
- package/dist/tempest-react-sdk.cjs +1 -2
- package/dist/tempest-react-sdk.d.ts +929 -327
- package/dist/tempest-react-sdk.js +264 -641
- package/dist/testing/create-mock-handlers.cjs +2 -2
- package/dist/testing/create-mock-handlers.cjs.map +1 -1
- package/dist/testing/create-mock-handlers.js +14 -13
- package/dist/testing/create-mock-handlers.js.map +1 -1
- package/dist/testing.cjs +1 -2
- package/dist/testing.js +2 -5
- package/dist/theme/ThemeProvider.cjs +2 -2
- package/dist/theme/ThemeProvider.cjs.map +1 -1
- package/dist/theme/ThemeProvider.js +69 -73
- package/dist/theme/ThemeProvider.js.map +1 -1
- package/dist/theme/apply-theme.cjs +2 -0
- package/dist/theme/apply-theme.cjs.map +1 -0
- package/dist/theme/apply-theme.js +24 -0
- package/dist/theme/apply-theme.js.map +1 -0
- package/dist/theme/color.cjs +2 -0
- package/dist/theme/color.cjs.map +1 -0
- package/dist/theme/color.js +130 -0
- package/dist/theme/color.js.map +1 -0
- package/dist/theme/create-theme.cjs +5 -0
- package/dist/theme/create-theme.cjs.map +1 -0
- package/dist/theme/create-theme.js +135 -0
- package/dist/theme/create-theme.js.map +1 -0
- package/dist/theme/initial-theme.cjs +5 -5
- package/dist/theme/initial-theme.cjs.map +1 -1
- package/dist/theme/initial-theme.js +21 -22
- package/dist/theme/initial-theme.js.map +1 -1
- package/dist/theme/theme-presets.cjs +2 -0
- package/dist/theme/theme-presets.cjs.map +1 -0
- package/dist/theme/theme-presets.js +82 -0
- package/dist/theme/theme-presets.js.map +1 -0
- package/dist/utilities.css +432 -0
- package/dist/utils/arrays.cjs +2 -2
- package/dist/utils/arrays.cjs.map +1 -1
- package/dist/utils/arrays.js +30 -36
- package/dist/utils/arrays.js.map +1 -1
- package/dist/utils/cn.cjs +2 -2
- package/dist/utils/cn.cjs.map +1 -1
- package/dist/utils/cn.js +16 -18
- package/dist/utils/cn.js.map +1 -1
- package/dist/utils/format.cjs +2 -2
- package/dist/utils/format.cjs.map +1 -1
- package/dist/utils/format.js +30 -34
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/functions.cjs +2 -2
- package/dist/utils/functions.cjs.map +1 -1
- package/dist/utils/functions.js +39 -45
- package/dist/utils/functions.js.map +1 -1
- package/dist/utils/guards.cjs +2 -2
- package/dist/utils/guards.cjs.map +1 -1
- package/dist/utils/guards.js +17 -20
- package/dist/utils/guards.js.map +1 -1
- package/dist/utils/ids.cjs +2 -2
- package/dist/utils/ids.cjs.map +1 -1
- package/dist/utils/ids.js +8 -13
- package/dist/utils/ids.js.map +1 -1
- package/dist/utils/numbers.cjs +2 -2
- package/dist/utils/numbers.cjs.map +1 -1
- package/dist/utils/numbers.js +27 -24
- package/dist/utils/numbers.js.map +1 -1
- package/dist/utils/objects.cjs +2 -2
- package/dist/utils/objects.cjs.map +1 -1
- package/dist/utils/objects.js +27 -32
- package/dist/utils/objects.js.map +1 -1
- package/dist/utils/promises.cjs +2 -2
- package/dist/utils/promises.cjs.map +1 -1
- package/dist/utils/promises.js +19 -22
- package/dist/utils/promises.js.map +1 -1
- package/dist/utils/relative-time.cjs +2 -2
- package/dist/utils/relative-time.cjs.map +1 -1
- package/dist/utils/relative-time.js +70 -66
- package/dist/utils/relative-time.js.map +1 -1
- package/dist/utils/storage.cjs +2 -2
- package/dist/utils/storage.cjs.map +1 -1
- package/dist/utils/storage.js +25 -28
- package/dist/utils/storage.js.map +1 -1
- package/dist/utils/strings.cjs +2 -2
- package/dist/utils/strings.cjs.map +1 -1
- package/dist/utils/strings.js +23 -27
- package/dist/utils/strings.js.map +1 -1
- package/dist/utils/xlsx.cjs +2 -2
- package/dist/utils/xlsx.cjs.map +1 -1
- package/dist/utils/xlsx.js +45 -34
- package/dist/utils/xlsx.js.map +1 -1
- package/dist/vision/core/canvas.cjs +2 -2
- package/dist/vision/core/canvas.cjs.map +1 -1
- package/dist/vision/core/canvas.js +28 -37
- package/dist/vision/core/canvas.js.map +1 -1
- package/dist/vision/core/exceptions.cjs +2 -2
- package/dist/vision/core/exceptions.cjs.map +1 -1
- package/dist/vision/core/exceptions.js +10 -24
- package/dist/vision/core/exceptions.js.map +1 -1
- package/dist/vision/core/providers.cjs +2 -2
- package/dist/vision/core/providers.cjs.map +1 -1
- package/dist/vision/core/providers.js +8 -8
- package/dist/vision/core/providers.js.map +1 -1
- package/dist/vision/core/session.cjs +2 -2
- package/dist/vision/core/session.cjs.map +1 -1
- package/dist/vision/core/session.js +47 -70
- package/dist/vision/core/session.js.map +1 -1
- package/dist/vision/index.cjs +2 -2
- package/dist/vision/index.cjs.map +1 -1
- package/dist/vision/index.js +21 -5
- package/dist/vision/index.js.map +1 -1
- package/dist/vision/io/image.cjs +2 -2
- package/dist/vision/io/image.cjs.map +1 -1
- package/dist/vision/io/image.js +52 -70
- package/dist/vision/io/image.js.map +1 -1
- package/dist/vision/labels.cjs +2 -2
- package/dist/vision/labels.cjs.map +1 -1
- package/dist/vision/labels.js +29 -123
- package/dist/vision/labels.js.map +1 -1
- package/dist/vision/luminance.cjs +2 -2
- package/dist/vision/luminance.cjs.map +1 -1
- package/dist/vision/luminance.js +36 -41
- package/dist/vision/luminance.js.map +1 -1
- package/dist/vision/postprocess/classification.cjs +2 -2
- package/dist/vision/postprocess/classification.cjs.map +1 -1
- package/dist/vision/postprocess/classification.js +31 -30
- package/dist/vision/postprocess/classification.js.map +1 -1
- package/dist/vision/postprocess/detection.cjs +2 -2
- package/dist/vision/postprocess/detection.cjs.map +1 -1
- package/dist/vision/postprocess/detection.js +122 -146
- package/dist/vision/postprocess/detection.js.map +1 -1
- package/dist/vision/postprocess/segmentation.cjs +2 -2
- package/dist/vision/postprocess/segmentation.cjs.map +1 -1
- package/dist/vision/postprocess/segmentation.js +99 -105
- package/dist/vision/postprocess/segmentation.js.map +1 -1
- package/dist/vision/preprocess/image.cjs +2 -2
- package/dist/vision/preprocess/image.cjs.map +1 -1
- package/dist/vision/preprocess/image.js +63 -84
- package/dist/vision/preprocess/image.js.map +1 -1
- package/dist/vision/results.cjs +2 -2
- package/dist/vision/results.cjs.map +1 -1
- package/dist/vision/results.js +164 -212
- package/dist/vision/results.js.map +1 -1
- package/dist/vision/tasks/base.cjs +2 -2
- package/dist/vision/tasks/base.cjs.map +1 -1
- package/dist/vision/tasks/base.js +13 -13
- package/dist/vision/tasks/base.js.map +1 -1
- package/dist/vision/tasks/classifier.cjs +2 -2
- package/dist/vision/tasks/classifier.cjs.map +1 -1
- package/dist/vision/tasks/classifier.js +89 -105
- package/dist/vision/tasks/classifier.js.map +1 -1
- package/dist/vision/tasks/detector.cjs +2 -2
- package/dist/vision/tasks/detector.cjs.map +1 -1
- package/dist/vision/tasks/detector.js +111 -146
- package/dist/vision/tasks/detector.js.map +1 -1
- package/dist/vision/tasks/segmenter.cjs +2 -2
- package/dist/vision/tasks/segmenter.cjs.map +1 -1
- package/dist/vision/tasks/segmenter.js +143 -188
- package/dist/vision/tasks/segmenter.js.map +1 -1
- package/dist/vision/types.cjs +2 -2
- package/dist/vision/types.cjs.map +1 -1
- package/dist/vision/types.js +106 -98
- package/dist/vision/types.js.map +1 -1
- package/dist/vision/use-camera-stream.cjs +2 -2
- package/dist/vision/use-camera-stream.cjs.map +1 -1
- package/dist/vision/use-camera-stream.js +79 -86
- package/dist/vision/use-camera-stream.js.map +1 -1
- package/dist/vision/use-live-luminance.cjs +2 -2
- package/dist/vision/use-live-luminance.cjs.map +1 -1
- package/dist/vision/use-live-luminance.js +26 -22
- package/dist/vision/use-live-luminance.js.map +1 -1
- package/dist/vision.cjs +1 -2
- package/dist/vision.js +19 -72
- package/dist/vite/create-vite-config.cjs +2 -2
- package/dist/vite/create-vite-config.cjs.map +1 -1
- package/dist/vite/create-vite-config.js +42 -44
- package/dist/vite/create-vite-config.js.map +1 -1
- package/dist/vite/tempest-pwa-dev-sw.cjs +2 -3
- package/dist/vite/tempest-pwa-dev-sw.cjs.map +1 -1
- package/dist/vite/tempest-pwa-dev-sw.js +46 -49
- package/dist/vite/tempest-pwa-dev-sw.js.map +1 -1
- package/dist/vite/tempest-pwa-icons.cjs +2 -2
- package/dist/vite/tempest-pwa-icons.cjs.map +1 -1
- package/dist/vite/tempest-pwa-icons.js +176 -132
- package/dist/vite/tempest-pwa-icons.js.map +1 -1
- package/dist/vite/tempest-pwa-manifest.cjs +3 -3
- package/dist/vite/tempest-pwa-manifest.cjs.map +1 -1
- package/dist/vite/tempest-pwa-manifest.js +34 -40
- package/dist/vite/tempest-pwa-manifest.js.map +1 -1
- package/dist/vite.cjs +1 -2
- package/dist/vite.js +5 -11
- package/dist/ws/create-web-socket.cjs +2 -2
- package/dist/ws/create-web-socket.cjs.map +1 -1
- package/dist/ws/create-web-socket.js +68 -81
- package/dist/ws/create-web-socket.js.map +1 -1
- package/dist/ws/use-web-socket.cjs +2 -2
- package/dist/ws/use-web-socket.cjs.map +1 -1
- package/dist/ws/use-web-socket.js +32 -31
- package/dist/ws/use-web-socket.js.map +1 -1
- package/package.json +25 -21
- package/template/eslint.config.js +8 -1
- package/template/package.json +15 -15
- package/template/src/App.tsx +1 -0
- package/template/src/layouts/RootLayout.tsx +1 -0
- package/template/src/lib/api.ts +1 -0
- package/template/src/main.tsx +3 -1
- package/template/src/pages/Login.tsx +1 -0
- package/template/src/routes.tsx +2 -1
- package/template-pwa/package.json +1 -1
- package/dist/br/BrazilMap.module.css.cjs +0 -2
- package/dist/br/BrazilMap.module.css.cjs.map +0 -1
- package/dist/br/BrazilMap.module.css.js +0 -28
- package/dist/br/BrazilMap.module.css.js.map +0 -1
- package/dist/br/MapLegend.module.css.cjs +0 -2
- package/dist/br/MapLegend.module.css.cjs.map +0 -1
- package/dist/br/MapLegend.module.css.js +0 -22
- package/dist/br/MapLegend.module.css.js.map +0 -1
- package/dist/br/MunicipalitySearch.module.css.cjs +0 -2
- package/dist/br/MunicipalitySearch.module.css.cjs.map +0 -1
- package/dist/br/MunicipalitySearch.module.css.js +0 -14
- package/dist/br/MunicipalitySearch.module.css.js.map +0 -1
- package/dist/br/data/br-centroids.json.cjs +0 -2
- package/dist/br/data/br-centroids.json.cjs.map +0 -1
- package/dist/br/data/br-centroids.json.js +0 -10
- package/dist/br/data/br-centroids.json.js.map +0 -1
- package/dist/br/data/br-locations.json.cjs +0 -2
- package/dist/br/data/br-locations.json.cjs.map +0 -1
- package/dist/br/data/br-locations.json.js +0 -8
- package/dist/br/data/br-locations.json.js.map +0 -1
- package/dist/br/data/br-uf-geo.json.cjs +0 -2
- package/dist/br/data/br-uf-geo.json.cjs.map +0 -1
- package/dist/br/data/br-uf-geo.json.js +0 -10
- package/dist/br/data/br-uf-geo.json.js.map +0 -1
- package/dist/br/data/mun/AC.json.cjs +0 -2
- package/dist/br/data/mun/AC.json.cjs.map +0 -1
- package/dist/br/data/mun/AC.json.js +0 -12
- package/dist/br/data/mun/AC.json.js.map +0 -1
- package/dist/br/data/mun/AL.json.cjs +0 -2
- package/dist/br/data/mun/AL.json.cjs.map +0 -1
- package/dist/br/data/mun/AL.json.js +0 -12
- package/dist/br/data/mun/AL.json.js.map +0 -1
- package/dist/br/data/mun/AM.json.cjs +0 -2
- package/dist/br/data/mun/AM.json.cjs.map +0 -1
- package/dist/br/data/mun/AM.json.js +0 -12
- package/dist/br/data/mun/AM.json.js.map +0 -1
- package/dist/br/data/mun/AP.json.cjs +0 -2
- package/dist/br/data/mun/AP.json.cjs.map +0 -1
- package/dist/br/data/mun/AP.json.js +0 -12
- package/dist/br/data/mun/AP.json.js.map +0 -1
- package/dist/br/data/mun/BA.json.cjs +0 -2
- package/dist/br/data/mun/BA.json.cjs.map +0 -1
- package/dist/br/data/mun/BA.json.js +0 -12
- package/dist/br/data/mun/BA.json.js.map +0 -1
- package/dist/br/data/mun/CE.json.cjs +0 -2
- package/dist/br/data/mun/CE.json.cjs.map +0 -1
- package/dist/br/data/mun/CE.json.js +0 -12
- package/dist/br/data/mun/CE.json.js.map +0 -1
- package/dist/br/data/mun/DF.json.cjs +0 -2
- package/dist/br/data/mun/DF.json.cjs.map +0 -1
- package/dist/br/data/mun/DF.json.js +0 -12
- package/dist/br/data/mun/DF.json.js.map +0 -1
- package/dist/br/data/mun/ES.json.cjs +0 -2
- package/dist/br/data/mun/ES.json.cjs.map +0 -1
- package/dist/br/data/mun/ES.json.js +0 -12
- package/dist/br/data/mun/ES.json.js.map +0 -1
- package/dist/br/data/mun/GO.json.cjs +0 -2
- package/dist/br/data/mun/GO.json.cjs.map +0 -1
- package/dist/br/data/mun/GO.json.js +0 -12
- package/dist/br/data/mun/GO.json.js.map +0 -1
- package/dist/br/data/mun/MA.json.cjs +0 -2
- package/dist/br/data/mun/MA.json.cjs.map +0 -1
- package/dist/br/data/mun/MA.json.js +0 -12
- package/dist/br/data/mun/MA.json.js.map +0 -1
- package/dist/br/data/mun/MG.json.cjs +0 -2
- package/dist/br/data/mun/MG.json.cjs.map +0 -1
- package/dist/br/data/mun/MG.json.js +0 -12
- package/dist/br/data/mun/MG.json.js.map +0 -1
- package/dist/br/data/mun/MS.json.cjs +0 -2
- package/dist/br/data/mun/MS.json.cjs.map +0 -1
- package/dist/br/data/mun/MS.json.js +0 -12
- package/dist/br/data/mun/MS.json.js.map +0 -1
- package/dist/br/data/mun/MT.json.cjs +0 -2
- package/dist/br/data/mun/MT.json.cjs.map +0 -1
- package/dist/br/data/mun/MT.json.js +0 -12
- package/dist/br/data/mun/MT.json.js.map +0 -1
- package/dist/br/data/mun/PA.json.cjs +0 -2
- package/dist/br/data/mun/PA.json.cjs.map +0 -1
- package/dist/br/data/mun/PA.json.js +0 -12
- package/dist/br/data/mun/PA.json.js.map +0 -1
- package/dist/br/data/mun/PB.json.cjs +0 -2
- package/dist/br/data/mun/PB.json.cjs.map +0 -1
- package/dist/br/data/mun/PB.json.js +0 -12
- package/dist/br/data/mun/PB.json.js.map +0 -1
- package/dist/br/data/mun/PE.json.cjs +0 -2
- package/dist/br/data/mun/PE.json.cjs.map +0 -1
- package/dist/br/data/mun/PE.json.js +0 -12
- package/dist/br/data/mun/PE.json.js.map +0 -1
- package/dist/br/data/mun/PI.json.cjs +0 -2
- package/dist/br/data/mun/PI.json.cjs.map +0 -1
- package/dist/br/data/mun/PI.json.js +0 -12
- package/dist/br/data/mun/PI.json.js.map +0 -1
- package/dist/br/data/mun/PR.json.cjs +0 -2
- package/dist/br/data/mun/PR.json.cjs.map +0 -1
- package/dist/br/data/mun/PR.json.js +0 -12
- package/dist/br/data/mun/PR.json.js.map +0 -1
- package/dist/br/data/mun/RJ.json.cjs +0 -2
- package/dist/br/data/mun/RJ.json.cjs.map +0 -1
- package/dist/br/data/mun/RJ.json.js +0 -12
- package/dist/br/data/mun/RJ.json.js.map +0 -1
- package/dist/br/data/mun/RN.json.cjs +0 -2
- package/dist/br/data/mun/RN.json.cjs.map +0 -1
- package/dist/br/data/mun/RN.json.js +0 -12
- package/dist/br/data/mun/RN.json.js.map +0 -1
- package/dist/br/data/mun/RO.json.cjs +0 -2
- package/dist/br/data/mun/RO.json.cjs.map +0 -1
- package/dist/br/data/mun/RO.json.js +0 -12
- package/dist/br/data/mun/RO.json.js.map +0 -1
- package/dist/br/data/mun/RR.json.cjs +0 -2
- package/dist/br/data/mun/RR.json.cjs.map +0 -1
- package/dist/br/data/mun/RR.json.js +0 -12
- package/dist/br/data/mun/RR.json.js.map +0 -1
- package/dist/br/data/mun/RS.json.cjs +0 -2
- package/dist/br/data/mun/RS.json.cjs.map +0 -1
- package/dist/br/data/mun/RS.json.js +0 -12
- package/dist/br/data/mun/RS.json.js.map +0 -1
- package/dist/br/data/mun/SC.json.cjs +0 -2
- package/dist/br/data/mun/SC.json.cjs.map +0 -1
- package/dist/br/data/mun/SC.json.js +0 -12
- package/dist/br/data/mun/SC.json.js.map +0 -1
- package/dist/br/data/mun/SE.json.cjs +0 -2
- package/dist/br/data/mun/SE.json.cjs.map +0 -1
- package/dist/br/data/mun/SE.json.js +0 -12
- package/dist/br/data/mun/SE.json.js.map +0 -1
- package/dist/br/data/mun/SP.json.cjs +0 -2
- package/dist/br/data/mun/SP.json.cjs.map +0 -1
- package/dist/br/data/mun/SP.json.js +0 -12
- package/dist/br/data/mun/SP.json.js.map +0 -1
- package/dist/br/data/mun/TO.json.cjs +0 -2
- package/dist/br/data/mun/TO.json.cjs.map +0 -1
- package/dist/br/data/mun/TO.json.js +0 -12
- package/dist/br/data/mun/TO.json.js.map +0 -1
- package/dist/charts.cjs.map +0 -1
- package/dist/charts.js.map +0 -1
- package/dist/components/Accordion/Accordion.module.css.cjs +0 -2
- package/dist/components/Accordion/Accordion.module.css.cjs.map +0 -1
- package/dist/components/Accordion/Accordion.module.css.js +0 -20
- package/dist/components/Accordion/Accordion.module.css.js.map +0 -1
- package/dist/components/Alert/Alert.module.css.cjs +0 -2
- package/dist/components/Alert/Alert.module.css.cjs.map +0 -1
- package/dist/components/Alert/Alert.module.css.js +0 -32
- package/dist/components/Alert/Alert.module.css.js.map +0 -1
- package/dist/components/AppBar/AppBar.module.css.cjs +0 -2
- package/dist/components/AppBar/AppBar.module.css.cjs.map +0 -1
- package/dist/components/AppBar/AppBar.module.css.js +0 -32
- package/dist/components/AppBar/AppBar.module.css.js.map +0 -1
- package/dist/components/AppShell/AppShell.module.css.cjs +0 -2
- package/dist/components/AppShell/AppShell.module.css.cjs.map +0 -1
- package/dist/components/AppShell/AppShell.module.css.js +0 -20
- package/dist/components/AppShell/AppShell.module.css.js.map +0 -1
- package/dist/components/AspectRatio/AspectRatio.module.css.cjs +0 -2
- package/dist/components/AspectRatio/AspectRatio.module.css.cjs.map +0 -1
- package/dist/components/AspectRatio/AspectRatio.module.css.js +0 -8
- package/dist/components/AspectRatio/AspectRatio.module.css.js.map +0 -1
- package/dist/components/Avatar/Avatar.module.css.cjs +0 -2
- package/dist/components/Avatar/Avatar.module.css.cjs.map +0 -1
- package/dist/components/Avatar/Avatar.module.css.js +0 -30
- package/dist/components/Avatar/Avatar.module.css.js.map +0 -1
- package/dist/components/Badge/Badge.module.css.cjs +0 -2
- package/dist/components/Badge/Badge.module.css.cjs.map +0 -1
- package/dist/components/Badge/Badge.module.css.js +0 -34
- package/dist/components/Badge/Badge.module.css.js.map +0 -1
- package/dist/components/Banner/Banner.module.css.cjs +0 -2
- package/dist/components/Banner/Banner.module.css.cjs.map +0 -1
- package/dist/components/Banner/Banner.module.css.js +0 -28
- package/dist/components/Banner/Banner.module.css.js.map +0 -1
- package/dist/components/BottomNavigation/BottomNavigation.module.css.cjs +0 -2
- package/dist/components/BottomNavigation/BottomNavigation.module.css.cjs.map +0 -1
- package/dist/components/BottomNavigation/BottomNavigation.module.css.js +0 -20
- package/dist/components/BottomNavigation/BottomNavigation.module.css.js.map +0 -1
- package/dist/components/BottomSheet/BottomSheet.module.css.cjs +0 -2
- package/dist/components/BottomSheet/BottomSheet.module.css.cjs.map +0 -1
- package/dist/components/BottomSheet/BottomSheet.module.css.js +0 -20
- package/dist/components/BottomSheet/BottomSheet.module.css.js.map +0 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.module.css.cjs +0 -2
- package/dist/components/Breadcrumbs/Breadcrumbs.module.css.cjs.map +0 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.module.css.js +0 -16
- package/dist/components/Breadcrumbs/Breadcrumbs.module.css.js.map +0 -1
- package/dist/components/Button/Button.module.css.cjs +0 -2
- package/dist/components/Button/Button.module.css.cjs.map +0 -1
- package/dist/components/Button/Button.module.css.js +0 -50
- package/dist/components/Button/Button.module.css.js.map +0 -1
- package/dist/components/Calendar/Calendar.module.css.cjs +0 -2
- package/dist/components/Calendar/Calendar.module.css.cjs.map +0 -1
- package/dist/components/Calendar/Calendar.module.css.js +0 -28
- package/dist/components/Calendar/Calendar.module.css.js.map +0 -1
- package/dist/components/Card/Card.module.css.cjs +0 -2
- package/dist/components/Card/Card.module.css.cjs.map +0 -1
- package/dist/components/Card/Card.module.css.js +0 -28
- package/dist/components/Card/Card.module.css.js.map +0 -1
- package/dist/components/Carousel/Carousel.module.css.cjs +0 -2
- package/dist/components/Carousel/Carousel.module.css.cjs.map +0 -1
- package/dist/components/Carousel/Carousel.module.css.js +0 -26
- package/dist/components/Carousel/Carousel.module.css.js.map +0 -1
- package/dist/components/Center/Center.module.css.cjs +0 -2
- package/dist/components/Center/Center.module.css.cjs.map +0 -1
- package/dist/components/Center/Center.module.css.js +0 -14
- package/dist/components/Center/Center.module.css.js.map +0 -1
- package/dist/components/Checkbox/Checkbox.module.css.cjs +0 -2
- package/dist/components/Checkbox/Checkbox.module.css.cjs.map +0 -1
- package/dist/components/Checkbox/Checkbox.module.css.js +0 -20
- package/dist/components/Checkbox/Checkbox.module.css.js.map +0 -1
- package/dist/components/ChipInput/ChipInput.module.css.cjs +0 -2
- package/dist/components/ChipInput/ChipInput.module.css.cjs.map +0 -1
- package/dist/components/ChipInput/ChipInput.module.css.js +0 -24
- package/dist/components/ChipInput/ChipInput.module.css.js.map +0 -1
- package/dist/components/Collapsible/Collapsible.module.css.cjs +0 -2
- package/dist/components/Collapsible/Collapsible.module.css.cjs.map +0 -1
- package/dist/components/Collapsible/Collapsible.module.css.js +0 -12
- package/dist/components/Collapsible/Collapsible.module.css.js.map +0 -1
- package/dist/components/Combobox/Combobox.module.css.cjs +0 -2
- package/dist/components/Combobox/Combobox.module.css.cjs.map +0 -1
- package/dist/components/Combobox/Combobox.module.css.js +0 -32
- package/dist/components/Combobox/Combobox.module.css.js.map +0 -1
- package/dist/components/Command/Command.module.css.cjs +0 -2
- package/dist/components/Command/Command.module.css.cjs.map +0 -1
- package/dist/components/Command/Command.module.css.js +0 -34
- package/dist/components/Command/Command.module.css.js.map +0 -1
- package/dist/components/ContextMenu/ContextMenu.module.css.cjs +0 -2
- package/dist/components/ContextMenu/ContextMenu.module.css.cjs.map +0 -1
- package/dist/components/ContextMenu/ContextMenu.module.css.js +0 -18
- package/dist/components/ContextMenu/ContextMenu.module.css.js.map +0 -1
- package/dist/components/CopyButton/CopyButton.module.css.cjs +0 -2
- package/dist/components/CopyButton/CopyButton.module.css.cjs.map +0 -1
- package/dist/components/CopyButton/CopyButton.module.css.js +0 -10
- package/dist/components/CopyButton/CopyButton.module.css.js.map +0 -1
- package/dist/components/DataList/DataList.module.css.cjs +0 -2
- package/dist/components/DataList/DataList.module.css.cjs.map +0 -1
- package/dist/components/DataList/DataList.module.css.js +0 -10
- package/dist/components/DataList/DataList.module.css.js.map +0 -1
- package/dist/components/DataTable/DataTable.module.css.cjs +0 -2
- package/dist/components/DataTable/DataTable.module.css.cjs.map +0 -1
- package/dist/components/DataTable/DataTable.module.css.js +0 -14
- package/dist/components/DataTable/DataTable.module.css.js.map +0 -1
- package/dist/components/DateRangePicker/DateRangePicker.module.css.cjs +0 -2
- package/dist/components/DateRangePicker/DateRangePicker.module.css.cjs.map +0 -1
- package/dist/components/DateRangePicker/DateRangePicker.module.css.js +0 -40
- package/dist/components/DateRangePicker/DateRangePicker.module.css.js.map +0 -1
- package/dist/components/DescriptionList/DescriptionList.module.css.cjs +0 -2
- package/dist/components/DescriptionList/DescriptionList.module.css.cjs.map +0 -1
- package/dist/components/DescriptionList/DescriptionList.module.css.js +0 -12
- package/dist/components/DescriptionList/DescriptionList.module.css.js.map +0 -1
- package/dist/components/Divider/Divider.module.css.cjs +0 -2
- package/dist/components/Divider/Divider.module.css.cjs.map +0 -1
- package/dist/components/Divider/Divider.module.css.js +0 -20
- package/dist/components/Divider/Divider.module.css.js.map +0 -1
- package/dist/components/Drawer/Drawer.module.css.cjs +0 -2
- package/dist/components/Drawer/Drawer.module.css.cjs.map +0 -1
- package/dist/components/Drawer/Drawer.module.css.js +0 -42
- package/dist/components/Drawer/Drawer.module.css.js.map +0 -1
- package/dist/components/DropdownMenu/DropdownMenu.module.css.cjs +0 -2
- package/dist/components/DropdownMenu/DropdownMenu.module.css.cjs.map +0 -1
- package/dist/components/DropdownMenu/DropdownMenu.module.css.js +0 -28
- package/dist/components/DropdownMenu/DropdownMenu.module.css.js.map +0 -1
- package/dist/components/Dropzone/Dropzone.module.css.cjs +0 -2
- package/dist/components/Dropzone/Dropzone.module.css.cjs.map +0 -1
- package/dist/components/Dropzone/Dropzone.module.css.js +0 -16
- package/dist/components/Dropzone/Dropzone.module.css.js.map +0 -1
- package/dist/components/EmptyState/EmptyState.module.css.cjs +0 -2
- package/dist/components/EmptyState/EmptyState.module.css.cjs.map +0 -1
- package/dist/components/EmptyState/EmptyState.module.css.js +0 -16
- package/dist/components/EmptyState/EmptyState.module.css.js.map +0 -1
- package/dist/components/ErrorState/ErrorState.module.css.cjs +0 -2
- package/dist/components/ErrorState/ErrorState.module.css.cjs.map +0 -1
- package/dist/components/ErrorState/ErrorState.module.css.js +0 -16
- package/dist/components/ErrorState/ErrorState.module.css.js.map +0 -1
- package/dist/components/ErrorText/ErrorText.module.css.cjs +0 -2
- package/dist/components/ErrorText/ErrorText.module.css.cjs.map +0 -1
- package/dist/components/ErrorText/ErrorText.module.css.js +0 -8
- package/dist/components/ErrorText/ErrorText.module.css.js.map +0 -1
- package/dist/components/FileUpload/FileUpload.module.css.cjs +0 -2
- package/dist/components/FileUpload/FileUpload.module.css.cjs.map +0 -1
- package/dist/components/FileUpload/FileUpload.module.css.js +0 -32
- package/dist/components/FileUpload/FileUpload.module.css.js.map +0 -1
- package/dist/components/FloatingActionButton/FloatingActionButton.module.css.cjs +0 -2
- package/dist/components/FloatingActionButton/FloatingActionButton.module.css.cjs.map +0 -1
- package/dist/components/FloatingActionButton/FloatingActionButton.module.css.js +0 -32
- package/dist/components/FloatingActionButton/FloatingActionButton.module.css.js.map +0 -1
- package/dist/components/Form/Form.module.css.cjs +0 -2
- package/dist/components/Form/Form.module.css.cjs.map +0 -1
- package/dist/components/Form/Form.module.css.js +0 -36
- package/dist/components/Form/Form.module.css.js.map +0 -1
- package/dist/components/HoverCard/HoverCard.module.css.cjs +0 -2
- package/dist/components/HoverCard/HoverCard.module.css.cjs.map +0 -1
- package/dist/components/HoverCard/HoverCard.module.css.js +0 -22
- package/dist/components/HoverCard/HoverCard.module.css.js.map +0 -1
- package/dist/components/Image/Image.module.css.cjs +0 -2
- package/dist/components/Image/Image.module.css.cjs.map +0 -1
- package/dist/components/Image/Image.module.css.js +0 -8
- package/dist/components/Image/Image.module.css.js.map +0 -1
- package/dist/components/Input/Input.module.css.cjs +0 -2
- package/dist/components/Input/Input.module.css.cjs.map +0 -1
- package/dist/components/Input/Input.module.css.js +0 -36
- package/dist/components/Input/Input.module.css.js.map +0 -1
- package/dist/components/InstallBanner/InstallBanner.module.css.cjs +0 -2
- package/dist/components/InstallBanner/InstallBanner.module.css.cjs.map +0 -1
- package/dist/components/InstallBanner/InstallBanner.module.css.js +0 -18
- package/dist/components/InstallBanner/InstallBanner.module.css.js.map +0 -1
- package/dist/components/Kbd/Kbd.module.css.cjs +0 -2
- package/dist/components/Kbd/Kbd.module.css.cjs.map +0 -1
- package/dist/components/Kbd/Kbd.module.css.js +0 -14
- package/dist/components/Kbd/Kbd.module.css.js.map +0 -1
- package/dist/components/Label/Label.module.css.cjs +0 -2
- package/dist/components/Label/Label.module.css.cjs.map +0 -1
- package/dist/components/Label/Label.module.css.js +0 -10
- package/dist/components/Label/Label.module.css.js.map +0 -1
- package/dist/components/Layout/Layout.module.css.cjs +0 -2
- package/dist/components/Layout/Layout.module.css.cjs.map +0 -1
- package/dist/components/Layout/Layout.module.css.js +0 -44
- package/dist/components/Layout/Layout.module.css.js.map +0 -1
- package/dist/components/ListTile/ListTile.module.css.cjs +0 -2
- package/dist/components/ListTile/ListTile.module.css.cjs.map +0 -1
- package/dist/components/ListTile/ListTile.module.css.js +0 -24
- package/dist/components/ListTile/ListTile.module.css.js.map +0 -1
- package/dist/components/Menubar/Menubar.module.css.cjs +0 -2
- package/dist/components/Menubar/Menubar.module.css.cjs.map +0 -1
- package/dist/components/Menubar/Menubar.module.css.js +0 -24
- package/dist/components/Menubar/Menubar.module.css.js.map +0 -1
- package/dist/components/Modal/Modal.module.css.cjs +0 -2
- package/dist/components/Modal/Modal.module.css.cjs.map +0 -1
- package/dist/components/Modal/Modal.module.css.js +0 -40
- package/dist/components/Modal/Modal.module.css.js.map +0 -1
- package/dist/components/ModalsManager/ModalsManager.module.css.cjs +0 -2
- package/dist/components/ModalsManager/ModalsManager.module.css.cjs.map +0 -1
- package/dist/components/ModalsManager/ModalsManager.module.css.js +0 -8
- package/dist/components/ModalsManager/ModalsManager.module.css.js.map +0 -1
- package/dist/components/MultiSelect/MultiSelect.module.css.cjs +0 -2
- package/dist/components/MultiSelect/MultiSelect.module.css.cjs.map +0 -1
- package/dist/components/MultiSelect/MultiSelect.module.css.js +0 -38
- package/dist/components/MultiSelect/MultiSelect.module.css.js.map +0 -1
- package/dist/components/NProgress/NProgress.module.css.cjs +0 -2
- package/dist/components/NProgress/NProgress.module.css.cjs.map +0 -1
- package/dist/components/NProgress/NProgress.module.css.js +0 -8
- package/dist/components/NProgress/NProgress.module.css.js.map +0 -1
- package/dist/components/Navbar/Navbar.module.css.cjs +0 -2
- package/dist/components/Navbar/Navbar.module.css.cjs.map +0 -1
- package/dist/components/Navbar/Navbar.module.css.js +0 -24
- package/dist/components/Navbar/Navbar.module.css.js.map +0 -1
- package/dist/components/NavigationMenu/NavigationMenu.module.css.cjs +0 -2
- package/dist/components/NavigationMenu/NavigationMenu.module.css.cjs.map +0 -1
- package/dist/components/NavigationMenu/NavigationMenu.module.css.js +0 -20
- package/dist/components/NavigationMenu/NavigationMenu.module.css.js.map +0 -1
- package/dist/components/NavigationRail/NavigationRail.module.css.cjs +0 -2
- package/dist/components/NavigationRail/NavigationRail.module.css.cjs.map +0 -1
- package/dist/components/NavigationRail/NavigationRail.module.css.js +0 -26
- package/dist/components/NavigationRail/NavigationRail.module.css.js.map +0 -1
- package/dist/components/OfflineIndicator/OfflineIndicator.module.css.cjs +0 -2
- package/dist/components/OfflineIndicator/OfflineIndicator.module.css.cjs.map +0 -1
- package/dist/components/OfflineIndicator/OfflineIndicator.module.css.js +0 -18
- package/dist/components/OfflineIndicator/OfflineIndicator.module.css.js.map +0 -1
- package/dist/components/Page/Page.module.css.cjs +0 -2
- package/dist/components/Page/Page.module.css.cjs.map +0 -1
- package/dist/components/Page/Page.module.css.js +0 -28
- package/dist/components/Page/Page.module.css.js.map +0 -1
- package/dist/components/Pagination/Pagination.module.css.cjs +0 -2
- package/dist/components/Pagination/Pagination.module.css.cjs.map +0 -1
- package/dist/components/Pagination/Pagination.module.css.js +0 -22
- package/dist/components/Pagination/Pagination.module.css.js.map +0 -1
- package/dist/components/PasswordInput/PasswordInput.module.css.cjs +0 -2
- package/dist/components/PasswordInput/PasswordInput.module.css.cjs.map +0 -1
- package/dist/components/PasswordInput/PasswordInput.module.css.js +0 -44
- package/dist/components/PasswordInput/PasswordInput.module.css.js.map +0 -1
- package/dist/components/PinInput/PinInput.module.css.cjs +0 -2
- package/dist/components/PinInput/PinInput.module.css.cjs.map +0 -1
- package/dist/components/PinInput/PinInput.module.css.js +0 -26
- package/dist/components/PinInput/PinInput.module.css.js.map +0 -1
- package/dist/components/Popover/Popover.module.css.cjs +0 -2
- package/dist/components/Popover/Popover.module.css.cjs.map +0 -1
- package/dist/components/Popover/Popover.module.css.js +0 -20
- package/dist/components/Popover/Popover.module.css.js.map +0 -1
- package/dist/components/Progress/Progress.module.css.cjs +0 -2
- package/dist/components/Progress/Progress.module.css.cjs.map +0 -1
- package/dist/components/Progress/Progress.module.css.js +0 -24
- package/dist/components/Progress/Progress.module.css.js.map +0 -1
- package/dist/components/Radio/Radio.module.css.cjs +0 -2
- package/dist/components/Radio/Radio.module.css.cjs.map +0 -1
- package/dist/components/Radio/Radio.module.css.js +0 -24
- package/dist/components/Radio/Radio.module.css.js.map +0 -1
- package/dist/components/RangeSlider/RangeSlider.module.css.cjs +0 -2
- package/dist/components/RangeSlider/RangeSlider.module.css.cjs.map +0 -1
- package/dist/components/RangeSlider/RangeSlider.module.css.js +0 -22
- package/dist/components/RangeSlider/RangeSlider.module.css.js.map +0 -1
- package/dist/components/RatingStars/RatingStars.module.css.cjs +0 -2
- package/dist/components/RatingStars/RatingStars.module.css.cjs.map +0 -1
- package/dist/components/RatingStars/RatingStars.module.css.js +0 -22
- package/dist/components/RatingStars/RatingStars.module.css.js.map +0 -1
- package/dist/components/RefreshIndicator/RefreshIndicator.module.css.cjs +0 -2
- package/dist/components/RefreshIndicator/RefreshIndicator.module.css.cjs.map +0 -1
- package/dist/components/RefreshIndicator/RefreshIndicator.module.css.js +0 -14
- package/dist/components/RefreshIndicator/RefreshIndicator.module.css.js.map +0 -1
- package/dist/components/Resizable/Resizable.module.css.cjs +0 -2
- package/dist/components/Resizable/Resizable.module.css.cjs.map +0 -1
- package/dist/components/Resizable/Resizable.module.css.js +0 -18
- package/dist/components/Resizable/Resizable.module.css.js.map +0 -1
- package/dist/components/SafeArea/SafeArea.module.css.cjs +0 -2
- package/dist/components/SafeArea/SafeArea.module.css.cjs.map +0 -1
- package/dist/components/SafeArea/SafeArea.module.css.js +0 -18
- package/dist/components/SafeArea/SafeArea.module.css.js.map +0 -1
- package/dist/components/ScrollArea/ScrollArea.module.css.cjs +0 -2
- package/dist/components/ScrollArea/ScrollArea.module.css.cjs.map +0 -1
- package/dist/components/ScrollArea/ScrollArea.module.css.js +0 -8
- package/dist/components/ScrollArea/ScrollArea.module.css.js.map +0 -1
- package/dist/components/SearchBar/SearchBar.module.css.cjs +0 -2
- package/dist/components/SearchBar/SearchBar.module.css.cjs.map +0 -1
- package/dist/components/SearchBar/SearchBar.module.css.js +0 -14
- package/dist/components/SearchBar/SearchBar.module.css.js.map +0 -1
- package/dist/components/SegmentedControl/SegmentedControl.module.css.cjs +0 -2
- package/dist/components/SegmentedControl/SegmentedControl.module.css.cjs.map +0 -1
- package/dist/components/SegmentedControl/SegmentedControl.module.css.js +0 -24
- package/dist/components/SegmentedControl/SegmentedControl.module.css.js.map +0 -1
- package/dist/components/Select/Select.module.css.cjs +0 -2
- package/dist/components/Select/Select.module.css.cjs.map +0 -1
- package/dist/components/Select/Select.module.css.js +0 -24
- package/dist/components/Select/Select.module.css.js.map +0 -1
- package/dist/components/Sidebar/Sidebar.module.css.cjs +0 -2
- package/dist/components/Sidebar/Sidebar.module.css.cjs.map +0 -1
- package/dist/components/Sidebar/Sidebar.module.css.js +0 -26
- package/dist/components/Sidebar/Sidebar.module.css.js.map +0 -1
- package/dist/components/Skeleton/Skeleton.module.css.cjs +0 -2
- package/dist/components/Skeleton/Skeleton.module.css.cjs.map +0 -1
- package/dist/components/Skeleton/Skeleton.module.css.js +0 -12
- package/dist/components/Skeleton/Skeleton.module.css.js.map +0 -1
- package/dist/components/Slider/Slider.module.css.cjs +0 -2
- package/dist/components/Slider/Slider.module.css.cjs.map +0 -1
- package/dist/components/Slider/Slider.module.css.js +0 -22
- package/dist/components/Slider/Slider.module.css.js.map +0 -1
- package/dist/components/Spacer/Spacer.module.css.cjs +0 -2
- package/dist/components/Spacer/Spacer.module.css.cjs.map +0 -1
- package/dist/components/Spacer/Spacer.module.css.js +0 -14
- package/dist/components/Spacer/Spacer.module.css.js.map +0 -1
- package/dist/components/Spinner/Spinner.module.css.cjs +0 -2
- package/dist/components/Spinner/Spinner.module.css.cjs.map +0 -1
- package/dist/components/Spinner/Spinner.module.css.js +0 -26
- package/dist/components/Spinner/Spinner.module.css.js.map +0 -1
- package/dist/components/Stat/Stat.module.css.cjs +0 -2
- package/dist/components/Stat/Stat.module.css.cjs.map +0 -1
- package/dist/components/Stat/Stat.module.css.js +0 -28
- package/dist/components/Stat/Stat.module.css.js.map +0 -1
- package/dist/components/Stepper/Stepper.module.css.cjs +0 -2
- package/dist/components/Stepper/Stepper.module.css.cjs.map +0 -1
- package/dist/components/Stepper/Stepper.module.css.js +0 -22
- package/dist/components/Stepper/Stepper.module.css.js.map +0 -1
- package/dist/components/StepperInput/StepperInput.module.css.cjs +0 -2
- package/dist/components/StepperInput/StepperInput.module.css.cjs.map +0 -1
- package/dist/components/StepperInput/StepperInput.module.css.js +0 -24
- package/dist/components/StepperInput/StepperInput.module.css.js.map +0 -1
- package/dist/components/Switch/Switch.module.css.cjs +0 -2
- package/dist/components/Switch/Switch.module.css.cjs.map +0 -1
- package/dist/components/Switch/Switch.module.css.js +0 -18
- package/dist/components/Switch/Switch.module.css.js.map +0 -1
- package/dist/components/SyncStatusBadge/SyncStatusBadge.module.css.cjs +0 -2
- package/dist/components/SyncStatusBadge/SyncStatusBadge.module.css.cjs.map +0 -1
- package/dist/components/SyncStatusBadge/SyncStatusBadge.module.css.js +0 -28
- package/dist/components/SyncStatusBadge/SyncStatusBadge.module.css.js.map +0 -1
- package/dist/components/Table/Table.module.css.cjs +0 -2
- package/dist/components/Table/Table.module.css.cjs.map +0 -1
- package/dist/components/Table/Table.module.css.js +0 -34
- package/dist/components/Table/Table.module.css.js.map +0 -1
- package/dist/components/Tabs/Tabs.module.css.cjs +0 -2
- package/dist/components/Tabs/Tabs.module.css.cjs.map +0 -1
- package/dist/components/Tabs/Tabs.module.css.js +0 -16
- package/dist/components/Tabs/Tabs.module.css.js.map +0 -1
- package/dist/components/Tag/Tag.module.css.cjs +0 -2
- package/dist/components/Tag/Tag.module.css.cjs.map +0 -1
- package/dist/components/Tag/Tag.module.css.js +0 -30
- package/dist/components/Tag/Tag.module.css.js.map +0 -1
- package/dist/components/Textarea/Textarea.module.css.cjs +0 -2
- package/dist/components/Textarea/Textarea.module.css.cjs.map +0 -1
- package/dist/components/Textarea/Textarea.module.css.js +0 -20
- package/dist/components/Textarea/Textarea.module.css.js.map +0 -1
- package/dist/components/TimePicker/TimePicker.module.css.cjs +0 -2
- package/dist/components/TimePicker/TimePicker.module.css.cjs.map +0 -1
- package/dist/components/TimePicker/TimePicker.module.css.js +0 -24
- package/dist/components/TimePicker/TimePicker.module.css.js.map +0 -1
- package/dist/components/Timeline/Timeline.module.css.cjs +0 -2
- package/dist/components/Timeline/Timeline.module.css.cjs.map +0 -1
- package/dist/components/Timeline/Timeline.module.css.js +0 -36
- package/dist/components/Timeline/Timeline.module.css.js.map +0 -1
- package/dist/components/Toast/Toast.module.css.cjs +0 -2
- package/dist/components/Toast/Toast.module.css.cjs.map +0 -1
- package/dist/components/Toast/Toast.module.css.js +0 -38
- package/dist/components/Toast/Toast.module.css.js.map +0 -1
- package/dist/components/Toggle/Toggle.module.css.cjs +0 -2
- package/dist/components/Toggle/Toggle.module.css.cjs.map +0 -1
- package/dist/components/Toggle/Toggle.module.css.js +0 -18
- package/dist/components/Toggle/Toggle.module.css.js.map +0 -1
- package/dist/components/ToggleGroup/ToggleGroup.module.css.cjs +0 -2
- package/dist/components/ToggleGroup/ToggleGroup.module.css.cjs.map +0 -1
- package/dist/components/ToggleGroup/ToggleGroup.module.css.js +0 -12
- package/dist/components/ToggleGroup/ToggleGroup.module.css.js.map +0 -1
- package/dist/components/Tooltip/Tooltip.module.css.cjs +0 -2
- package/dist/components/Tooltip/Tooltip.module.css.cjs.map +0 -1
- package/dist/components/Tooltip/Tooltip.module.css.js +0 -20
- package/dist/components/Tooltip/Tooltip.module.css.js.map +0 -1
- package/dist/components/TruncateText/TruncateText.module.css.cjs +0 -2
- package/dist/components/TruncateText/TruncateText.module.css.cjs.map +0 -1
- package/dist/components/TruncateText/TruncateText.module.css.js +0 -8
- package/dist/components/TruncateText/TruncateText.module.css.js.map +0 -1
- package/dist/components/UpdatePrompt/UpdatePrompt.module.css.cjs +0 -2
- package/dist/components/UpdatePrompt/UpdatePrompt.module.css.cjs.map +0 -1
- package/dist/components/UpdatePrompt/UpdatePrompt.module.css.js +0 -20
- package/dist/components/UpdatePrompt/UpdatePrompt.module.css.js.map +0 -1
- package/dist/components/VirtualList/VirtualList.module.css.cjs +0 -2
- package/dist/components/VirtualList/VirtualList.module.css.cjs.map +0 -1
- package/dist/components/VirtualList/VirtualList.module.css.js +0 -12
- package/dist/components/VirtualList/VirtualList.module.css.js.map +0 -1
- package/dist/components/VisuallyHidden/VisuallyHidden.module.css.cjs +0 -2
- package/dist/components/VisuallyHidden/VisuallyHidden.module.css.cjs.map +0 -1
- package/dist/components/VisuallyHidden/VisuallyHidden.module.css.js +0 -8
- package/dist/components/VisuallyHidden/VisuallyHidden.module.css.js.map +0 -1
- package/dist/editor/RichTextEditor.module.css.cjs +0 -2
- package/dist/editor/RichTextEditor.module.css.cjs.map +0 -1
- package/dist/editor/RichTextEditor.module.css.js +0 -18
- package/dist/editor/RichTextEditor.module.css.js.map +0 -1
- package/dist/editor.cjs.map +0 -1
- package/dist/editor.js.map +0 -1
- package/dist/geo/TrajectoryMap.module.css.cjs +0 -2
- package/dist/geo/TrajectoryMap.module.css.cjs.map +0 -1
- package/dist/geo/TrajectoryMap.module.css.js +0 -30
- package/dist/geo/TrajectoryMap.module.css.js.map +0 -1
- package/dist/sw.cjs.map +0 -1
- package/dist/sw.js.map +0 -1
- package/dist/tempest-react-sdk.cjs.map +0 -1
- package/dist/tempest-react-sdk.js.map +0 -1
- package/dist/testing.cjs.map +0 -1
- package/dist/testing.js.map +0 -1
- package/dist/vision.cjs.map +0 -1
- package/dist/vision.js.map +0 -1
- package/dist/vite.cjs.map +0 -1
- package/dist/vite.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detection.cjs","sources":["../../../src/vision/postprocess/detection.ts"],"sourcesContent":["/**\n * Detection head postprocessing: anchor-free YOLO decoding + non-maximum suppression.\n *\n * The shared {@link decodeYoloAnchors} helper does the per-anchor work that\n * is identical for plain detection and segmentation (transpose, xywh→xyxy,\n * letterbox unmap, per-class NMS, sort & cap). {@link decodeYolo} is a thin\n * wrapper around it; the segmentation module ({@link ./segmentation.js})\n * calls the helper directly so it can also recover the per-anchor mask\n * coefficients.\n *\n * Works for any YOLO export with the post-v8 anchor-free head:\n * **YOLOv8 / v9 / v10 / v11 / v12** detect heads, all of which share the\n * `[1, 4 + nc, N]` output layout.\n */\n\nimport { BoundingBox } from \"../types\";\n\n/**\n * Greedy non-maximum suppression on axis-aligned bounding boxes.\n *\n * Mirrors `torchvision.ops.nms` (keeps boxes with the highest score, drops\n * any subsequent box whose IoU exceeds the threshold).\n *\n * @param boxes Flat array of length `4 * N` in xyxy order: `[x1,y1,x2,y2, ...]`.\n * @param scores Detection score per box, length `N`.\n * @param iouThreshold Boxes with IoU above this threshold relative to a kept box are suppressed.\n * @returns Indices of kept boxes, in descending score order.\n */\nexport function nms(boxes: Float32Array, scores: Float32Array, iouThreshold: number): Int32Array {\n const n = scores.length;\n if (n === 0) return new Int32Array(0);\n\n const areas = new Float32Array(n);\n for (let i = 0; i < n; i++) {\n const x1 = boxes[i * 4] as number;\n const y1 = boxes[i * 4 + 1] as number;\n const x2 = boxes[i * 4 + 2] as number;\n const y2 = boxes[i * 4 + 3] as number;\n areas[i] = Math.max(0, x2 - x1) * Math.max(0, y2 - y1);\n }\n\n const order = new Array<number>(n);\n for (let i = 0; i < n; i++) order[i] = i;\n order.sort((a, b) => (scores[b] as number) - (scores[a] as number));\n\n const suppressed = new Uint8Array(n);\n const keep: number[] = [];\n\n for (let oi = 0; oi < order.length; oi++) {\n const i = order[oi] as number;\n if (suppressed[i]) continue;\n keep.push(i);\n\n const ax1 = boxes[i * 4] as number;\n const ay1 = boxes[i * 4 + 1] as number;\n const ax2 = boxes[i * 4 + 2] as number;\n const ay2 = boxes[i * 4 + 3] as number;\n const ai = areas[i] as number;\n\n for (let oj = oi + 1; oj < order.length; oj++) {\n const j = order[oj] as number;\n if (suppressed[j]) continue;\n\n const bx1 = boxes[j * 4] as number;\n const by1 = boxes[j * 4 + 1] as number;\n const bx2 = boxes[j * 4 + 2] as number;\n const by2 = boxes[j * 4 + 3] as number;\n\n const ix1 = Math.max(ax1, bx1);\n const iy1 = Math.max(ay1, by1);\n const ix2 = Math.min(ax2, bx2);\n const iy2 = Math.min(ay2, by2);\n const iw = Math.max(0, ix2 - ix1);\n const ih = Math.max(0, iy2 - iy1);\n const inter = iw * ih;\n const union = ai + (areas[j] as number) - inter;\n const iou = union > 0 ? inter / union : 0;\n if (iou > iouThreshold) suppressed[j] = 1;\n }\n }\n\n return Int32Array.from(keep);\n}\n\n/**\n * Per-class NMS — boxes are suppressed only by other boxes of the same class.\n *\n * Mirrors `torchvision.ops.batched_nms`.\n *\n * @param boxes Flat array of length `4 * N` in xyxy order.\n * @param scores Detection score per box, length `N`.\n * @param idxs Class index per box, length `N`. Boxes with different `idxs`\n * never suppress each other.\n * @param iouThreshold IoU threshold for suppression within a class.\n */\nexport function batchedNms(\n boxes: Float32Array,\n scores: Float32Array,\n idxs: Int32Array,\n iouThreshold: number,\n): Int32Array {\n if (scores.length === 0) return new Int32Array(0);\n\n const byClass = new Map<number, number[]>();\n for (let i = 0; i < idxs.length; i++) {\n const c = idxs[i] as number;\n const list = byClass.get(c);\n if (list === undefined) byClass.set(c, [i]);\n else list.push(i);\n }\n\n const keep: number[] = [];\n for (const indices of byClass.values()) {\n const m = indices.length;\n const subBoxes = new Float32Array(m * 4);\n const subScores = new Float32Array(m);\n for (let k = 0; k < m; k++) {\n const i = indices[k] as number;\n subBoxes[k * 4] = boxes[i * 4] as number;\n subBoxes[k * 4 + 1] = boxes[i * 4 + 1] as number;\n subBoxes[k * 4 + 2] = boxes[i * 4 + 2] as number;\n subBoxes[k * 4 + 3] = boxes[i * 4 + 3] as number;\n subScores[k] = scores[i] as number;\n }\n const subKeep = nms(subBoxes, subScores, iouThreshold);\n for (let k = 0; k < subKeep.length; k++) {\n keep.push(indices[subKeep[k] as number] as number);\n }\n }\n\n keep.sort((a, b) => (scores[b] as number) - (scores[a] as number));\n return Int32Array.from(keep);\n}\n\nexport interface DecodeYoloAnchorsOptions {\n /** Number of class-score channels following the 4 box channels. */\n readonly numClasses: number;\n readonly originalWidth: number;\n readonly originalHeight: number;\n readonly padLeft: number;\n readonly padTop: number;\n readonly scale: number;\n readonly confThreshold: number;\n readonly iouThreshold: number;\n readonly maxDetections: number;\n}\n\nexport interface DecodedAnchors {\n /** Indices into the original `numAnchors` axis, in descending confidence order. */\n readonly anchorIndices: Int32Array;\n /** `[k, 4]` boxes in original-image pixel coords, flat row-major xyxy. */\n readonly boxesXyxy: Float32Array;\n /** Predicted class id per survivor. */\n readonly classIds: Int32Array;\n /** Confidence per survivor. */\n readonly confidences: Float32Array;\n}\n\n/**\n * Shared YOLO per-anchor decode used by both detection and segmentation\n * (v8 / v9 / v10 / v11 / v12).\n *\n * Only the first `4 + numClasses` channels are read; later channels (e.g.\n * mask coefficients) are ignored — callers can fetch them via the returned\n * {@link DecodedAnchors.anchorIndices}.\n *\n * @param data Flat per-anchor output, length `channels * numAnchors`.\n * @param dims Dims as reported by ORT, e.g. `[1, 84, 8400]` (det) or\n * `[1, 116, 8400]` (seg). The leading batch dim must be 1.\n */\nexport function decodeYoloAnchors(\n data: Float32Array,\n dims: readonly number[],\n options: DecodeYoloAnchorsOptions,\n): DecodedAnchors {\n let normalized = dims;\n if (normalized.length === 3) {\n if (normalized[0] !== 1) {\n throw new Error(`decodeYoloAnchors: expected batch size 1, got ${normalized[0]}.`);\n }\n normalized = [normalized[1] as number, normalized[2] as number];\n }\n if (normalized.length !== 2) {\n throw new Error(\n `decodeYoloAnchors: expected 2-D output after batch removal, got dims=${JSON.stringify(dims)}.`,\n );\n }\n const channels = normalized[0] as number;\n const numAnchors = normalized[1] as number;\n\n const {\n numClasses,\n originalWidth,\n originalHeight,\n padLeft,\n padTop,\n scale,\n confThreshold,\n iouThreshold,\n maxDetections,\n } = options;\n\n if (numClasses < 1 || numClasses + 4 > channels) {\n throw new Error(\n `decodeYoloAnchors: invalid numClasses=${numClasses} for channels=${channels}.`,\n );\n }\n if (data.length !== channels * numAnchors) {\n throw new Error(\n `decodeYoloAnchors: data length ${data.length} does not match channels*numAnchors=${channels * numAnchors}.`,\n );\n }\n\n type Candidate = {\n anchorIdx: number;\n x1: number;\n y1: number;\n x2: number;\n y2: number;\n classId: number;\n confidence: number;\n };\n const candidates: Candidate[] = [];\n\n for (let a = 0; a < numAnchors; a++) {\n let bestCls = 0;\n let bestScore = -Infinity;\n for (let c = 0; c < numClasses; c++) {\n const s = data[(4 + c) * numAnchors + a];\n if (s !== undefined && s > bestScore) {\n bestScore = s;\n bestCls = c;\n }\n }\n if (bestScore < confThreshold) continue;\n\n const cx = data[a] as number;\n const cy = data[numAnchors + a] as number;\n const w = data[2 * numAnchors + a] as number;\n const h = data[3 * numAnchors + a] as number;\n\n let x1 = cx - w / 2;\n let y1 = cy - h / 2;\n let x2 = cx + w / 2;\n let y2 = cy + h / 2;\n\n x1 = (x1 - padLeft) / scale;\n y1 = (y1 - padTop) / scale;\n x2 = (x2 - padLeft) / scale;\n y2 = (y2 - padTop) / scale;\n\n x1 = Math.max(0, Math.min(originalWidth, x1));\n y1 = Math.max(0, Math.min(originalHeight, y1));\n x2 = Math.max(0, Math.min(originalWidth, x2));\n y2 = Math.max(0, Math.min(originalHeight, y2));\n\n candidates.push({ anchorIdx: a, x1, y1, x2, y2, classId: bestCls, confidence: bestScore });\n }\n\n if (candidates.length === 0) return emptyDecoded();\n\n // Build flat arrays then delegate to batchedNms — same algorithm as before\n // but funnelled through the public per-class NMS helper.\n const flatBoxes = new Float32Array(candidates.length * 4);\n const scoresArr = new Float32Array(candidates.length);\n const idxsArr = new Int32Array(candidates.length);\n for (let i = 0; i < candidates.length; i++) {\n const c = candidates[i] as Candidate;\n flatBoxes[i * 4] = c.x1;\n flatBoxes[i * 4 + 1] = c.y1;\n flatBoxes[i * 4 + 2] = c.x2;\n flatBoxes[i * 4 + 3] = c.y2;\n scoresArr[i] = c.confidence;\n idxsArr[i] = c.classId;\n }\n const kept = batchedNms(flatBoxes, scoresArr, idxsArr, iouThreshold);\n if (kept.length === 0) return emptyDecoded();\n\n const limited = Array.from(kept).slice(0, maxDetections);\n const k = limited.length;\n const anchorIndices = new Int32Array(k);\n const boxesXyxy = new Float32Array(k * 4);\n const classIds = new Int32Array(k);\n const confidences = new Float32Array(k);\n for (let i = 0; i < k; i++) {\n const c = candidates[limited[i] as number] as Candidate;\n anchorIndices[i] = c.anchorIdx;\n boxesXyxy[i * 4] = c.x1;\n boxesXyxy[i * 4 + 1] = c.y1;\n boxesXyxy[i * 4 + 2] = c.x2;\n boxesXyxy[i * 4 + 3] = c.y2;\n classIds[i] = c.classId;\n confidences[i] = c.confidence;\n }\n return { anchorIndices, boxesXyxy, classIds, confidences };\n}\n\nfunction emptyDecoded(): DecodedAnchors {\n return {\n anchorIndices: new Int32Array(0),\n boxesXyxy: new Float32Array(0),\n classIds: new Int32Array(0),\n confidences: new Float32Array(0),\n };\n}\n\nexport interface DecodeYoloOptions {\n readonly originalWidth: number;\n readonly originalHeight: number;\n readonly padLeft: number;\n readonly padTop: number;\n readonly scale: number;\n readonly confThreshold: number;\n readonly iouThreshold: number;\n readonly maxDetections: number;\n}\n\nexport interface DecodedDetection {\n readonly bbox: BoundingBox;\n readonly classId: number;\n readonly confidence: number;\n}\n\n/**\n * Decode an anchor-free YOLO detection output into a list of detections.\n *\n * Works for **YOLOv8 / v9 / v10 / v11 / v12** detect heads.\n *\n * Expected raw shape: `[1, 4 + numClasses, N]`. `numClasses` is inferred\n * from the channel count.\n */\nexport function decodeYolo(\n output: Float32Array,\n outputDims: readonly number[],\n options: DecodeYoloOptions,\n): DecodedDetection[] {\n const channels = outputDims.length === 3 ? outputDims[1] : outputDims[0];\n if (channels === undefined || channels < 5) {\n throw new Error(`decodeYolo: invalid output channel count ${channels} (expected >= 5).`);\n }\n const numClasses = channels - 4;\n\n const decoded = decodeYoloAnchors(output, outputDims, {\n numClasses,\n ...options,\n });\n\n const results: DecodedDetection[] = [];\n for (let i = 0; i < decoded.classIds.length; i++) {\n results.push({\n bbox: new BoundingBox(\n decoded.boxesXyxy[i * 4] as number,\n decoded.boxesXyxy[i * 4 + 1] as number,\n decoded.boxesXyxy[i * 4 + 2] as number,\n decoded.boxesXyxy[i * 4 + 3] as number,\n ),\n classId: decoded.classIds[i] as number,\n confidence: decoded.confidences[i] as number,\n });\n }\n return results;\n}\n\nlet _warnedDecodeYoloV8 = false;\nlet _warnedDecodeYoloV8Anchors = false;\n\n/**\n * @deprecated since 0.2.0 — use {@link decodeYolo}. Same behavior; the\n * decoder covers v8/v9/v10/v11/v12 detect heads. Will be removed in 0.3.0.\n */\nexport function decodeYoloV8(\n output: Float32Array,\n outputDims: readonly number[],\n options: DecodeYoloOptions,\n): DecodedDetection[] {\n if (!_warnedDecodeYoloV8) {\n _warnedDecodeYoloV8 = true;\n console.warn(\n \"[@ort-vision-sdk/web] decodeYoloV8 is deprecated since 0.2.0; use decodeYolo. \" +\n \"The alias will be removed in 0.3.0.\",\n );\n }\n return decodeYolo(output, outputDims, options);\n}\n\n/**\n * @deprecated since 0.2.0 — use {@link decodeYoloAnchors}. Will be removed in 0.3.0.\n */\nexport function decodeYoloV8Anchors(\n data: Float32Array,\n dims: readonly number[],\n options: DecodeYoloAnchorsOptions,\n): DecodedAnchors {\n if (!_warnedDecodeYoloV8Anchors) {\n _warnedDecodeYoloV8Anchors = true;\n console.warn(\n \"[@ort-vision-sdk/web] decodeYoloV8Anchors is deprecated since 0.2.0; use decodeYoloAnchors. \" +\n \"The alias will be removed in 0.3.0.\",\n );\n }\n return decodeYoloAnchors(data, dims, options);\n}\n\n/** @deprecated since 0.2.0 — use {@link DecodeYoloAnchorsOptions}. */\nexport type DecodeYoloV8AnchorsOptions = DecodeYoloAnchorsOptions;\n\n/** @deprecated since 0.2.0 — use {@link DecodeYoloOptions}. */\nexport type DecodeYoloV8Options = DecodeYoloOptions;\n"],"names":["nms","boxes","scores","iouThreshold","n","areas","i","x1","y1","x2","y2","order","a","b","suppressed","keep","oi","ax1","ay1","ax2","ay2","ai","oj","j","bx1","by1","bx2","by2","ix1","iy1","ix2","iy2","iw","ih","inter","union","batchedNms","idxs","byClass","c","list","indices","m","subBoxes","subScores","k","subKeep","decodeYoloAnchors","data","dims","options","normalized","channels","numAnchors","numClasses","originalWidth","originalHeight","padLeft","padTop","scale","confThreshold","maxDetections","candidates","bestCls","bestScore","s","cx","cy","w","h","emptyDecoded","flatBoxes","scoresArr","idxsArr","kept","limited","anchorIndices","boxesXyxy","classIds","confidences","decodeYolo","output","outputDims","decoded","results","BoundingBox","_warnedDecodeYoloV8","_warnedDecodeYoloV8Anchors","decodeYoloV8","decodeYoloV8Anchors"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"detection.cjs","names":[],"sources":["../../../src/vision/postprocess/detection.ts"],"sourcesContent":["/**\n * Detection head postprocessing: anchor-free YOLO decoding + non-maximum suppression.\n *\n * The shared {@link decodeYoloAnchors} helper does the per-anchor work that\n * is identical for plain detection and segmentation (transpose, xywh→xyxy,\n * letterbox unmap, per-class NMS, sort & cap). {@link decodeYolo} is a thin\n * wrapper around it; the segmentation module ({@link ./segmentation.js})\n * calls the helper directly so it can also recover the per-anchor mask\n * coefficients.\n *\n * Works for any YOLO export with the post-v8 anchor-free head:\n * **YOLOv8 / v9 / v10 / v11 / v12** detect heads, all of which share the\n * `[1, 4 + nc, N]` output layout.\n */\n\nimport { BoundingBox } from \"../types\";\n\n/**\n * Greedy non-maximum suppression on axis-aligned bounding boxes.\n *\n * Mirrors `torchvision.ops.nms` (keeps boxes with the highest score, drops\n * any subsequent box whose IoU exceeds the threshold).\n *\n * @param boxes Flat array of length `4 * N` in xyxy order: `[x1,y1,x2,y2, ...]`.\n * @param scores Detection score per box, length `N`.\n * @param iouThreshold Boxes with IoU above this threshold relative to a kept box are suppressed.\n * @returns Indices of kept boxes, in descending score order.\n */\nexport function nms(boxes: Float32Array, scores: Float32Array, iouThreshold: number): Int32Array {\n const n = scores.length;\n if (n === 0) return new Int32Array(0);\n\n const areas = new Float32Array(n);\n for (let i = 0; i < n; i++) {\n const x1 = boxes[i * 4] as number;\n const y1 = boxes[i * 4 + 1] as number;\n const x2 = boxes[i * 4 + 2] as number;\n const y2 = boxes[i * 4 + 3] as number;\n areas[i] = Math.max(0, x2 - x1) * Math.max(0, y2 - y1);\n }\n\n const order = new Array<number>(n);\n for (let i = 0; i < n; i++) order[i] = i;\n order.sort((a, b) => (scores[b] as number) - (scores[a] as number));\n\n const suppressed = new Uint8Array(n);\n const keep: number[] = [];\n\n for (let oi = 0; oi < order.length; oi++) {\n const i = order[oi] as number;\n if (suppressed[i]) continue;\n keep.push(i);\n\n const ax1 = boxes[i * 4] as number;\n const ay1 = boxes[i * 4 + 1] as number;\n const ax2 = boxes[i * 4 + 2] as number;\n const ay2 = boxes[i * 4 + 3] as number;\n const ai = areas[i] as number;\n\n for (let oj = oi + 1; oj < order.length; oj++) {\n const j = order[oj] as number;\n if (suppressed[j]) continue;\n\n const bx1 = boxes[j * 4] as number;\n const by1 = boxes[j * 4 + 1] as number;\n const bx2 = boxes[j * 4 + 2] as number;\n const by2 = boxes[j * 4 + 3] as number;\n\n const ix1 = Math.max(ax1, bx1);\n const iy1 = Math.max(ay1, by1);\n const ix2 = Math.min(ax2, bx2);\n const iy2 = Math.min(ay2, by2);\n const iw = Math.max(0, ix2 - ix1);\n const ih = Math.max(0, iy2 - iy1);\n const inter = iw * ih;\n const union = ai + (areas[j] as number) - inter;\n const iou = union > 0 ? inter / union : 0;\n if (iou > iouThreshold) suppressed[j] = 1;\n }\n }\n\n return Int32Array.from(keep);\n}\n\n/**\n * Per-class NMS — boxes are suppressed only by other boxes of the same class.\n *\n * Mirrors `torchvision.ops.batched_nms`.\n *\n * @param boxes Flat array of length `4 * N` in xyxy order.\n * @param scores Detection score per box, length `N`.\n * @param idxs Class index per box, length `N`. Boxes with different `idxs`\n * never suppress each other.\n * @param iouThreshold IoU threshold for suppression within a class.\n */\nexport function batchedNms(\n boxes: Float32Array,\n scores: Float32Array,\n idxs: Int32Array,\n iouThreshold: number,\n): Int32Array {\n if (scores.length === 0) return new Int32Array(0);\n\n const byClass = new Map<number, number[]>();\n for (let i = 0; i < idxs.length; i++) {\n const c = idxs[i] as number;\n const list = byClass.get(c);\n if (list === undefined) byClass.set(c, [i]);\n else list.push(i);\n }\n\n const keep: number[] = [];\n for (const indices of byClass.values()) {\n const m = indices.length;\n const subBoxes = new Float32Array(m * 4);\n const subScores = new Float32Array(m);\n for (let k = 0; k < m; k++) {\n const i = indices[k] as number;\n subBoxes[k * 4] = boxes[i * 4] as number;\n subBoxes[k * 4 + 1] = boxes[i * 4 + 1] as number;\n subBoxes[k * 4 + 2] = boxes[i * 4 + 2] as number;\n subBoxes[k * 4 + 3] = boxes[i * 4 + 3] as number;\n subScores[k] = scores[i] as number;\n }\n const subKeep = nms(subBoxes, subScores, iouThreshold);\n for (let k = 0; k < subKeep.length; k++) {\n keep.push(indices[subKeep[k] as number] as number);\n }\n }\n\n keep.sort((a, b) => (scores[b] as number) - (scores[a] as number));\n return Int32Array.from(keep);\n}\n\nexport interface DecodeYoloAnchorsOptions {\n /** Number of class-score channels following the 4 box channels. */\n readonly numClasses: number;\n readonly originalWidth: number;\n readonly originalHeight: number;\n readonly padLeft: number;\n readonly padTop: number;\n readonly scale: number;\n readonly confThreshold: number;\n readonly iouThreshold: number;\n readonly maxDetections: number;\n}\n\nexport interface DecodedAnchors {\n /** Indices into the original `numAnchors` axis, in descending confidence order. */\n readonly anchorIndices: Int32Array;\n /** `[k, 4]` boxes in original-image pixel coords, flat row-major xyxy. */\n readonly boxesXyxy: Float32Array;\n /** Predicted class id per survivor. */\n readonly classIds: Int32Array;\n /** Confidence per survivor. */\n readonly confidences: Float32Array;\n}\n\n/**\n * Shared YOLO per-anchor decode used by both detection and segmentation\n * (v8 / v9 / v10 / v11 / v12).\n *\n * Only the first `4 + numClasses` channels are read; later channels (e.g.\n * mask coefficients) are ignored — callers can fetch them via the returned\n * {@link DecodedAnchors.anchorIndices}.\n *\n * @param data Flat per-anchor output, length `channels * numAnchors`.\n * @param dims Dims as reported by ORT, e.g. `[1, 84, 8400]` (det) or\n * `[1, 116, 8400]` (seg). The leading batch dim must be 1.\n */\nexport function decodeYoloAnchors(\n data: Float32Array,\n dims: readonly number[],\n options: DecodeYoloAnchorsOptions,\n): DecodedAnchors {\n let normalized = dims;\n if (normalized.length === 3) {\n if (normalized[0] !== 1) {\n throw new Error(`decodeYoloAnchors: expected batch size 1, got ${normalized[0]}.`);\n }\n normalized = [normalized[1] as number, normalized[2] as number];\n }\n if (normalized.length !== 2) {\n throw new Error(\n `decodeYoloAnchors: expected 2-D output after batch removal, got dims=${JSON.stringify(dims)}.`,\n );\n }\n const channels = normalized[0] as number;\n const numAnchors = normalized[1] as number;\n\n const {\n numClasses,\n originalWidth,\n originalHeight,\n padLeft,\n padTop,\n scale,\n confThreshold,\n iouThreshold,\n maxDetections,\n } = options;\n\n if (numClasses < 1 || numClasses + 4 > channels) {\n throw new Error(\n `decodeYoloAnchors: invalid numClasses=${numClasses} for channels=${channels}.`,\n );\n }\n if (data.length !== channels * numAnchors) {\n throw new Error(\n `decodeYoloAnchors: data length ${data.length} does not match channels*numAnchors=${channels * numAnchors}.`,\n );\n }\n\n type Candidate = {\n anchorIdx: number;\n x1: number;\n y1: number;\n x2: number;\n y2: number;\n classId: number;\n confidence: number;\n };\n const candidates: Candidate[] = [];\n\n for (let a = 0; a < numAnchors; a++) {\n let bestCls = 0;\n let bestScore = -Infinity;\n for (let c = 0; c < numClasses; c++) {\n const s = data[(4 + c) * numAnchors + a];\n if (s !== undefined && s > bestScore) {\n bestScore = s;\n bestCls = c;\n }\n }\n if (bestScore < confThreshold) continue;\n\n const cx = data[a] as number;\n const cy = data[numAnchors + a] as number;\n const w = data[2 * numAnchors + a] as number;\n const h = data[3 * numAnchors + a] as number;\n\n let x1 = cx - w / 2;\n let y1 = cy - h / 2;\n let x2 = cx + w / 2;\n let y2 = cy + h / 2;\n\n x1 = (x1 - padLeft) / scale;\n y1 = (y1 - padTop) / scale;\n x2 = (x2 - padLeft) / scale;\n y2 = (y2 - padTop) / scale;\n\n x1 = Math.max(0, Math.min(originalWidth, x1));\n y1 = Math.max(0, Math.min(originalHeight, y1));\n x2 = Math.max(0, Math.min(originalWidth, x2));\n y2 = Math.max(0, Math.min(originalHeight, y2));\n\n candidates.push({ anchorIdx: a, x1, y1, x2, y2, classId: bestCls, confidence: bestScore });\n }\n\n if (candidates.length === 0) return emptyDecoded();\n\n // Build flat arrays then delegate to batchedNms — same algorithm as before\n // but funnelled through the public per-class NMS helper.\n const flatBoxes = new Float32Array(candidates.length * 4);\n const scoresArr = new Float32Array(candidates.length);\n const idxsArr = new Int32Array(candidates.length);\n for (let i = 0; i < candidates.length; i++) {\n const c = candidates[i] as Candidate;\n flatBoxes[i * 4] = c.x1;\n flatBoxes[i * 4 + 1] = c.y1;\n flatBoxes[i * 4 + 2] = c.x2;\n flatBoxes[i * 4 + 3] = c.y2;\n scoresArr[i] = c.confidence;\n idxsArr[i] = c.classId;\n }\n const kept = batchedNms(flatBoxes, scoresArr, idxsArr, iouThreshold);\n if (kept.length === 0) return emptyDecoded();\n\n const limited = Array.from(kept).slice(0, maxDetections);\n const k = limited.length;\n const anchorIndices = new Int32Array(k);\n const boxesXyxy = new Float32Array(k * 4);\n const classIds = new Int32Array(k);\n const confidences = new Float32Array(k);\n for (let i = 0; i < k; i++) {\n const c = candidates[limited[i] as number] as Candidate;\n anchorIndices[i] = c.anchorIdx;\n boxesXyxy[i * 4] = c.x1;\n boxesXyxy[i * 4 + 1] = c.y1;\n boxesXyxy[i * 4 + 2] = c.x2;\n boxesXyxy[i * 4 + 3] = c.y2;\n classIds[i] = c.classId;\n confidences[i] = c.confidence;\n }\n return { anchorIndices, boxesXyxy, classIds, confidences };\n}\n\nfunction emptyDecoded(): DecodedAnchors {\n return {\n anchorIndices: new Int32Array(0),\n boxesXyxy: new Float32Array(0),\n classIds: new Int32Array(0),\n confidences: new Float32Array(0),\n };\n}\n\nexport interface DecodeYoloOptions {\n readonly originalWidth: number;\n readonly originalHeight: number;\n readonly padLeft: number;\n readonly padTop: number;\n readonly scale: number;\n readonly confThreshold: number;\n readonly iouThreshold: number;\n readonly maxDetections: number;\n}\n\nexport interface DecodedDetection {\n readonly bbox: BoundingBox;\n readonly classId: number;\n readonly confidence: number;\n}\n\n/**\n * Decode an anchor-free YOLO detection output into a list of detections.\n *\n * Works for **YOLOv8 / v9 / v10 / v11 / v12** detect heads.\n *\n * Expected raw shape: `[1, 4 + numClasses, N]`. `numClasses` is inferred\n * from the channel count.\n */\nexport function decodeYolo(\n output: Float32Array,\n outputDims: readonly number[],\n options: DecodeYoloOptions,\n): DecodedDetection[] {\n const channels = outputDims.length === 3 ? outputDims[1] : outputDims[0];\n if (channels === undefined || channels < 5) {\n throw new Error(`decodeYolo: invalid output channel count ${channels} (expected >= 5).`);\n }\n const numClasses = channels - 4;\n\n const decoded = decodeYoloAnchors(output, outputDims, {\n numClasses,\n ...options,\n });\n\n const results: DecodedDetection[] = [];\n for (let i = 0; i < decoded.classIds.length; i++) {\n results.push({\n bbox: new BoundingBox(\n decoded.boxesXyxy[i * 4] as number,\n decoded.boxesXyxy[i * 4 + 1] as number,\n decoded.boxesXyxy[i * 4 + 2] as number,\n decoded.boxesXyxy[i * 4 + 3] as number,\n ),\n classId: decoded.classIds[i] as number,\n confidence: decoded.confidences[i] as number,\n });\n }\n return results;\n}\n\nlet _warnedDecodeYoloV8 = false;\nlet _warnedDecodeYoloV8Anchors = false;\n\n/**\n * @deprecated since 0.2.0 — use {@link decodeYolo}. Same behavior; the\n * decoder covers v8/v9/v10/v11/v12 detect heads. Will be removed in 0.3.0.\n */\nexport function decodeYoloV8(\n output: Float32Array,\n outputDims: readonly number[],\n options: DecodeYoloOptions,\n): DecodedDetection[] {\n if (!_warnedDecodeYoloV8) {\n _warnedDecodeYoloV8 = true;\n console.warn(\n \"[@ort-vision-sdk/web] decodeYoloV8 is deprecated since 0.2.0; use decodeYolo. \" +\n \"The alias will be removed in 0.3.0.\",\n );\n }\n return decodeYolo(output, outputDims, options);\n}\n\n/**\n * @deprecated since 0.2.0 — use {@link decodeYoloAnchors}. Will be removed in 0.3.0.\n */\nexport function decodeYoloV8Anchors(\n data: Float32Array,\n dims: readonly number[],\n options: DecodeYoloAnchorsOptions,\n): DecodedAnchors {\n if (!_warnedDecodeYoloV8Anchors) {\n _warnedDecodeYoloV8Anchors = true;\n console.warn(\n \"[@ort-vision-sdk/web] decodeYoloV8Anchors is deprecated since 0.2.0; use decodeYoloAnchors. \" +\n \"The alias will be removed in 0.3.0.\",\n );\n }\n return decodeYoloAnchors(data, dims, options);\n}\n\n/** @deprecated since 0.2.0 — use {@link DecodeYoloAnchorsOptions}. */\nexport type DecodeYoloV8AnchorsOptions = DecodeYoloAnchorsOptions;\n\n/** @deprecated since 0.2.0 — use {@link DecodeYoloOptions}. */\nexport type DecodeYoloV8Options = DecodeYoloOptions;\n"],"mappings":"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"}
|
|
@@ -1,153 +1,129 @@
|
|
|
1
|
-
import { BoundingBox as
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
1
|
+
import { BoundingBox as e } from "../types.js";
|
|
2
|
+
//#region src/vision/postprocess/detection.ts
|
|
3
|
+
function t(e, t, n) {
|
|
4
|
+
let r = t.length;
|
|
5
|
+
if (r === 0) return /* @__PURE__ */ new Int32Array();
|
|
6
|
+
let i = new Float32Array(r);
|
|
7
|
+
for (let t = 0; t < r; t++) {
|
|
8
|
+
let n = e[t * 4], r = e[t * 4 + 1], a = e[t * 4 + 2], o = e[t * 4 + 3];
|
|
9
|
+
i[t] = Math.max(0, a - n) * Math.max(0, o - r);
|
|
10
|
+
}
|
|
11
|
+
let a = Array(r);
|
|
12
|
+
for (let e = 0; e < r; e++) a[e] = e;
|
|
13
|
+
a.sort((e, n) => t[n] - t[e]);
|
|
14
|
+
let o = new Uint8Array(r), s = [];
|
|
15
|
+
for (let t = 0; t < a.length; t++) {
|
|
16
|
+
let r = a[t];
|
|
17
|
+
if (o[r]) continue;
|
|
18
|
+
s.push(r);
|
|
19
|
+
let c = e[r * 4], l = e[r * 4 + 1], u = e[r * 4 + 2], d = e[r * 4 + 3], f = i[r];
|
|
20
|
+
for (let r = t + 1; r < a.length; r++) {
|
|
21
|
+
let t = a[r];
|
|
22
|
+
if (o[t]) continue;
|
|
23
|
+
let s = e[t * 4], p = e[t * 4 + 1], m = e[t * 4 + 2], h = e[t * 4 + 3], g = Math.max(c, s), _ = Math.max(l, p), v = Math.min(u, m), y = Math.min(d, h), b = Math.max(0, v - g) * Math.max(0, y - _), x = f + i[t] - b;
|
|
24
|
+
(x > 0 ? b / x : 0) > n && (o[t] = 1);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return Int32Array.from(s);
|
|
27
28
|
}
|
|
28
|
-
function
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
return t.sort((s, r) => a[r] - a[s]), Int32Array.from(t);
|
|
29
|
+
function n(e, n, r, i) {
|
|
30
|
+
if (n.length === 0) return /* @__PURE__ */ new Int32Array();
|
|
31
|
+
let a = /* @__PURE__ */ new Map();
|
|
32
|
+
for (let e = 0; e < r.length; e++) {
|
|
33
|
+
let t = r[e], n = a.get(t);
|
|
34
|
+
n === void 0 ? a.set(t, [e]) : n.push(e);
|
|
35
|
+
}
|
|
36
|
+
let o = [];
|
|
37
|
+
for (let r of a.values()) {
|
|
38
|
+
let a = r.length, s = new Float32Array(a * 4), c = new Float32Array(a);
|
|
39
|
+
for (let t = 0; t < a; t++) {
|
|
40
|
+
let i = r[t];
|
|
41
|
+
s[t * 4] = e[i * 4], s[t * 4 + 1] = e[i * 4 + 1], s[t * 4 + 2] = e[i * 4 + 2], s[t * 4 + 3] = e[i * 4 + 3], c[t] = n[i];
|
|
42
|
+
}
|
|
43
|
+
let l = t(s, c, i);
|
|
44
|
+
for (let e = 0; e < l.length; e++) o.push(r[l[e]]);
|
|
45
|
+
}
|
|
46
|
+
return o.sort((e, t) => n[t] - n[e]), Int32Array.from(o);
|
|
47
47
|
}
|
|
48
|
-
function
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
const F = O(f, b, v, E);
|
|
97
|
-
if (F.length === 0) return N();
|
|
98
|
-
const k = Array.from(F).slice(0, T), x = k.length, $ = new Int32Array(x), A = new Float32Array(x * 4), V = new Int32Array(x), X = new Float32Array(x);
|
|
99
|
-
for (let e = 0; e < x; e++) {
|
|
100
|
-
const i = u[k[e]];
|
|
101
|
-
$[e] = i.anchorIdx, A[e * 4] = i.x1, A[e * 4 + 1] = i.y1, A[e * 4 + 2] = i.x2, A[e * 4 + 3] = i.y2, V[e] = i.classId, X[e] = i.confidence;
|
|
102
|
-
}
|
|
103
|
-
return { anchorIndices: $, boxesXyxy: A, classIds: V, confidences: X };
|
|
48
|
+
function r(e, t, r) {
|
|
49
|
+
let a = t;
|
|
50
|
+
if (a.length === 3) {
|
|
51
|
+
if (a[0] !== 1) throw Error(`decodeYoloAnchors: expected batch size 1, got ${a[0]}.`);
|
|
52
|
+
a = [a[1], a[2]];
|
|
53
|
+
}
|
|
54
|
+
if (a.length !== 2) throw Error(`decodeYoloAnchors: expected 2-D output after batch removal, got dims=${JSON.stringify(t)}.`);
|
|
55
|
+
let o = a[0], s = a[1], { numClasses: c, originalWidth: l, originalHeight: u, padLeft: d, padTop: f, scale: p, confThreshold: m, iouThreshold: h, maxDetections: g } = r;
|
|
56
|
+
if (c < 1 || c + 4 > o) throw Error(`decodeYoloAnchors: invalid numClasses=${c} for channels=${o}.`);
|
|
57
|
+
if (e.length !== o * s) throw Error(`decodeYoloAnchors: data length ${e.length} does not match channels*numAnchors=${o * s}.`);
|
|
58
|
+
let _ = [];
|
|
59
|
+
for (let t = 0; t < s; t++) {
|
|
60
|
+
let n = 0, r = -Infinity;
|
|
61
|
+
for (let i = 0; i < c; i++) {
|
|
62
|
+
let a = e[(4 + i) * s + t];
|
|
63
|
+
a !== void 0 && a > r && (r = a, n = i);
|
|
64
|
+
}
|
|
65
|
+
if (r < m) continue;
|
|
66
|
+
let i = e[t], a = e[s + t], o = e[2 * s + t], h = e[3 * s + t], g = i - o / 2, v = a - h / 2, y = i + o / 2, b = a + h / 2;
|
|
67
|
+
g = (g - d) / p, v = (v - f) / p, y = (y - d) / p, b = (b - f) / p, g = Math.max(0, Math.min(l, g)), v = Math.max(0, Math.min(u, v)), y = Math.max(0, Math.min(l, y)), b = Math.max(0, Math.min(u, b)), _.push({
|
|
68
|
+
anchorIdx: t,
|
|
69
|
+
x1: g,
|
|
70
|
+
y1: v,
|
|
71
|
+
x2: y,
|
|
72
|
+
y2: b,
|
|
73
|
+
classId: n,
|
|
74
|
+
confidence: r
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
if (_.length === 0) return i();
|
|
78
|
+
let v = new Float32Array(_.length * 4), y = new Float32Array(_.length), b = new Int32Array(_.length);
|
|
79
|
+
for (let e = 0; e < _.length; e++) {
|
|
80
|
+
let t = _[e];
|
|
81
|
+
v[e * 4] = t.x1, v[e * 4 + 1] = t.y1, v[e * 4 + 2] = t.x2, v[e * 4 + 3] = t.y2, y[e] = t.confidence, b[e] = t.classId;
|
|
82
|
+
}
|
|
83
|
+
let x = n(v, y, b, h);
|
|
84
|
+
if (x.length === 0) return i();
|
|
85
|
+
let S = Array.from(x).slice(0, g), C = S.length, w = new Int32Array(C), T = new Float32Array(C * 4), E = new Int32Array(C), D = new Float32Array(C);
|
|
86
|
+
for (let e = 0; e < C; e++) {
|
|
87
|
+
let t = _[S[e]];
|
|
88
|
+
w[e] = t.anchorIdx, T[e * 4] = t.x1, T[e * 4 + 1] = t.y1, T[e * 4 + 2] = t.x2, T[e * 4 + 3] = t.y2, E[e] = t.classId, D[e] = t.confidence;
|
|
89
|
+
}
|
|
90
|
+
return {
|
|
91
|
+
anchorIndices: w,
|
|
92
|
+
boxesXyxy: T,
|
|
93
|
+
classIds: E,
|
|
94
|
+
confidences: D
|
|
95
|
+
};
|
|
104
96
|
}
|
|
105
|
-
function
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
97
|
+
function i() {
|
|
98
|
+
return {
|
|
99
|
+
anchorIndices: /* @__PURE__ */ new Int32Array(),
|
|
100
|
+
boxesXyxy: /* @__PURE__ */ new Float32Array(),
|
|
101
|
+
classIds: /* @__PURE__ */ new Int32Array(),
|
|
102
|
+
confidences: /* @__PURE__ */ new Float32Array()
|
|
103
|
+
};
|
|
112
104
|
}
|
|
113
|
-
function
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
t.boxesXyxy[r * 4 + 2],
|
|
127
|
-
t.boxesXyxy[r * 4 + 3]
|
|
128
|
-
),
|
|
129
|
-
classId: t.classIds[r],
|
|
130
|
-
confidence: t.confidences[r]
|
|
131
|
-
});
|
|
132
|
-
return s;
|
|
105
|
+
function a(t, n, i) {
|
|
106
|
+
let a = n.length === 3 ? n[1] : n[0];
|
|
107
|
+
if (a === void 0 || a < 5) throw Error(`decodeYolo: invalid output channel count ${a} (expected >= 5).`);
|
|
108
|
+
let o = r(t, n, {
|
|
109
|
+
numClasses: a - 4,
|
|
110
|
+
...i
|
|
111
|
+
}), s = [];
|
|
112
|
+
for (let t = 0; t < o.classIds.length; t++) s.push({
|
|
113
|
+
bbox: new e(o.boxesXyxy[t * 4], o.boxesXyxy[t * 4 + 1], o.boxesXyxy[t * 4 + 2], o.boxesXyxy[t * 4 + 3]),
|
|
114
|
+
classId: o.classIds[t],
|
|
115
|
+
confidence: o.confidences[t]
|
|
116
|
+
});
|
|
117
|
+
return s;
|
|
133
118
|
}
|
|
134
|
-
|
|
135
|
-
function
|
|
136
|
-
|
|
137
|
-
"[@ort-vision-sdk/web] decodeYoloV8 is deprecated since 0.2.0; use decodeYolo. The alias will be removed in 0.3.0."
|
|
138
|
-
)), U(n, a, y);
|
|
119
|
+
var o = !1, s = !1;
|
|
120
|
+
function c(e, t, n) {
|
|
121
|
+
return o || (o = !0, console.warn("[@ort-vision-sdk/web] decodeYoloV8 is deprecated since 0.2.0; use decodeYolo. The alias will be removed in 0.3.0.")), a(e, t, n);
|
|
139
122
|
}
|
|
140
|
-
function
|
|
141
|
-
|
|
142
|
-
"[@ort-vision-sdk/web] decodeYoloV8Anchors is deprecated since 0.2.0; use decodeYoloAnchors. The alias will be removed in 0.3.0."
|
|
143
|
-
)), J(n, a, y);
|
|
123
|
+
function l(e, t, n) {
|
|
124
|
+
return s || (s = !0, console.warn("[@ort-vision-sdk/web] decodeYoloV8Anchors is deprecated since 0.2.0; use decodeYoloAnchors. The alias will be removed in 0.3.0.")), r(e, t, n);
|
|
144
125
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
q as decodeYoloV8,
|
|
150
|
-
G as decodeYoloV8Anchors,
|
|
151
|
-
L as nms
|
|
152
|
-
};
|
|
153
|
-
//# sourceMappingURL=detection.js.map
|
|
126
|
+
//#endregion
|
|
127
|
+
export { n as batchedNms, a as decodeYolo, r as decodeYoloAnchors, c as decodeYoloV8, l as decodeYoloV8Anchors, t as nms };
|
|
128
|
+
|
|
129
|
+
//# sourceMappingURL=detection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detection.js","sources":["../../../src/vision/postprocess/detection.ts"],"sourcesContent":["/**\n * Detection head postprocessing: anchor-free YOLO decoding + non-maximum suppression.\n *\n * The shared {@link decodeYoloAnchors} helper does the per-anchor work that\n * is identical for plain detection and segmentation (transpose, xywh→xyxy,\n * letterbox unmap, per-class NMS, sort & cap). {@link decodeYolo} is a thin\n * wrapper around it; the segmentation module ({@link ./segmentation.js})\n * calls the helper directly so it can also recover the per-anchor mask\n * coefficients.\n *\n * Works for any YOLO export with the post-v8 anchor-free head:\n * **YOLOv8 / v9 / v10 / v11 / v12** detect heads, all of which share the\n * `[1, 4 + nc, N]` output layout.\n */\n\nimport { BoundingBox } from \"../types\";\n\n/**\n * Greedy non-maximum suppression on axis-aligned bounding boxes.\n *\n * Mirrors `torchvision.ops.nms` (keeps boxes with the highest score, drops\n * any subsequent box whose IoU exceeds the threshold).\n *\n * @param boxes Flat array of length `4 * N` in xyxy order: `[x1,y1,x2,y2, ...]`.\n * @param scores Detection score per box, length `N`.\n * @param iouThreshold Boxes with IoU above this threshold relative to a kept box are suppressed.\n * @returns Indices of kept boxes, in descending score order.\n */\nexport function nms(boxes: Float32Array, scores: Float32Array, iouThreshold: number): Int32Array {\n const n = scores.length;\n if (n === 0) return new Int32Array(0);\n\n const areas = new Float32Array(n);\n for (let i = 0; i < n; i++) {\n const x1 = boxes[i * 4] as number;\n const y1 = boxes[i * 4 + 1] as number;\n const x2 = boxes[i * 4 + 2] as number;\n const y2 = boxes[i * 4 + 3] as number;\n areas[i] = Math.max(0, x2 - x1) * Math.max(0, y2 - y1);\n }\n\n const order = new Array<number>(n);\n for (let i = 0; i < n; i++) order[i] = i;\n order.sort((a, b) => (scores[b] as number) - (scores[a] as number));\n\n const suppressed = new Uint8Array(n);\n const keep: number[] = [];\n\n for (let oi = 0; oi < order.length; oi++) {\n const i = order[oi] as number;\n if (suppressed[i]) continue;\n keep.push(i);\n\n const ax1 = boxes[i * 4] as number;\n const ay1 = boxes[i * 4 + 1] as number;\n const ax2 = boxes[i * 4 + 2] as number;\n const ay2 = boxes[i * 4 + 3] as number;\n const ai = areas[i] as number;\n\n for (let oj = oi + 1; oj < order.length; oj++) {\n const j = order[oj] as number;\n if (suppressed[j]) continue;\n\n const bx1 = boxes[j * 4] as number;\n const by1 = boxes[j * 4 + 1] as number;\n const bx2 = boxes[j * 4 + 2] as number;\n const by2 = boxes[j * 4 + 3] as number;\n\n const ix1 = Math.max(ax1, bx1);\n const iy1 = Math.max(ay1, by1);\n const ix2 = Math.min(ax2, bx2);\n const iy2 = Math.min(ay2, by2);\n const iw = Math.max(0, ix2 - ix1);\n const ih = Math.max(0, iy2 - iy1);\n const inter = iw * ih;\n const union = ai + (areas[j] as number) - inter;\n const iou = union > 0 ? inter / union : 0;\n if (iou > iouThreshold) suppressed[j] = 1;\n }\n }\n\n return Int32Array.from(keep);\n}\n\n/**\n * Per-class NMS — boxes are suppressed only by other boxes of the same class.\n *\n * Mirrors `torchvision.ops.batched_nms`.\n *\n * @param boxes Flat array of length `4 * N` in xyxy order.\n * @param scores Detection score per box, length `N`.\n * @param idxs Class index per box, length `N`. Boxes with different `idxs`\n * never suppress each other.\n * @param iouThreshold IoU threshold for suppression within a class.\n */\nexport function batchedNms(\n boxes: Float32Array,\n scores: Float32Array,\n idxs: Int32Array,\n iouThreshold: number,\n): Int32Array {\n if (scores.length === 0) return new Int32Array(0);\n\n const byClass = new Map<number, number[]>();\n for (let i = 0; i < idxs.length; i++) {\n const c = idxs[i] as number;\n const list = byClass.get(c);\n if (list === undefined) byClass.set(c, [i]);\n else list.push(i);\n }\n\n const keep: number[] = [];\n for (const indices of byClass.values()) {\n const m = indices.length;\n const subBoxes = new Float32Array(m * 4);\n const subScores = new Float32Array(m);\n for (let k = 0; k < m; k++) {\n const i = indices[k] as number;\n subBoxes[k * 4] = boxes[i * 4] as number;\n subBoxes[k * 4 + 1] = boxes[i * 4 + 1] as number;\n subBoxes[k * 4 + 2] = boxes[i * 4 + 2] as number;\n subBoxes[k * 4 + 3] = boxes[i * 4 + 3] as number;\n subScores[k] = scores[i] as number;\n }\n const subKeep = nms(subBoxes, subScores, iouThreshold);\n for (let k = 0; k < subKeep.length; k++) {\n keep.push(indices[subKeep[k] as number] as number);\n }\n }\n\n keep.sort((a, b) => (scores[b] as number) - (scores[a] as number));\n return Int32Array.from(keep);\n}\n\nexport interface DecodeYoloAnchorsOptions {\n /** Number of class-score channels following the 4 box channels. */\n readonly numClasses: number;\n readonly originalWidth: number;\n readonly originalHeight: number;\n readonly padLeft: number;\n readonly padTop: number;\n readonly scale: number;\n readonly confThreshold: number;\n readonly iouThreshold: number;\n readonly maxDetections: number;\n}\n\nexport interface DecodedAnchors {\n /** Indices into the original `numAnchors` axis, in descending confidence order. */\n readonly anchorIndices: Int32Array;\n /** `[k, 4]` boxes in original-image pixel coords, flat row-major xyxy. */\n readonly boxesXyxy: Float32Array;\n /** Predicted class id per survivor. */\n readonly classIds: Int32Array;\n /** Confidence per survivor. */\n readonly confidences: Float32Array;\n}\n\n/**\n * Shared YOLO per-anchor decode used by both detection and segmentation\n * (v8 / v9 / v10 / v11 / v12).\n *\n * Only the first `4 + numClasses` channels are read; later channels (e.g.\n * mask coefficients) are ignored — callers can fetch them via the returned\n * {@link DecodedAnchors.anchorIndices}.\n *\n * @param data Flat per-anchor output, length `channels * numAnchors`.\n * @param dims Dims as reported by ORT, e.g. `[1, 84, 8400]` (det) or\n * `[1, 116, 8400]` (seg). The leading batch dim must be 1.\n */\nexport function decodeYoloAnchors(\n data: Float32Array,\n dims: readonly number[],\n options: DecodeYoloAnchorsOptions,\n): DecodedAnchors {\n let normalized = dims;\n if (normalized.length === 3) {\n if (normalized[0] !== 1) {\n throw new Error(`decodeYoloAnchors: expected batch size 1, got ${normalized[0]}.`);\n }\n normalized = [normalized[1] as number, normalized[2] as number];\n }\n if (normalized.length !== 2) {\n throw new Error(\n `decodeYoloAnchors: expected 2-D output after batch removal, got dims=${JSON.stringify(dims)}.`,\n );\n }\n const channels = normalized[0] as number;\n const numAnchors = normalized[1] as number;\n\n const {\n numClasses,\n originalWidth,\n originalHeight,\n padLeft,\n padTop,\n scale,\n confThreshold,\n iouThreshold,\n maxDetections,\n } = options;\n\n if (numClasses < 1 || numClasses + 4 > channels) {\n throw new Error(\n `decodeYoloAnchors: invalid numClasses=${numClasses} for channels=${channels}.`,\n );\n }\n if (data.length !== channels * numAnchors) {\n throw new Error(\n `decodeYoloAnchors: data length ${data.length} does not match channels*numAnchors=${channels * numAnchors}.`,\n );\n }\n\n type Candidate = {\n anchorIdx: number;\n x1: number;\n y1: number;\n x2: number;\n y2: number;\n classId: number;\n confidence: number;\n };\n const candidates: Candidate[] = [];\n\n for (let a = 0; a < numAnchors; a++) {\n let bestCls = 0;\n let bestScore = -Infinity;\n for (let c = 0; c < numClasses; c++) {\n const s = data[(4 + c) * numAnchors + a];\n if (s !== undefined && s > bestScore) {\n bestScore = s;\n bestCls = c;\n }\n }\n if (bestScore < confThreshold) continue;\n\n const cx = data[a] as number;\n const cy = data[numAnchors + a] as number;\n const w = data[2 * numAnchors + a] as number;\n const h = data[3 * numAnchors + a] as number;\n\n let x1 = cx - w / 2;\n let y1 = cy - h / 2;\n let x2 = cx + w / 2;\n let y2 = cy + h / 2;\n\n x1 = (x1 - padLeft) / scale;\n y1 = (y1 - padTop) / scale;\n x2 = (x2 - padLeft) / scale;\n y2 = (y2 - padTop) / scale;\n\n x1 = Math.max(0, Math.min(originalWidth, x1));\n y1 = Math.max(0, Math.min(originalHeight, y1));\n x2 = Math.max(0, Math.min(originalWidth, x2));\n y2 = Math.max(0, Math.min(originalHeight, y2));\n\n candidates.push({ anchorIdx: a, x1, y1, x2, y2, classId: bestCls, confidence: bestScore });\n }\n\n if (candidates.length === 0) return emptyDecoded();\n\n // Build flat arrays then delegate to batchedNms — same algorithm as before\n // but funnelled through the public per-class NMS helper.\n const flatBoxes = new Float32Array(candidates.length * 4);\n const scoresArr = new Float32Array(candidates.length);\n const idxsArr = new Int32Array(candidates.length);\n for (let i = 0; i < candidates.length; i++) {\n const c = candidates[i] as Candidate;\n flatBoxes[i * 4] = c.x1;\n flatBoxes[i * 4 + 1] = c.y1;\n flatBoxes[i * 4 + 2] = c.x2;\n flatBoxes[i * 4 + 3] = c.y2;\n scoresArr[i] = c.confidence;\n idxsArr[i] = c.classId;\n }\n const kept = batchedNms(flatBoxes, scoresArr, idxsArr, iouThreshold);\n if (kept.length === 0) return emptyDecoded();\n\n const limited = Array.from(kept).slice(0, maxDetections);\n const k = limited.length;\n const anchorIndices = new Int32Array(k);\n const boxesXyxy = new Float32Array(k * 4);\n const classIds = new Int32Array(k);\n const confidences = new Float32Array(k);\n for (let i = 0; i < k; i++) {\n const c = candidates[limited[i] as number] as Candidate;\n anchorIndices[i] = c.anchorIdx;\n boxesXyxy[i * 4] = c.x1;\n boxesXyxy[i * 4 + 1] = c.y1;\n boxesXyxy[i * 4 + 2] = c.x2;\n boxesXyxy[i * 4 + 3] = c.y2;\n classIds[i] = c.classId;\n confidences[i] = c.confidence;\n }\n return { anchorIndices, boxesXyxy, classIds, confidences };\n}\n\nfunction emptyDecoded(): DecodedAnchors {\n return {\n anchorIndices: new Int32Array(0),\n boxesXyxy: new Float32Array(0),\n classIds: new Int32Array(0),\n confidences: new Float32Array(0),\n };\n}\n\nexport interface DecodeYoloOptions {\n readonly originalWidth: number;\n readonly originalHeight: number;\n readonly padLeft: number;\n readonly padTop: number;\n readonly scale: number;\n readonly confThreshold: number;\n readonly iouThreshold: number;\n readonly maxDetections: number;\n}\n\nexport interface DecodedDetection {\n readonly bbox: BoundingBox;\n readonly classId: number;\n readonly confidence: number;\n}\n\n/**\n * Decode an anchor-free YOLO detection output into a list of detections.\n *\n * Works for **YOLOv8 / v9 / v10 / v11 / v12** detect heads.\n *\n * Expected raw shape: `[1, 4 + numClasses, N]`. `numClasses` is inferred\n * from the channel count.\n */\nexport function decodeYolo(\n output: Float32Array,\n outputDims: readonly number[],\n options: DecodeYoloOptions,\n): DecodedDetection[] {\n const channels = outputDims.length === 3 ? outputDims[1] : outputDims[0];\n if (channels === undefined || channels < 5) {\n throw new Error(`decodeYolo: invalid output channel count ${channels} (expected >= 5).`);\n }\n const numClasses = channels - 4;\n\n const decoded = decodeYoloAnchors(output, outputDims, {\n numClasses,\n ...options,\n });\n\n const results: DecodedDetection[] = [];\n for (let i = 0; i < decoded.classIds.length; i++) {\n results.push({\n bbox: new BoundingBox(\n decoded.boxesXyxy[i * 4] as number,\n decoded.boxesXyxy[i * 4 + 1] as number,\n decoded.boxesXyxy[i * 4 + 2] as number,\n decoded.boxesXyxy[i * 4 + 3] as number,\n ),\n classId: decoded.classIds[i] as number,\n confidence: decoded.confidences[i] as number,\n });\n }\n return results;\n}\n\nlet _warnedDecodeYoloV8 = false;\nlet _warnedDecodeYoloV8Anchors = false;\n\n/**\n * @deprecated since 0.2.0 — use {@link decodeYolo}. Same behavior; the\n * decoder covers v8/v9/v10/v11/v12 detect heads. Will be removed in 0.3.0.\n */\nexport function decodeYoloV8(\n output: Float32Array,\n outputDims: readonly number[],\n options: DecodeYoloOptions,\n): DecodedDetection[] {\n if (!_warnedDecodeYoloV8) {\n _warnedDecodeYoloV8 = true;\n console.warn(\n \"[@ort-vision-sdk/web] decodeYoloV8 is deprecated since 0.2.0; use decodeYolo. \" +\n \"The alias will be removed in 0.3.0.\",\n );\n }\n return decodeYolo(output, outputDims, options);\n}\n\n/**\n * @deprecated since 0.2.0 — use {@link decodeYoloAnchors}. Will be removed in 0.3.0.\n */\nexport function decodeYoloV8Anchors(\n data: Float32Array,\n dims: readonly number[],\n options: DecodeYoloAnchorsOptions,\n): DecodedAnchors {\n if (!_warnedDecodeYoloV8Anchors) {\n _warnedDecodeYoloV8Anchors = true;\n console.warn(\n \"[@ort-vision-sdk/web] decodeYoloV8Anchors is deprecated since 0.2.0; use decodeYoloAnchors. \" +\n \"The alias will be removed in 0.3.0.\",\n );\n }\n return decodeYoloAnchors(data, dims, options);\n}\n\n/** @deprecated since 0.2.0 — use {@link DecodeYoloAnchorsOptions}. */\nexport type DecodeYoloV8AnchorsOptions = DecodeYoloAnchorsOptions;\n\n/** @deprecated since 0.2.0 — use {@link DecodeYoloOptions}. */\nexport type DecodeYoloV8Options = DecodeYoloOptions;\n"],"names":["nms","boxes","scores","iouThreshold","n","areas","i","x1","y1","x2","y2","order","a","b","suppressed","keep","oi","ax1","ay1","ax2","ay2","ai","oj","j","bx1","by1","bx2","by2","ix1","iy1","ix2","iy2","iw","ih","inter","union","batchedNms","idxs","byClass","c","list","indices","m","subBoxes","subScores","k","subKeep","decodeYoloAnchors","data","dims","options","normalized","channels","numAnchors","numClasses","originalWidth","originalHeight","padLeft","padTop","scale","confThreshold","maxDetections","candidates","bestCls","bestScore","s","cx","cy","w","h","emptyDecoded","flatBoxes","scoresArr","idxsArr","kept","limited","anchorIndices","boxesXyxy","classIds","confidences","decodeYolo","output","outputDims","decoded","results","BoundingBox","_warnedDecodeYoloV8","_warnedDecodeYoloV8Anchors","decodeYoloV8","decodeYoloV8Anchors"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"detection.js","names":[],"sources":["../../../src/vision/postprocess/detection.ts"],"sourcesContent":["/**\n * Detection head postprocessing: anchor-free YOLO decoding + non-maximum suppression.\n *\n * The shared {@link decodeYoloAnchors} helper does the per-anchor work that\n * is identical for plain detection and segmentation (transpose, xywh→xyxy,\n * letterbox unmap, per-class NMS, sort & cap). {@link decodeYolo} is a thin\n * wrapper around it; the segmentation module ({@link ./segmentation.js})\n * calls the helper directly so it can also recover the per-anchor mask\n * coefficients.\n *\n * Works for any YOLO export with the post-v8 anchor-free head:\n * **YOLOv8 / v9 / v10 / v11 / v12** detect heads, all of which share the\n * `[1, 4 + nc, N]` output layout.\n */\n\nimport { BoundingBox } from \"../types\";\n\n/**\n * Greedy non-maximum suppression on axis-aligned bounding boxes.\n *\n * Mirrors `torchvision.ops.nms` (keeps boxes with the highest score, drops\n * any subsequent box whose IoU exceeds the threshold).\n *\n * @param boxes Flat array of length `4 * N` in xyxy order: `[x1,y1,x2,y2, ...]`.\n * @param scores Detection score per box, length `N`.\n * @param iouThreshold Boxes with IoU above this threshold relative to a kept box are suppressed.\n * @returns Indices of kept boxes, in descending score order.\n */\nexport function nms(boxes: Float32Array, scores: Float32Array, iouThreshold: number): Int32Array {\n const n = scores.length;\n if (n === 0) return new Int32Array(0);\n\n const areas = new Float32Array(n);\n for (let i = 0; i < n; i++) {\n const x1 = boxes[i * 4] as number;\n const y1 = boxes[i * 4 + 1] as number;\n const x2 = boxes[i * 4 + 2] as number;\n const y2 = boxes[i * 4 + 3] as number;\n areas[i] = Math.max(0, x2 - x1) * Math.max(0, y2 - y1);\n }\n\n const order = new Array<number>(n);\n for (let i = 0; i < n; i++) order[i] = i;\n order.sort((a, b) => (scores[b] as number) - (scores[a] as number));\n\n const suppressed = new Uint8Array(n);\n const keep: number[] = [];\n\n for (let oi = 0; oi < order.length; oi++) {\n const i = order[oi] as number;\n if (suppressed[i]) continue;\n keep.push(i);\n\n const ax1 = boxes[i * 4] as number;\n const ay1 = boxes[i * 4 + 1] as number;\n const ax2 = boxes[i * 4 + 2] as number;\n const ay2 = boxes[i * 4 + 3] as number;\n const ai = areas[i] as number;\n\n for (let oj = oi + 1; oj < order.length; oj++) {\n const j = order[oj] as number;\n if (suppressed[j]) continue;\n\n const bx1 = boxes[j * 4] as number;\n const by1 = boxes[j * 4 + 1] as number;\n const bx2 = boxes[j * 4 + 2] as number;\n const by2 = boxes[j * 4 + 3] as number;\n\n const ix1 = Math.max(ax1, bx1);\n const iy1 = Math.max(ay1, by1);\n const ix2 = Math.min(ax2, bx2);\n const iy2 = Math.min(ay2, by2);\n const iw = Math.max(0, ix2 - ix1);\n const ih = Math.max(0, iy2 - iy1);\n const inter = iw * ih;\n const union = ai + (areas[j] as number) - inter;\n const iou = union > 0 ? inter / union : 0;\n if (iou > iouThreshold) suppressed[j] = 1;\n }\n }\n\n return Int32Array.from(keep);\n}\n\n/**\n * Per-class NMS — boxes are suppressed only by other boxes of the same class.\n *\n * Mirrors `torchvision.ops.batched_nms`.\n *\n * @param boxes Flat array of length `4 * N` in xyxy order.\n * @param scores Detection score per box, length `N`.\n * @param idxs Class index per box, length `N`. Boxes with different `idxs`\n * never suppress each other.\n * @param iouThreshold IoU threshold for suppression within a class.\n */\nexport function batchedNms(\n boxes: Float32Array,\n scores: Float32Array,\n idxs: Int32Array,\n iouThreshold: number,\n): Int32Array {\n if (scores.length === 0) return new Int32Array(0);\n\n const byClass = new Map<number, number[]>();\n for (let i = 0; i < idxs.length; i++) {\n const c = idxs[i] as number;\n const list = byClass.get(c);\n if (list === undefined) byClass.set(c, [i]);\n else list.push(i);\n }\n\n const keep: number[] = [];\n for (const indices of byClass.values()) {\n const m = indices.length;\n const subBoxes = new Float32Array(m * 4);\n const subScores = new Float32Array(m);\n for (let k = 0; k < m; k++) {\n const i = indices[k] as number;\n subBoxes[k * 4] = boxes[i * 4] as number;\n subBoxes[k * 4 + 1] = boxes[i * 4 + 1] as number;\n subBoxes[k * 4 + 2] = boxes[i * 4 + 2] as number;\n subBoxes[k * 4 + 3] = boxes[i * 4 + 3] as number;\n subScores[k] = scores[i] as number;\n }\n const subKeep = nms(subBoxes, subScores, iouThreshold);\n for (let k = 0; k < subKeep.length; k++) {\n keep.push(indices[subKeep[k] as number] as number);\n }\n }\n\n keep.sort((a, b) => (scores[b] as number) - (scores[a] as number));\n return Int32Array.from(keep);\n}\n\nexport interface DecodeYoloAnchorsOptions {\n /** Number of class-score channels following the 4 box channels. */\n readonly numClasses: number;\n readonly originalWidth: number;\n readonly originalHeight: number;\n readonly padLeft: number;\n readonly padTop: number;\n readonly scale: number;\n readonly confThreshold: number;\n readonly iouThreshold: number;\n readonly maxDetections: number;\n}\n\nexport interface DecodedAnchors {\n /** Indices into the original `numAnchors` axis, in descending confidence order. */\n readonly anchorIndices: Int32Array;\n /** `[k, 4]` boxes in original-image pixel coords, flat row-major xyxy. */\n readonly boxesXyxy: Float32Array;\n /** Predicted class id per survivor. */\n readonly classIds: Int32Array;\n /** Confidence per survivor. */\n readonly confidences: Float32Array;\n}\n\n/**\n * Shared YOLO per-anchor decode used by both detection and segmentation\n * (v8 / v9 / v10 / v11 / v12).\n *\n * Only the first `4 + numClasses` channels are read; later channels (e.g.\n * mask coefficients) are ignored — callers can fetch them via the returned\n * {@link DecodedAnchors.anchorIndices}.\n *\n * @param data Flat per-anchor output, length `channels * numAnchors`.\n * @param dims Dims as reported by ORT, e.g. `[1, 84, 8400]` (det) or\n * `[1, 116, 8400]` (seg). The leading batch dim must be 1.\n */\nexport function decodeYoloAnchors(\n data: Float32Array,\n dims: readonly number[],\n options: DecodeYoloAnchorsOptions,\n): DecodedAnchors {\n let normalized = dims;\n if (normalized.length === 3) {\n if (normalized[0] !== 1) {\n throw new Error(`decodeYoloAnchors: expected batch size 1, got ${normalized[0]}.`);\n }\n normalized = [normalized[1] as number, normalized[2] as number];\n }\n if (normalized.length !== 2) {\n throw new Error(\n `decodeYoloAnchors: expected 2-D output after batch removal, got dims=${JSON.stringify(dims)}.`,\n );\n }\n const channels = normalized[0] as number;\n const numAnchors = normalized[1] as number;\n\n const {\n numClasses,\n originalWidth,\n originalHeight,\n padLeft,\n padTop,\n scale,\n confThreshold,\n iouThreshold,\n maxDetections,\n } = options;\n\n if (numClasses < 1 || numClasses + 4 > channels) {\n throw new Error(\n `decodeYoloAnchors: invalid numClasses=${numClasses} for channels=${channels}.`,\n );\n }\n if (data.length !== channels * numAnchors) {\n throw new Error(\n `decodeYoloAnchors: data length ${data.length} does not match channels*numAnchors=${channels * numAnchors}.`,\n );\n }\n\n type Candidate = {\n anchorIdx: number;\n x1: number;\n y1: number;\n x2: number;\n y2: number;\n classId: number;\n confidence: number;\n };\n const candidates: Candidate[] = [];\n\n for (let a = 0; a < numAnchors; a++) {\n let bestCls = 0;\n let bestScore = -Infinity;\n for (let c = 0; c < numClasses; c++) {\n const s = data[(4 + c) * numAnchors + a];\n if (s !== undefined && s > bestScore) {\n bestScore = s;\n bestCls = c;\n }\n }\n if (bestScore < confThreshold) continue;\n\n const cx = data[a] as number;\n const cy = data[numAnchors + a] as number;\n const w = data[2 * numAnchors + a] as number;\n const h = data[3 * numAnchors + a] as number;\n\n let x1 = cx - w / 2;\n let y1 = cy - h / 2;\n let x2 = cx + w / 2;\n let y2 = cy + h / 2;\n\n x1 = (x1 - padLeft) / scale;\n y1 = (y1 - padTop) / scale;\n x2 = (x2 - padLeft) / scale;\n y2 = (y2 - padTop) / scale;\n\n x1 = Math.max(0, Math.min(originalWidth, x1));\n y1 = Math.max(0, Math.min(originalHeight, y1));\n x2 = Math.max(0, Math.min(originalWidth, x2));\n y2 = Math.max(0, Math.min(originalHeight, y2));\n\n candidates.push({ anchorIdx: a, x1, y1, x2, y2, classId: bestCls, confidence: bestScore });\n }\n\n if (candidates.length === 0) return emptyDecoded();\n\n // Build flat arrays then delegate to batchedNms — same algorithm as before\n // but funnelled through the public per-class NMS helper.\n const flatBoxes = new Float32Array(candidates.length * 4);\n const scoresArr = new Float32Array(candidates.length);\n const idxsArr = new Int32Array(candidates.length);\n for (let i = 0; i < candidates.length; i++) {\n const c = candidates[i] as Candidate;\n flatBoxes[i * 4] = c.x1;\n flatBoxes[i * 4 + 1] = c.y1;\n flatBoxes[i * 4 + 2] = c.x2;\n flatBoxes[i * 4 + 3] = c.y2;\n scoresArr[i] = c.confidence;\n idxsArr[i] = c.classId;\n }\n const kept = batchedNms(flatBoxes, scoresArr, idxsArr, iouThreshold);\n if (kept.length === 0) return emptyDecoded();\n\n const limited = Array.from(kept).slice(0, maxDetections);\n const k = limited.length;\n const anchorIndices = new Int32Array(k);\n const boxesXyxy = new Float32Array(k * 4);\n const classIds = new Int32Array(k);\n const confidences = new Float32Array(k);\n for (let i = 0; i < k; i++) {\n const c = candidates[limited[i] as number] as Candidate;\n anchorIndices[i] = c.anchorIdx;\n boxesXyxy[i * 4] = c.x1;\n boxesXyxy[i * 4 + 1] = c.y1;\n boxesXyxy[i * 4 + 2] = c.x2;\n boxesXyxy[i * 4 + 3] = c.y2;\n classIds[i] = c.classId;\n confidences[i] = c.confidence;\n }\n return { anchorIndices, boxesXyxy, classIds, confidences };\n}\n\nfunction emptyDecoded(): DecodedAnchors {\n return {\n anchorIndices: new Int32Array(0),\n boxesXyxy: new Float32Array(0),\n classIds: new Int32Array(0),\n confidences: new Float32Array(0),\n };\n}\n\nexport interface DecodeYoloOptions {\n readonly originalWidth: number;\n readonly originalHeight: number;\n readonly padLeft: number;\n readonly padTop: number;\n readonly scale: number;\n readonly confThreshold: number;\n readonly iouThreshold: number;\n readonly maxDetections: number;\n}\n\nexport interface DecodedDetection {\n readonly bbox: BoundingBox;\n readonly classId: number;\n readonly confidence: number;\n}\n\n/**\n * Decode an anchor-free YOLO detection output into a list of detections.\n *\n * Works for **YOLOv8 / v9 / v10 / v11 / v12** detect heads.\n *\n * Expected raw shape: `[1, 4 + numClasses, N]`. `numClasses` is inferred\n * from the channel count.\n */\nexport function decodeYolo(\n output: Float32Array,\n outputDims: readonly number[],\n options: DecodeYoloOptions,\n): DecodedDetection[] {\n const channels = outputDims.length === 3 ? outputDims[1] : outputDims[0];\n if (channels === undefined || channels < 5) {\n throw new Error(`decodeYolo: invalid output channel count ${channels} (expected >= 5).`);\n }\n const numClasses = channels - 4;\n\n const decoded = decodeYoloAnchors(output, outputDims, {\n numClasses,\n ...options,\n });\n\n const results: DecodedDetection[] = [];\n for (let i = 0; i < decoded.classIds.length; i++) {\n results.push({\n bbox: new BoundingBox(\n decoded.boxesXyxy[i * 4] as number,\n decoded.boxesXyxy[i * 4 + 1] as number,\n decoded.boxesXyxy[i * 4 + 2] as number,\n decoded.boxesXyxy[i * 4 + 3] as number,\n ),\n classId: decoded.classIds[i] as number,\n confidence: decoded.confidences[i] as number,\n });\n }\n return results;\n}\n\nlet _warnedDecodeYoloV8 = false;\nlet _warnedDecodeYoloV8Anchors = false;\n\n/**\n * @deprecated since 0.2.0 — use {@link decodeYolo}. Same behavior; the\n * decoder covers v8/v9/v10/v11/v12 detect heads. Will be removed in 0.3.0.\n */\nexport function decodeYoloV8(\n output: Float32Array,\n outputDims: readonly number[],\n options: DecodeYoloOptions,\n): DecodedDetection[] {\n if (!_warnedDecodeYoloV8) {\n _warnedDecodeYoloV8 = true;\n console.warn(\n \"[@ort-vision-sdk/web] decodeYoloV8 is deprecated since 0.2.0; use decodeYolo. \" +\n \"The alias will be removed in 0.3.0.\",\n );\n }\n return decodeYolo(output, outputDims, options);\n}\n\n/**\n * @deprecated since 0.2.0 — use {@link decodeYoloAnchors}. Will be removed in 0.3.0.\n */\nexport function decodeYoloV8Anchors(\n data: Float32Array,\n dims: readonly number[],\n options: DecodeYoloAnchorsOptions,\n): DecodedAnchors {\n if (!_warnedDecodeYoloV8Anchors) {\n _warnedDecodeYoloV8Anchors = true;\n console.warn(\n \"[@ort-vision-sdk/web] decodeYoloV8Anchors is deprecated since 0.2.0; use decodeYoloAnchors. \" +\n \"The alias will be removed in 0.3.0.\",\n );\n }\n return decodeYoloAnchors(data, dims, options);\n}\n\n/** @deprecated since 0.2.0 — use {@link DecodeYoloAnchorsOptions}. */\nexport type DecodeYoloV8AnchorsOptions = DecodeYoloAnchorsOptions;\n\n/** @deprecated since 0.2.0 — use {@link DecodeYoloOptions}. */\nexport type DecodeYoloV8Options = DecodeYoloOptions;\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
//# sourceMappingURL=segmentation.cjs.map
|
|
1
|
+
const e=require("../types.cjs"),t=require("./detection.cjs");function n(n,i,a,s,c){let l=s;if(l.length===4){if(l[0]!==1)throw Error(`decodeYoloSeg: expected batch size 1 in prototypes, got ${l[0]}.`);l=[l[1],l[2],l[3]]}if(l.length!==3)throw Error(`decodeYoloSeg: expected 3-D prototypes after batch removal, got dims=${JSON.stringify(s)}.`);let u=l[0],d=l[1],f=l[2],p=i.length===3?i[1]:i[0],m=i.length===3?i[2]:i[1];if(p===void 0||m===void 0)throw Error(`decodeYoloSeg: cannot read channels/numAnchors from dims=${JSON.stringify(i)}.`);let h=4+c.numClasses+u;if(p!==h)throw Error(`decodeYoloSeg: channels=${p} does not match 4 + numClasses(${c.numClasses}) + numMaskCoefs(${u}) = ${h}.`);if(a.length!==u*d*f)throw Error(`decodeYoloSeg: prototype length ${a.length} does not match dims=${JSON.stringify(s)}.`);let g=t.decodeYoloAnchors(n,i,{numClasses:c.numClasses,originalWidth:c.originalWidth,originalHeight:c.originalHeight,padLeft:c.padLeft,padTop:c.padTop,scale:c.scale,confThreshold:c.confThreshold,iouThreshold:c.iouThreshold,maxDetections:c.maxDetections});if(g.anchorIndices.length===0)return[];let _=c.maskThreshold??.5,v=f/c.inputWidth,y=d/c.inputHeight,b=d*f,x=(4+c.numClasses)*m,S=[];for(let t=0;t<g.anchorIndices.length;t++){let i=g.anchorIndices[t],s=g.boxesXyxy[t*4],l=g.boxesXyxy[t*4+1],p=g.boxesXyxy[t*4+2],h=g.boxesXyxy[t*4+3],C=new e.BoundingBox(s,l,p,h),w=g.classIds[t],T=g.confidences[t],E=Math.max(0,Math.trunc(p)-Math.trunc(s)),D=Math.max(0,Math.trunc(h)-Math.trunc(l));if(E===0||D===0){S.push({bbox:C,classId:w,confidence:T,mask:new e.Mask(new Uint8Array,0,0)});continue}let O=s*c.scale+c.padLeft,k=l*c.scale+c.padTop,A=p*c.scale+c.padLeft,j=h*c.scale+c.padTop,M=Math.max(0,Math.floor(O*v)),N=Math.max(0,Math.floor(k*y)),P=Math.min(f,Math.ceil(A*v)),F=Math.min(d,Math.ceil(j*y));if(P<=M||F<=N){S.push({bbox:C,classId:w,confidence:T,mask:new e.Mask(new Uint8Array(E*D),E,D)});continue}let I=P-M,L=F-N,R=new Float32Array(I*L);for(let e=0;e<L;e++){let t=N+e;for(let o=0;o<I;o++){let s=M+o,c=0;for(let e=0;e<u;e++){let r=n[x+e*m+i],o=a[e*b+t*f+s];c+=r*o}R[e*I+o]=r(c)}}let z=o(R,I,L,E,D),B=new Uint8Array(E*D);for(let e=0;e<B.length;e++)B[e]=z[e]>=_?255:0;S.push({bbox:C,classId:w,confidence:T,mask:new e.Mask(B,E,D)})}return S}function r(e){if(e>=0)return 1/(1+Math.exp(-e));let t=Math.exp(e);return t/(1+t)}var i=!1;function a(e,t,r,a,o){return i||(i=!0,console.warn(`[@ort-vision-sdk/web] decodeYoloV8Seg is deprecated since 0.2.0; use decodeYoloSeg. The alias will be removed in 0.3.0.`)),n(e,t,r,a,o)}function o(e,t,n,r,i){let a=new Float32Array(r*i);if(r===0||i===0||t===0||n===0)return a;if(r===t&&i===n)return a.set(e),a;let o=t/r,s=n/i;for(let c=0;c<i;c++){let i=(c+.5)*s-.5,l=Math.max(0,Math.floor(i)),u=Math.min(n-1,l+1),d=Math.max(0,Math.min(1,i-l));for(let n=0;n<r;n++){let i=(n+.5)*o-.5,s=Math.max(0,Math.floor(i)),f=Math.min(t-1,s+1),p=Math.max(0,Math.min(1,i-s)),m=e[l*t+s],h=e[l*t+f],g=e[u*t+s],_=e[u*t+f],v=m*(1-p)+h*p,y=g*(1-p)+_*p;a[c*r+n]=v*(1-d)+y*d}}return a}exports.decodeYoloSeg=n,exports.decodeYoloV8Seg=a;
|
|
2
|
+
//# sourceMappingURL=segmentation.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"segmentation.cjs","sources":["../../../src/vision/postprocess/segmentation.ts"],"sourcesContent":["/**\n * Segmentation head postprocessing: YOLO instance-segmentation decoding.\n *\n * Compatible with YOLOv8-seg / YOLOv11-seg exports (and any later seg head\n * sharing the layout). The model produces two output tensors:\n *\n * - `output0` of shape `(1, 4 + numClasses + numMaskCoefs, numAnchors)` — the\n * same per-anchor predictions as plain YOLO detection plus an extra\n * `numMaskCoefs` (typically 32) channels of mask coefficients.\n * - `output1` of shape `(1, numMaskCoefs, maskH, maskW)` — a set of \"prototype\"\n * masks shared across all anchors.\n *\n * The per-anchor decode (xywh→xyxy, undo letterbox, per-class NMS, sort & cap)\n * is delegated to {@link decodeYoloAnchors}; this module only handles the\n * mask-specific work: matmul against prototypes, sigmoid, bilinear resize and\n * thresholding.\n */\n\nimport { decodeYoloAnchors } from \"./detection\";\nimport { BoundingBox, Mask } from \"../types\";\n\nexport interface DecodeYoloSegOptions {\n readonly numClasses: number;\n /** Model input `[width, height]` (post-letterbox). */\n readonly inputWidth: number;\n readonly inputHeight: number;\n /** Original image `[width, height]`. */\n readonly originalWidth: number;\n readonly originalHeight: number;\n /** Letterbox horizontal padding in input-tensor pixels. */\n readonly padLeft: number;\n /** Letterbox vertical padding in input-tensor pixels. */\n readonly padTop: number;\n /** Letterbox scale factor. */\n readonly scale: number;\n readonly confThreshold: number;\n readonly iouThreshold: number;\n readonly maxDetections: number;\n /** Probability cutoff applied to the soft mask. Defaults to `0.5`. */\n readonly maskThreshold?: number;\n}\n\nexport interface DecodedSegmentation {\n readonly bbox: BoundingBox;\n readonly classId: number;\n readonly confidence: number;\n /** Binary mask cropped to `bbox`. Width/height match `bbox.asIntXyxy()` extents. */\n readonly mask: Mask;\n}\n\n/**\n * Decode YOLO segmentation raw outputs into a list of segmented instances.\n *\n * Compatible with YOLOv8-seg / YOLOv11-seg.\n *\n * @param perAnchorData Flat `output0`, length `(4 + numClasses + numMaskCoefs) * numAnchors`.\n * @param perAnchorDims Dims as reported by ORT, e.g. `[1, 116, 8400]`.\n * @param prototypeData Flat `output1`, length `numMaskCoefs * maskH * maskW`.\n * @param prototypeDims Dims as reported by ORT, e.g. `[1, 32, 160, 160]`.\n */\nexport function decodeYoloSeg(\n perAnchorData: Float32Array,\n perAnchorDims: readonly number[],\n prototypeData: Float32Array,\n prototypeDims: readonly number[],\n options: DecodeYoloSegOptions,\n): DecodedSegmentation[] {\n // Strip batch dim from prototypes; perAnchor batch is validated by the helper.\n let pDims = prototypeDims;\n if (pDims.length === 4) {\n if (pDims[0] !== 1) {\n throw new Error(`decodeYoloSeg: expected batch size 1 in prototypes, got ${pDims[0]}.`);\n }\n pDims = [pDims[1] as number, pDims[2] as number, pDims[3] as number];\n }\n if (pDims.length !== 3) {\n throw new Error(\n `decodeYoloSeg: expected 3-D prototypes after batch removal, got dims=${JSON.stringify(prototypeDims)}.`,\n );\n }\n const numMaskCoefs = pDims[0] as number;\n const maskH = pDims[1] as number;\n const maskW = pDims[2] as number;\n\n const channels = perAnchorDims.length === 3 ? perAnchorDims[1] : perAnchorDims[0];\n const numAnchors = perAnchorDims.length === 3 ? perAnchorDims[2] : perAnchorDims[1];\n if (channels === undefined || numAnchors === undefined) {\n throw new Error(\n `decodeYoloSeg: cannot read channels/numAnchors from dims=${JSON.stringify(perAnchorDims)}.`,\n );\n }\n\n const expectedChannels = 4 + options.numClasses + numMaskCoefs;\n if (channels !== expectedChannels) {\n throw new Error(\n `decodeYoloSeg: channels=${channels} does not match 4 + numClasses(${options.numClasses}) + numMaskCoefs(${numMaskCoefs}) = ${expectedChannels}.`,\n );\n }\n if (prototypeData.length !== numMaskCoefs * maskH * maskW) {\n throw new Error(\n `decodeYoloSeg: prototype length ${prototypeData.length} does not match dims=${JSON.stringify(prototypeDims)}.`,\n );\n }\n\n const decoded = decodeYoloAnchors(perAnchorData, perAnchorDims, {\n numClasses: options.numClasses,\n originalWidth: options.originalWidth,\n originalHeight: options.originalHeight,\n padLeft: options.padLeft,\n padTop: options.padTop,\n scale: options.scale,\n confThreshold: options.confThreshold,\n iouThreshold: options.iouThreshold,\n maxDetections: options.maxDetections,\n });\n\n if (decoded.anchorIndices.length === 0) return [];\n\n const maskThreshold = options.maskThreshold ?? 0.5;\n const scaleX = maskW / options.inputWidth;\n const scaleY = maskH / options.inputHeight;\n const protoPlane = maskH * maskW;\n const coefBase = (4 + options.numClasses) * numAnchors;\n\n const results: DecodedSegmentation[] = [];\n\n for (let i = 0; i < decoded.anchorIndices.length; i++) {\n const a = decoded.anchorIndices[i] as number;\n const x1 = decoded.boxesXyxy[i * 4] as number;\n const y1 = decoded.boxesXyxy[i * 4 + 1] as number;\n const x2 = decoded.boxesXyxy[i * 4 + 2] as number;\n const y2 = decoded.boxesXyxy[i * 4 + 3] as number;\n const bbox = new BoundingBox(x1, y1, x2, y2);\n const classId = decoded.classIds[i] as number;\n const confidence = decoded.confidences[i] as number;\n\n const bboxW = Math.max(0, Math.trunc(x2) - Math.trunc(x1));\n const bboxH = Math.max(0, Math.trunc(y2) - Math.trunc(y1));\n\n if (bboxW === 0 || bboxH === 0) {\n results.push({ bbox, classId, confidence, mask: new Mask(new Uint8Array(0), 0, 0) });\n continue;\n }\n\n // Bbox in input-tensor coords, then in low-res mask coords.\n const ibx1 = x1 * options.scale + options.padLeft;\n const iby1 = y1 * options.scale + options.padTop;\n const ibx2 = x2 * options.scale + options.padLeft;\n const iby2 = y2 * options.scale + options.padTop;\n\n const mbx1 = Math.max(0, Math.floor(ibx1 * scaleX));\n const mby1 = Math.max(0, Math.floor(iby1 * scaleY));\n const mbx2 = Math.min(maskW, Math.ceil(ibx2 * scaleX));\n const mby2 = Math.min(maskH, Math.ceil(iby2 * scaleY));\n\n if (mbx2 <= mbx1 || mby2 <= mby1) {\n results.push({\n bbox,\n classId,\n confidence,\n mask: new Mask(new Uint8Array(bboxW * bboxH), bboxW, bboxH),\n });\n continue;\n }\n\n // Compute soft mask only within the prototype region under this bbox.\n const cropW = mbx2 - mbx1;\n const cropH = mby2 - mby1;\n const softCrop = new Float32Array(cropW * cropH);\n for (let y = 0; y < cropH; y++) {\n const py = mby1 + y;\n for (let x = 0; x < cropW; x++) {\n const px = mbx1 + x;\n let sum = 0;\n for (let kk = 0; kk < numMaskCoefs; kk++) {\n const coef = perAnchorData[coefBase + kk * numAnchors + a];\n const proto = prototypeData[kk * protoPlane + py * maskW + px];\n sum += coef * proto;\n }\n softCrop[y * cropW + x] = sigmoid(sum);\n }\n }\n\n const resized = resizeBilinear(softCrop, cropW, cropH, bboxW, bboxH);\n const binary = new Uint8Array(bboxW * bboxH);\n for (let j = 0; j < binary.length; j++) {\n binary[j] = resized[j] >= maskThreshold ? 255 : 0;\n }\n\n results.push({ bbox, classId, confidence, mask: new Mask(binary, bboxW, bboxH) });\n }\n\n return results;\n}\n\nfunction sigmoid(x: number): number {\n if (x >= 0) {\n return 1 / (1 + Math.exp(-x));\n }\n const e = Math.exp(x);\n return e / (1 + e);\n}\n\nlet _warnedDecodeYoloV8Seg = false;\n\n/** @deprecated since 0.2.0 — use {@link decodeYoloSeg}. Will be removed in 0.3.0. */\nexport function decodeYoloV8Seg(\n perAnchorData: Float32Array,\n perAnchorDims: readonly number[],\n prototypeData: Float32Array,\n prototypeDims: readonly number[],\n options: DecodeYoloSegOptions,\n): DecodedSegmentation[] {\n if (!_warnedDecodeYoloV8Seg) {\n _warnedDecodeYoloV8Seg = true;\n console.warn(\n \"[@ort-vision-sdk/web] decodeYoloV8Seg is deprecated since 0.2.0; use decodeYoloSeg. \" +\n \"The alias will be removed in 0.3.0.\",\n );\n }\n return decodeYoloSeg(perAnchorData, perAnchorDims, prototypeData, prototypeDims, options);\n}\n\n/** @deprecated since 0.2.0 — use {@link DecodeYoloSegOptions}. */\nexport type DecodeYoloV8SegOptions = DecodeYoloSegOptions;\n\nfunction resizeBilinear(\n src: Float32Array,\n srcWidth: number,\n srcHeight: number,\n targetWidth: number,\n targetHeight: number,\n): Float32Array {\n const out = new Float32Array(targetWidth * targetHeight);\n if (targetWidth === 0 || targetHeight === 0 || srcWidth === 0 || srcHeight === 0) {\n return out;\n }\n if (targetWidth === srcWidth && targetHeight === srcHeight) {\n out.set(src);\n return out;\n }\n const sx = srcWidth / targetWidth;\n const sy = srcHeight / targetHeight;\n for (let y = 0; y < targetHeight; y++) {\n const yy = (y + 0.5) * sy - 0.5;\n const y0 = Math.max(0, Math.floor(yy));\n const y1 = Math.min(srcHeight - 1, y0 + 1);\n const wy = Math.max(0, Math.min(1, yy - y0));\n for (let x = 0; x < targetWidth; x++) {\n const xx = (x + 0.5) * sx - 0.5;\n const x0 = Math.max(0, Math.floor(xx));\n const x1 = Math.min(srcWidth - 1, x0 + 1);\n const wx = Math.max(0, Math.min(1, xx - x0));\n const v00 = src[y0 * srcWidth + x0];\n const v01 = src[y0 * srcWidth + x1];\n const v10 = src[y1 * srcWidth + x0];\n const v11 = src[y1 * srcWidth + x1];\n const top = v00 * (1 - wx) + v01 * wx;\n const bot = v10 * (1 - wx) + v11 * wx;\n out[y * targetWidth + x] = top * (1 - wy) + bot * wy;\n }\n }\n return out;\n}\n"],"names":["decodeYoloSeg","perAnchorData","perAnchorDims","prototypeData","prototypeDims","options","pDims","numMaskCoefs","maskH","maskW","channels","numAnchors","expectedChannels","decoded","decodeYoloAnchors","maskThreshold","scaleX","scaleY","protoPlane","coefBase","results","i","a","x1","y1","x2","y2","bbox","BoundingBox","classId","confidence","bboxW","bboxH","Mask","ibx1","iby1","ibx2","iby2","mbx1","mby1","mbx2","mby2","cropW","cropH","softCrop","y","py","x","px","sum","kk","coef","proto","sigmoid","resized","resizeBilinear","binary","j","e","_warnedDecodeYoloV8Seg","decodeYoloV8Seg","src","srcWidth","srcHeight","targetWidth","targetHeight","out","sx","sy","yy","y0","wy","xx","x0","wx","v00","v01","v10","v11","top","bot"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"segmentation.cjs","names":[],"sources":["../../../src/vision/postprocess/segmentation.ts"],"sourcesContent":["/**\n * Segmentation head postprocessing: YOLO instance-segmentation decoding.\n *\n * Compatible with YOLOv8-seg / YOLOv11-seg exports (and any later seg head\n * sharing the layout). The model produces two output tensors:\n *\n * - `output0` of shape `(1, 4 + numClasses + numMaskCoefs, numAnchors)` — the\n * same per-anchor predictions as plain YOLO detection plus an extra\n * `numMaskCoefs` (typically 32) channels of mask coefficients.\n * - `output1` of shape `(1, numMaskCoefs, maskH, maskW)` — a set of \"prototype\"\n * masks shared across all anchors.\n *\n * The per-anchor decode (xywh→xyxy, undo letterbox, per-class NMS, sort & cap)\n * is delegated to {@link decodeYoloAnchors}; this module only handles the\n * mask-specific work: matmul against prototypes, sigmoid, bilinear resize and\n * thresholding.\n */\n\nimport { decodeYoloAnchors } from \"./detection\";\nimport { BoundingBox, Mask } from \"../types\";\n\nexport interface DecodeYoloSegOptions {\n readonly numClasses: number;\n /** Model input `[width, height]` (post-letterbox). */\n readonly inputWidth: number;\n readonly inputHeight: number;\n /** Original image `[width, height]`. */\n readonly originalWidth: number;\n readonly originalHeight: number;\n /** Letterbox horizontal padding in input-tensor pixels. */\n readonly padLeft: number;\n /** Letterbox vertical padding in input-tensor pixels. */\n readonly padTop: number;\n /** Letterbox scale factor. */\n readonly scale: number;\n readonly confThreshold: number;\n readonly iouThreshold: number;\n readonly maxDetections: number;\n /** Probability cutoff applied to the soft mask. Defaults to `0.5`. */\n readonly maskThreshold?: number;\n}\n\nexport interface DecodedSegmentation {\n readonly bbox: BoundingBox;\n readonly classId: number;\n readonly confidence: number;\n /** Binary mask cropped to `bbox`. Width/height match `bbox.asIntXyxy()` extents. */\n readonly mask: Mask;\n}\n\n/**\n * Decode YOLO segmentation raw outputs into a list of segmented instances.\n *\n * Compatible with YOLOv8-seg / YOLOv11-seg.\n *\n * @param perAnchorData Flat `output0`, length `(4 + numClasses + numMaskCoefs) * numAnchors`.\n * @param perAnchorDims Dims as reported by ORT, e.g. `[1, 116, 8400]`.\n * @param prototypeData Flat `output1`, length `numMaskCoefs * maskH * maskW`.\n * @param prototypeDims Dims as reported by ORT, e.g. `[1, 32, 160, 160]`.\n */\nexport function decodeYoloSeg(\n perAnchorData: Float32Array,\n perAnchorDims: readonly number[],\n prototypeData: Float32Array,\n prototypeDims: readonly number[],\n options: DecodeYoloSegOptions,\n): DecodedSegmentation[] {\n // Strip batch dim from prototypes; perAnchor batch is validated by the helper.\n let pDims = prototypeDims;\n if (pDims.length === 4) {\n if (pDims[0] !== 1) {\n throw new Error(`decodeYoloSeg: expected batch size 1 in prototypes, got ${pDims[0]}.`);\n }\n pDims = [pDims[1] as number, pDims[2] as number, pDims[3] as number];\n }\n if (pDims.length !== 3) {\n throw new Error(\n `decodeYoloSeg: expected 3-D prototypes after batch removal, got dims=${JSON.stringify(prototypeDims)}.`,\n );\n }\n const numMaskCoefs = pDims[0] as number;\n const maskH = pDims[1] as number;\n const maskW = pDims[2] as number;\n\n const channels = perAnchorDims.length === 3 ? perAnchorDims[1] : perAnchorDims[0];\n const numAnchors = perAnchorDims.length === 3 ? perAnchorDims[2] : perAnchorDims[1];\n if (channels === undefined || numAnchors === undefined) {\n throw new Error(\n `decodeYoloSeg: cannot read channels/numAnchors from dims=${JSON.stringify(perAnchorDims)}.`,\n );\n }\n\n const expectedChannels = 4 + options.numClasses + numMaskCoefs;\n if (channels !== expectedChannels) {\n throw new Error(\n `decodeYoloSeg: channels=${channels} does not match 4 + numClasses(${options.numClasses}) + numMaskCoefs(${numMaskCoefs}) = ${expectedChannels}.`,\n );\n }\n if (prototypeData.length !== numMaskCoefs * maskH * maskW) {\n throw new Error(\n `decodeYoloSeg: prototype length ${prototypeData.length} does not match dims=${JSON.stringify(prototypeDims)}.`,\n );\n }\n\n const decoded = decodeYoloAnchors(perAnchorData, perAnchorDims, {\n numClasses: options.numClasses,\n originalWidth: options.originalWidth,\n originalHeight: options.originalHeight,\n padLeft: options.padLeft,\n padTop: options.padTop,\n scale: options.scale,\n confThreshold: options.confThreshold,\n iouThreshold: options.iouThreshold,\n maxDetections: options.maxDetections,\n });\n\n if (decoded.anchorIndices.length === 0) return [];\n\n const maskThreshold = options.maskThreshold ?? 0.5;\n const scaleX = maskW / options.inputWidth;\n const scaleY = maskH / options.inputHeight;\n const protoPlane = maskH * maskW;\n const coefBase = (4 + options.numClasses) * numAnchors;\n\n const results: DecodedSegmentation[] = [];\n\n for (let i = 0; i < decoded.anchorIndices.length; i++) {\n const a = decoded.anchorIndices[i] as number;\n const x1 = decoded.boxesXyxy[i * 4] as number;\n const y1 = decoded.boxesXyxy[i * 4 + 1] as number;\n const x2 = decoded.boxesXyxy[i * 4 + 2] as number;\n const y2 = decoded.boxesXyxy[i * 4 + 3] as number;\n const bbox = new BoundingBox(x1, y1, x2, y2);\n const classId = decoded.classIds[i] as number;\n const confidence = decoded.confidences[i] as number;\n\n const bboxW = Math.max(0, Math.trunc(x2) - Math.trunc(x1));\n const bboxH = Math.max(0, Math.trunc(y2) - Math.trunc(y1));\n\n if (bboxW === 0 || bboxH === 0) {\n results.push({ bbox, classId, confidence, mask: new Mask(new Uint8Array(0), 0, 0) });\n continue;\n }\n\n // Bbox in input-tensor coords, then in low-res mask coords.\n const ibx1 = x1 * options.scale + options.padLeft;\n const iby1 = y1 * options.scale + options.padTop;\n const ibx2 = x2 * options.scale + options.padLeft;\n const iby2 = y2 * options.scale + options.padTop;\n\n const mbx1 = Math.max(0, Math.floor(ibx1 * scaleX));\n const mby1 = Math.max(0, Math.floor(iby1 * scaleY));\n const mbx2 = Math.min(maskW, Math.ceil(ibx2 * scaleX));\n const mby2 = Math.min(maskH, Math.ceil(iby2 * scaleY));\n\n if (mbx2 <= mbx1 || mby2 <= mby1) {\n results.push({\n bbox,\n classId,\n confidence,\n mask: new Mask(new Uint8Array(bboxW * bboxH), bboxW, bboxH),\n });\n continue;\n }\n\n // Compute soft mask only within the prototype region under this bbox.\n const cropW = mbx2 - mbx1;\n const cropH = mby2 - mby1;\n const softCrop = new Float32Array(cropW * cropH);\n for (let y = 0; y < cropH; y++) {\n const py = mby1 + y;\n for (let x = 0; x < cropW; x++) {\n const px = mbx1 + x;\n let sum = 0;\n for (let kk = 0; kk < numMaskCoefs; kk++) {\n const coef = perAnchorData[coefBase + kk * numAnchors + a];\n const proto = prototypeData[kk * protoPlane + py * maskW + px];\n sum += coef * proto;\n }\n softCrop[y * cropW + x] = sigmoid(sum);\n }\n }\n\n const resized = resizeBilinear(softCrop, cropW, cropH, bboxW, bboxH);\n const binary = new Uint8Array(bboxW * bboxH);\n for (let j = 0; j < binary.length; j++) {\n binary[j] = resized[j] >= maskThreshold ? 255 : 0;\n }\n\n results.push({ bbox, classId, confidence, mask: new Mask(binary, bboxW, bboxH) });\n }\n\n return results;\n}\n\nfunction sigmoid(x: number): number {\n if (x >= 0) {\n return 1 / (1 + Math.exp(-x));\n }\n const e = Math.exp(x);\n return e / (1 + e);\n}\n\nlet _warnedDecodeYoloV8Seg = false;\n\n/** @deprecated since 0.2.0 — use {@link decodeYoloSeg}. Will be removed in 0.3.0. */\nexport function decodeYoloV8Seg(\n perAnchorData: Float32Array,\n perAnchorDims: readonly number[],\n prototypeData: Float32Array,\n prototypeDims: readonly number[],\n options: DecodeYoloSegOptions,\n): DecodedSegmentation[] {\n if (!_warnedDecodeYoloV8Seg) {\n _warnedDecodeYoloV8Seg = true;\n console.warn(\n \"[@ort-vision-sdk/web] decodeYoloV8Seg is deprecated since 0.2.0; use decodeYoloSeg. \" +\n \"The alias will be removed in 0.3.0.\",\n );\n }\n return decodeYoloSeg(perAnchorData, perAnchorDims, prototypeData, prototypeDims, options);\n}\n\n/** @deprecated since 0.2.0 — use {@link DecodeYoloSegOptions}. */\nexport type DecodeYoloV8SegOptions = DecodeYoloSegOptions;\n\nfunction resizeBilinear(\n src: Float32Array,\n srcWidth: number,\n srcHeight: number,\n targetWidth: number,\n targetHeight: number,\n): Float32Array {\n const out = new Float32Array(targetWidth * targetHeight);\n if (targetWidth === 0 || targetHeight === 0 || srcWidth === 0 || srcHeight === 0) {\n return out;\n }\n if (targetWidth === srcWidth && targetHeight === srcHeight) {\n out.set(src);\n return out;\n }\n const sx = srcWidth / targetWidth;\n const sy = srcHeight / targetHeight;\n for (let y = 0; y < targetHeight; y++) {\n const yy = (y + 0.5) * sy - 0.5;\n const y0 = Math.max(0, Math.floor(yy));\n const y1 = Math.min(srcHeight - 1, y0 + 1);\n const wy = Math.max(0, Math.min(1, yy - y0));\n for (let x = 0; x < targetWidth; x++) {\n const xx = (x + 0.5) * sx - 0.5;\n const x0 = Math.max(0, Math.floor(xx));\n const x1 = Math.min(srcWidth - 1, x0 + 1);\n const wx = Math.max(0, Math.min(1, xx - x0));\n const v00 = src[y0 * srcWidth + x0];\n const v01 = src[y0 * srcWidth + x1];\n const v10 = src[y1 * srcWidth + x0];\n const v11 = src[y1 * srcWidth + x1];\n const top = v00 * (1 - wx) + v01 * wx;\n const bot = v10 * (1 - wx) + v11 * wx;\n out[y * targetWidth + x] = top * (1 - wy) + bot * wy;\n }\n }\n return out;\n}\n"],"mappings":"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"}
|