tempest-react-sdk 0.22.0 → 0.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1904) hide show
  1. package/README.md +92 -82
  2. package/bin/create-tempest-app.mjs +1 -0
  3. package/bin/tempest.mjs +1 -0
  4. package/dist/_virtual/_rolldown/runtime.cjs +1 -0
  5. package/dist/access/Can.cjs +2 -0
  6. package/dist/access/Can.cjs.map +1 -0
  7. package/dist/access/Can.js +15 -0
  8. package/dist/access/Can.js.map +1 -0
  9. package/dist/access/access-control-context.cjs +2 -0
  10. package/dist/access/access-control-context.cjs.map +1 -0
  11. package/dist/access/access-control-context.js +17 -0
  12. package/dist/access/access-control-context.js.map +1 -0
  13. package/dist/access/create-role-access-control.cjs +2 -0
  14. package/dist/access/create-role-access-control.cjs.map +1 -0
  15. package/dist/access/create-role-access-control.js +19 -0
  16. package/dist/access/create-role-access-control.js.map +1 -0
  17. package/dist/access/permissions-from-token.cjs +2 -0
  18. package/dist/access/permissions-from-token.cjs.map +1 -0
  19. package/dist/access/permissions-from-token.js +22 -0
  20. package/dist/access/permissions-from-token.js.map +1 -0
  21. package/dist/access/use-can.cjs +2 -0
  22. package/dist/access/use-can.cjs.map +1 -0
  23. package/dist/access/use-can.js +49 -0
  24. package/dist/access/use-can.js.map +1 -0
  25. package/dist/app/AppProviders.cjs +2 -0
  26. package/dist/app/AppProviders.cjs.map +1 -0
  27. package/dist/app/AppProviders.js +26 -0
  28. package/dist/app/AppProviders.js.map +1 -0
  29. package/dist/audio/audio-player.cjs +2 -0
  30. package/dist/audio/audio-player.cjs.map +1 -0
  31. package/dist/audio/audio-player.js +35 -0
  32. package/dist/audio/audio-player.js.map +1 -0
  33. package/dist/audio/use-audio.cjs +2 -0
  34. package/dist/audio/use-audio.cjs.map +1 -0
  35. package/dist/audio/use-audio.js +21 -0
  36. package/dist/audio/use-audio.js.map +1 -0
  37. package/dist/auth/AuthGuard.cjs +2 -0
  38. package/dist/auth/AuthGuard.cjs.map +1 -0
  39. package/dist/auth/AuthGuard.js +9 -0
  40. package/dist/auth/AuthGuard.js.map +1 -0
  41. package/dist/auth/create-auth-store.cjs +2 -0
  42. package/dist/auth/create-auth-store.cjs.map +1 -0
  43. package/dist/auth/create-auth-store.js +40 -0
  44. package/dist/auth/create-auth-store.js.map +1 -0
  45. package/dist/auth/create-tempest-auth.cjs +2 -0
  46. package/dist/auth/create-tempest-auth.cjs.map +1 -0
  47. package/dist/auth/create-tempest-auth.js +74 -0
  48. package/dist/auth/create-tempest-auth.js.map +1 -0
  49. package/dist/auth/jwt.cjs +2 -0
  50. package/dist/auth/jwt.cjs.map +1 -0
  51. package/dist/auth/jwt.js +33 -0
  52. package/dist/auth/jwt.js.map +1 -0
  53. package/dist/auth/lazy-with-retry.cjs +2 -0
  54. package/dist/auth/lazy-with-retry.cjs.map +1 -0
  55. package/dist/auth/lazy-with-retry.js +18 -0
  56. package/dist/auth/lazy-with-retry.js.map +1 -0
  57. package/dist/auth/refresh-queue.cjs +2 -0
  58. package/dist/auth/refresh-queue.cjs.map +1 -0
  59. package/dist/auth/refresh-queue.js +15 -0
  60. package/dist/auth/refresh-queue.js.map +1 -0
  61. package/dist/br/BrazilMap.cjs +2 -0
  62. package/dist/br/BrazilMap.cjs.map +1 -0
  63. package/dist/br/BrazilMap.js +179 -0
  64. package/dist/br/BrazilMap.js.map +1 -0
  65. package/dist/br/BrazilMap.module.cjs +2 -0
  66. package/dist/br/BrazilMap.module.cjs.map +1 -0
  67. package/dist/br/BrazilMap.module.js +18 -0
  68. package/dist/br/BrazilMap.module.js.map +1 -0
  69. package/dist/br/BrazilStateCitySelect.cjs +2 -0
  70. package/dist/br/BrazilStateCitySelect.cjs.map +1 -0
  71. package/dist/br/BrazilStateCitySelect.js +54 -0
  72. package/dist/br/BrazilStateCitySelect.js.map +1 -0
  73. package/dist/br/BrazilStateMap.cjs +2 -0
  74. package/dist/br/BrazilStateMap.cjs.map +1 -0
  75. package/dist/br/BrazilStateMap.js +177 -0
  76. package/dist/br/BrazilStateMap.js.map +1 -0
  77. package/dist/br/MapLegend.cjs +2 -0
  78. package/dist/br/MapLegend.cjs.map +1 -0
  79. package/dist/br/MapLegend.js +41 -0
  80. package/dist/br/MapLegend.js.map +1 -0
  81. package/dist/br/MapLegend.module.cjs +2 -0
  82. package/dist/br/MapLegend.module.cjs.map +1 -0
  83. package/dist/br/MapLegend.module.js +15 -0
  84. package/dist/br/MapLegend.module.js.map +1 -0
  85. package/dist/br/MapMarkers.cjs +2 -0
  86. package/dist/br/MapMarkers.cjs.map +1 -0
  87. package/dist/br/MapMarkers.js +31 -0
  88. package/dist/br/MapMarkers.js.map +1 -0
  89. package/dist/br/MapTooltip.cjs +2 -0
  90. package/dist/br/MapTooltip.cjs.map +1 -0
  91. package/dist/br/MapTooltip.js +20 -0
  92. package/dist/br/MapTooltip.js.map +1 -0
  93. package/dist/br/MunicipalitySearch.cjs +2 -0
  94. package/dist/br/MunicipalitySearch.cjs.map +1 -0
  95. package/dist/br/MunicipalitySearch.js +74 -0
  96. package/dist/br/MunicipalitySearch.js.map +1 -0
  97. package/dist/br/MunicipalitySearch.module.cjs +2 -0
  98. package/dist/br/MunicipalitySearch.module.cjs.map +1 -0
  99. package/dist/br/MunicipalitySearch.module.js +11 -0
  100. package/dist/br/MunicipalitySearch.module.js.map +1 -0
  101. package/dist/br/br-geo.cjs +2 -0
  102. package/dist/br/br-geo.cjs.map +1 -0
  103. package/dist/br/br-geo.js +7 -0
  104. package/dist/br/br-geo.js.map +1 -0
  105. package/dist/br/data/br-centroids.cjs +2 -0
  106. package/dist/br/data/br-centroids.cjs.map +1 -0
  107. package/dist/br/data/br-centroids.js +38972 -0
  108. package/dist/br/data/br-centroids.js.map +1 -0
  109. package/dist/br/data/br-locations.cjs +2 -0
  110. package/dist/br/data/br-locations.cjs.map +1 -0
  111. package/dist/br/data/br-locations.js +198 -0
  112. package/dist/br/data/br-locations.js.map +1 -0
  113. package/dist/br/data/br-uf-geo.cjs +2 -0
  114. package/dist/br/data/br-uf-geo.cjs.map +1 -0
  115. package/dist/br/data/br-uf-geo.js +7134 -0
  116. package/dist/br/data/br-uf-geo.js.map +1 -0
  117. package/dist/br/data/mun/AC.cjs +2 -0
  118. package/dist/br/data/mun/AC.cjs.map +1 -0
  119. package/dist/br/data/mun/AC.js +992 -0
  120. package/dist/br/data/mun/AC.js.map +1 -0
  121. package/dist/br/data/mun/AL.cjs +2 -0
  122. package/dist/br/data/mun/AL.cjs.map +1 -0
  123. package/dist/br/data/mun/AL.js +2150 -0
  124. package/dist/br/data/mun/AL.js.map +1 -0
  125. package/dist/br/data/mun/AM.cjs +2 -0
  126. package/dist/br/data/mun/AM.cjs.map +1 -0
  127. package/dist/br/data/mun/AM.js +5062 -0
  128. package/dist/br/data/mun/AM.js.map +1 -0
  129. package/dist/br/data/mun/AP.cjs +2 -0
  130. package/dist/br/data/mun/AP.cjs.map +1 -0
  131. package/dist/br/data/mun/AP.js +995 -0
  132. package/dist/br/data/mun/AP.js.map +1 -0
  133. package/dist/br/data/mun/BA.cjs +2 -0
  134. package/dist/br/data/mun/BA.cjs.map +1 -0
  135. package/dist/br/data/mun/BA.js +10762 -0
  136. package/dist/br/data/mun/BA.js.map +1 -0
  137. package/dist/br/data/mun/CE.cjs +2 -0
  138. package/dist/br/data/mun/CE.cjs.map +1 -0
  139. package/dist/br/data/mun/CE.js +4844 -0
  140. package/dist/br/data/mun/CE.js.map +1 -0
  141. package/dist/br/data/mun/DF.cjs +2 -0
  142. package/dist/br/data/mun/DF.cjs.map +1 -0
  143. package/dist/br/data/mun/DF.js +37 -0
  144. package/dist/br/data/mun/DF.js.map +1 -0
  145. package/dist/br/data/mun/ES.cjs +2 -0
  146. package/dist/br/data/mun/ES.cjs.map +1 -0
  147. package/dist/br/data/mun/ES.js +2064 -0
  148. package/dist/br/data/mun/ES.js.map +1 -0
  149. package/dist/br/data/mun/GO.cjs +2 -0
  150. package/dist/br/data/mun/GO.cjs.map +1 -0
  151. package/dist/br/data/mun/GO.js +7617 -0
  152. package/dist/br/data/mun/GO.js.map +1 -0
  153. package/dist/br/data/mun/MA.cjs +2 -0
  154. package/dist/br/data/mun/MA.cjs.map +1 -0
  155. package/dist/br/data/mun/MA.js +6260 -0
  156. package/dist/br/data/mun/MA.js.map +1 -0
  157. package/dist/br/data/mun/MG.cjs +2 -0
  158. package/dist/br/data/mun/MG.cjs.map +1 -0
  159. package/dist/br/data/mun/MG.js +22545 -0
  160. package/dist/br/data/mun/MG.js.map +1 -0
  161. package/dist/br/data/mun/MS.cjs +2 -0
  162. package/dist/br/data/mun/MS.cjs.map +1 -0
  163. package/dist/br/data/mun/MS.js +3261 -0
  164. package/dist/br/data/mun/MS.js.map +1 -0
  165. package/dist/br/data/mun/MT.cjs +2 -0
  166. package/dist/br/data/mun/MT.cjs.map +1 -0
  167. package/dist/br/data/mun/MT.js +6459 -0
  168. package/dist/br/data/mun/MT.js.map +1 -0
  169. package/dist/br/data/mun/PA.cjs +2 -0
  170. package/dist/br/data/mun/PA.cjs.map +1 -0
  171. package/dist/br/data/mun/PA.js +6738 -0
  172. package/dist/br/data/mun/PA.js.map +1 -0
  173. package/dist/br/data/mun/PB.cjs +2 -0
  174. package/dist/br/data/mun/PB.cjs.map +1 -0
  175. package/dist/br/data/mun/PB.js +4735 -0
  176. package/dist/br/data/mun/PB.js.map +1 -0
  177. package/dist/br/data/mun/PE.cjs +2 -0
  178. package/dist/br/data/mun/PE.cjs.map +1 -0
  179. package/dist/br/data/mun/PE.js +4380 -0
  180. package/dist/br/data/mun/PE.js.map +1 -0
  181. package/dist/br/data/mun/PI.cjs +2 -0
  182. package/dist/br/data/mun/PI.cjs.map +1 -0
  183. package/dist/br/data/mun/PI.js +5789 -0
  184. package/dist/br/data/mun/PI.js.map +1 -0
  185. package/dist/br/data/mun/PR.cjs +2 -0
  186. package/dist/br/data/mun/PR.cjs.map +1 -0
  187. package/dist/br/data/mun/PR.js +10320 -0
  188. package/dist/br/data/mun/PR.js.map +1 -0
  189. package/dist/br/data/mun/RJ.cjs +2 -0
  190. package/dist/br/data/mun/RJ.cjs.map +1 -0
  191. package/dist/br/data/mun/RJ.js +2310 -0
  192. package/dist/br/data/mun/RJ.js.map +1 -0
  193. package/dist/br/data/mun/RN.cjs +2 -0
  194. package/dist/br/data/mun/RN.cjs.map +1 -0
  195. package/dist/br/data/mun/RN.js +3545 -0
  196. package/dist/br/data/mun/RN.js.map +1 -0
  197. package/dist/br/data/mun/RO.cjs +2 -0
  198. package/dist/br/data/mun/RO.cjs.map +1 -0
  199. package/dist/br/data/mun/RO.js +2173 -0
  200. package/dist/br/data/mun/RO.js.map +1 -0
  201. package/dist/br/data/mun/RR.cjs +2 -0
  202. package/dist/br/data/mun/RR.cjs.map +1 -0
  203. package/dist/br/data/mun/RR.js +992 -0
  204. package/dist/br/data/mun/RR.js.map +1 -0
  205. package/dist/br/data/mun/RS.cjs +2 -0
  206. package/dist/br/data/mun/RS.cjs.map +1 -0
  207. package/dist/br/data/mun/RS.js +12694 -0
  208. package/dist/br/data/mun/RS.js.map +1 -0
  209. package/dist/br/data/mun/SC.cjs +2 -0
  210. package/dist/br/data/mun/SC.cjs.map +1 -0
  211. package/dist/br/data/mun/SC.js +7028 -0
  212. package/dist/br/data/mun/SC.js.map +1 -0
  213. package/dist/br/data/mun/SE.cjs +2 -0
  214. package/dist/br/data/mun/SE.cjs.map +1 -0
  215. package/dist/br/data/mun/SE.js +1588 -0
  216. package/dist/br/data/mun/SE.js.map +1 -0
  217. package/dist/br/data/mun/SP.cjs +2 -0
  218. package/dist/br/data/mun/SP.cjs.map +1 -0
  219. package/dist/br/data/mun/SP.js +15019 -0
  220. package/dist/br/data/mun/SP.js.map +1 -0
  221. package/dist/br/data/mun/TO.cjs +2 -0
  222. package/dist/br/data/mun/TO.cjs.map +1 -0
  223. package/dist/br/data/mun/TO.js +4510 -0
  224. package/dist/br/data/mun/TO.js.map +1 -0
  225. package/dist/br/geocode.cjs +2 -0
  226. package/dist/br/geocode.cjs.map +1 -0
  227. package/dist/br/geocode.js +91 -0
  228. package/dist/br/geocode.js.map +1 -0
  229. package/dist/br/locations.cjs +2 -0
  230. package/dist/br/locations.cjs.map +1 -0
  231. package/dist/br/locations.js +79 -0
  232. package/dist/br/locations.js.map +1 -0
  233. package/dist/br/regions.cjs +2 -0
  234. package/dist/br/regions.cjs.map +1 -0
  235. package/dist/br/regions.js +18 -0
  236. package/dist/br/regions.js.map +1 -0
  237. package/dist/br/scales.cjs +2 -0
  238. package/dist/br/scales.cjs.map +1 -0
  239. package/dist/br/scales.js +56 -0
  240. package/dist/br/scales.js.map +1 -0
  241. package/dist/br/state-geo.cjs +2 -0
  242. package/dist/br/state-geo.cjs.map +1 -0
  243. package/dist/br/state-geo.js +40 -0
  244. package/dist/br/state-geo.js.map +1 -0
  245. package/dist/br/svg-utils.cjs +2 -0
  246. package/dist/br/svg-utils.cjs.map +1 -0
  247. package/dist/br/svg-utils.js +53 -0
  248. package/dist/br/svg-utils.js.map +1 -0
  249. package/dist/br/use-map-hover.cjs +2 -0
  250. package/dist/br/use-map-hover.cjs.map +1 -0
  251. package/dist/br/use-map-hover.js +21 -0
  252. package/dist/br/use-map-hover.js.map +1 -0
  253. package/dist/br/use-map-zoom.cjs +2 -0
  254. package/dist/br/use-map-zoom.cjs.map +1 -0
  255. package/dist/br/use-map-zoom.js +72 -0
  256. package/dist/br/use-map-zoom.js.map +1 -0
  257. package/dist/br.cjs +2 -2
  258. package/dist/br.cjs.map +1 -1
  259. package/dist/br.d.ts +1 -1
  260. package/dist/br.js +19 -949
  261. package/dist/br.js.map +1 -1
  262. package/dist/charts/AreaChart.cjs +2 -0
  263. package/dist/charts/AreaChart.cjs.map +1 -0
  264. package/dist/charts/AreaChart.js +43 -0
  265. package/dist/charts/AreaChart.js.map +1 -0
  266. package/dist/charts/BarChart.cjs +2 -0
  267. package/dist/charts/BarChart.cjs.map +1 -0
  268. package/dist/charts/BarChart.js +37 -0
  269. package/dist/charts/BarChart.js.map +1 -0
  270. package/dist/charts/LineChart.cjs +2 -0
  271. package/dist/charts/LineChart.cjs.map +1 -0
  272. package/dist/charts/LineChart.js +38 -0
  273. package/dist/charts/LineChart.js.map +1 -0
  274. package/dist/charts/PieChart.cjs +2 -0
  275. package/dist/charts/PieChart.cjs.map +1 -0
  276. package/dist/charts/PieChart.js +36 -0
  277. package/dist/charts/PieChart.js.map +1 -0
  278. package/dist/charts/RadarChart.cjs +2 -0
  279. package/dist/charts/RadarChart.cjs.map +1 -0
  280. package/dist/charts/RadarChart.js +41 -0
  281. package/dist/charts/RadarChart.js.map +1 -0
  282. package/dist/charts/palette.cjs +2 -0
  283. package/dist/charts/palette.cjs.map +1 -0
  284. package/dist/charts/palette.js +13 -0
  285. package/dist/charts/palette.js.map +1 -0
  286. package/dist/charts/types.cjs +2 -0
  287. package/dist/charts/types.cjs.map +1 -0
  288. package/dist/charts/types.js +8 -0
  289. package/dist/charts/types.js.map +1 -0
  290. package/dist/charts.cjs +1 -2
  291. package/dist/charts.d.ts +1 -1
  292. package/dist/charts.js +7 -196
  293. package/dist/components/Accordion/Accordion.cjs +2 -0
  294. package/dist/components/Accordion/Accordion.cjs.map +1 -0
  295. package/dist/components/Accordion/Accordion.js +65 -0
  296. package/dist/components/Accordion/Accordion.js.map +1 -0
  297. package/dist/components/Accordion/Accordion.module.cjs +2 -0
  298. package/dist/components/Accordion/Accordion.module.cjs.map +1 -0
  299. package/dist/components/Accordion/Accordion.module.js +14 -0
  300. package/dist/components/Accordion/Accordion.module.js.map +1 -0
  301. package/dist/components/Alert/Alert.cjs +2 -0
  302. package/dist/components/Alert/Alert.cjs.map +1 -0
  303. package/dist/components/Alert/Alert.js +57 -0
  304. package/dist/components/Alert/Alert.js.map +1 -0
  305. package/dist/components/Alert/Alert.module.cjs +2 -0
  306. package/dist/components/Alert/Alert.module.cjs.map +1 -0
  307. package/dist/components/Alert/Alert.module.js +20 -0
  308. package/dist/components/Alert/Alert.module.js.map +1 -0
  309. package/dist/components/AppBar/AppBar.cjs +2 -0
  310. package/dist/components/AppBar/AppBar.cjs.map +1 -0
  311. package/dist/components/AppBar/AppBar.js +43 -0
  312. package/dist/components/AppBar/AppBar.js.map +1 -0
  313. package/dist/components/AppBar/AppBar.module.cjs +2 -0
  314. package/dist/components/AppBar/AppBar.module.cjs.map +1 -0
  315. package/dist/components/AppBar/AppBar.module.js +20 -0
  316. package/dist/components/AppBar/AppBar.module.js.map +1 -0
  317. package/dist/components/AppShell/AppShell.cjs +2 -0
  318. package/dist/components/AppShell/AppShell.cjs.map +1 -0
  319. package/dist/components/AppShell/AppShell.js +40 -0
  320. package/dist/components/AppShell/AppShell.js.map +1 -0
  321. package/dist/components/AppShell/AppShell.module.cjs +2 -0
  322. package/dist/components/AppShell/AppShell.module.cjs.map +1 -0
  323. package/dist/components/AppShell/AppShell.module.js +14 -0
  324. package/dist/components/AppShell/AppShell.module.js.map +1 -0
  325. package/dist/components/AspectRatio/AspectRatio.cjs +2 -0
  326. package/dist/components/AspectRatio/AspectRatio.cjs.map +1 -0
  327. package/dist/components/AspectRatio/AspectRatio.js +20 -0
  328. package/dist/components/AspectRatio/AspectRatio.js.map +1 -0
  329. package/dist/components/AspectRatio/AspectRatio.module.cjs +2 -0
  330. package/dist/components/AspectRatio/AspectRatio.module.cjs.map +1 -0
  331. package/dist/components/AspectRatio/AspectRatio.module.js +6 -0
  332. package/dist/components/AspectRatio/AspectRatio.module.js.map +1 -0
  333. package/dist/components/Avatar/Avatar.cjs +2 -0
  334. package/dist/components/Avatar/Avatar.cjs.map +1 -0
  335. package/dist/components/Avatar/Avatar.js +37 -0
  336. package/dist/components/Avatar/Avatar.js.map +1 -0
  337. package/dist/components/Avatar/Avatar.module.cjs +2 -0
  338. package/dist/components/Avatar/Avatar.module.cjs.map +1 -0
  339. package/dist/components/Avatar/Avatar.module.js +19 -0
  340. package/dist/components/Avatar/Avatar.module.js.map +1 -0
  341. package/dist/components/Badge/Badge.cjs +2 -0
  342. package/dist/components/Badge/Badge.cjs.map +1 -0
  343. package/dist/components/Badge/Badge.js +18 -0
  344. package/dist/components/Badge/Badge.js.map +1 -0
  345. package/dist/components/Badge/Badge.module.cjs +2 -0
  346. package/dist/components/Badge/Badge.module.cjs.map +1 -0
  347. package/dist/components/Badge/Badge.module.js +21 -0
  348. package/dist/components/Badge/Badge.module.js.map +1 -0
  349. package/dist/components/Banner/Banner.cjs +2 -0
  350. package/dist/components/Banner/Banner.cjs.map +1 -0
  351. package/dist/components/Banner/Banner.js +46 -0
  352. package/dist/components/Banner/Banner.js.map +1 -0
  353. package/dist/components/Banner/Banner.module.cjs +2 -0
  354. package/dist/components/Banner/Banner.module.cjs.map +1 -0
  355. package/dist/components/Banner/Banner.module.js +18 -0
  356. package/dist/components/Banner/Banner.module.js.map +1 -0
  357. package/dist/components/BottomNavigation/BottomNavigation.cjs +2 -0
  358. package/dist/components/BottomNavigation/BottomNavigation.cjs.map +1 -0
  359. package/dist/components/BottomNavigation/BottomNavigation.js +38 -0
  360. package/dist/components/BottomNavigation/BottomNavigation.js.map +1 -0
  361. package/dist/components/BottomNavigation/BottomNavigation.module.cjs +2 -0
  362. package/dist/components/BottomNavigation/BottomNavigation.module.cjs.map +1 -0
  363. package/dist/components/BottomNavigation/BottomNavigation.module.js +14 -0
  364. package/dist/components/BottomNavigation/BottomNavigation.module.js.map +1 -0
  365. package/dist/components/BottomSheet/BottomSheet.cjs +2 -0
  366. package/dist/components/BottomSheet/BottomSheet.cjs.map +1 -0
  367. package/dist/components/BottomSheet/BottomSheet.js +58 -0
  368. package/dist/components/BottomSheet/BottomSheet.js.map +1 -0
  369. package/dist/components/BottomSheet/BottomSheet.module.cjs +2 -0
  370. package/dist/components/BottomSheet/BottomSheet.module.cjs.map +1 -0
  371. package/dist/components/BottomSheet/BottomSheet.module.js +16 -0
  372. package/dist/components/BottomSheet/BottomSheet.module.js.map +1 -0
  373. package/dist/components/Breadcrumbs/Breadcrumbs.cjs +2 -0
  374. package/dist/components/Breadcrumbs/Breadcrumbs.cjs.map +1 -0
  375. package/dist/components/Breadcrumbs/Breadcrumbs.js +37 -0
  376. package/dist/components/Breadcrumbs/Breadcrumbs.js.map +1 -0
  377. package/dist/components/Breadcrumbs/Breadcrumbs.module.cjs +2 -0
  378. package/dist/components/Breadcrumbs/Breadcrumbs.module.cjs.map +1 -0
  379. package/dist/components/Breadcrumbs/Breadcrumbs.module.js +12 -0
  380. package/dist/components/Breadcrumbs/Breadcrumbs.module.js.map +1 -0
  381. package/dist/components/Button/Button.cjs +2 -0
  382. package/dist/components/Button/Button.cjs.map +1 -0
  383. package/dist/components/Button/Button.js +42 -0
  384. package/dist/components/Button/Button.js.map +1 -0
  385. package/dist/components/Button/Button.module.cjs +2 -0
  386. package/dist/components/Button/Button.module.cjs.map +1 -0
  387. package/dist/components/Button/Button.module.js +29 -0
  388. package/dist/components/Button/Button.module.js.map +1 -0
  389. package/dist/components/Calendar/Calendar.cjs +2 -0
  390. package/dist/components/Calendar/Calendar.cjs.map +1 -0
  391. package/dist/components/Calendar/Calendar.js +163 -0
  392. package/dist/components/Calendar/Calendar.js.map +1 -0
  393. package/dist/components/Calendar/Calendar.module.cjs +2 -0
  394. package/dist/components/Calendar/Calendar.module.cjs.map +1 -0
  395. package/dist/components/Calendar/Calendar.module.js +18 -0
  396. package/dist/components/Calendar/Calendar.module.js.map +1 -0
  397. package/dist/components/Card/Card.cjs +2 -0
  398. package/dist/components/Card/Card.cjs.map +1 -0
  399. package/dist/components/Card/Card.js +33 -0
  400. package/dist/components/Card/Card.js.map +1 -0
  401. package/dist/components/Card/Card.module.cjs +2 -0
  402. package/dist/components/Card/Card.module.cjs.map +1 -0
  403. package/dist/components/Card/Card.module.js +18 -0
  404. package/dist/components/Card/Card.module.js.map +1 -0
  405. package/dist/components/Carousel/Carousel.cjs +2 -0
  406. package/dist/components/Carousel/Carousel.cjs.map +1 -0
  407. package/dist/components/Carousel/Carousel.js +76 -0
  408. package/dist/components/Carousel/Carousel.js.map +1 -0
  409. package/dist/components/Carousel/Carousel.module.cjs +2 -0
  410. package/dist/components/Carousel/Carousel.module.cjs.map +1 -0
  411. package/dist/components/Carousel/Carousel.module.js +17 -0
  412. package/dist/components/Carousel/Carousel.module.js.map +1 -0
  413. package/dist/components/Center/Center.cjs +2 -0
  414. package/dist/components/Center/Center.cjs.map +1 -0
  415. package/dist/components/Center/Center.js +21 -0
  416. package/dist/components/Center/Center.js.map +1 -0
  417. package/dist/components/Center/Center.module.cjs +2 -0
  418. package/dist/components/Center/Center.module.cjs.map +1 -0
  419. package/dist/components/Center/Center.module.js +11 -0
  420. package/dist/components/Center/Center.module.js.map +1 -0
  421. package/dist/components/Checkbox/Checkbox.cjs +2 -0
  422. package/dist/components/Checkbox/Checkbox.cjs.map +1 -0
  423. package/dist/components/Checkbox/Checkbox.js +74 -0
  424. package/dist/components/Checkbox/Checkbox.js.map +1 -0
  425. package/dist/components/Checkbox/Checkbox.module.cjs +2 -0
  426. package/dist/components/Checkbox/Checkbox.module.cjs.map +1 -0
  427. package/dist/components/Checkbox/Checkbox.module.js +14 -0
  428. package/dist/components/Checkbox/Checkbox.module.js.map +1 -0
  429. package/dist/components/ChipInput/ChipInput.cjs +2 -0
  430. package/dist/components/ChipInput/ChipInput.cjs.map +1 -0
  431. package/dist/components/ChipInput/ChipInput.js +82 -0
  432. package/dist/components/ChipInput/ChipInput.js.map +1 -0
  433. package/dist/components/ChipInput/ChipInput.module.cjs +2 -0
  434. package/dist/components/ChipInput/ChipInput.module.cjs.map +1 -0
  435. package/dist/components/ChipInput/ChipInput.module.js +16 -0
  436. package/dist/components/ChipInput/ChipInput.module.js.map +1 -0
  437. package/dist/components/ClickOutside/ClickOutside.cjs +2 -0
  438. package/dist/components/ClickOutside/ClickOutside.cjs.map +1 -0
  439. package/dist/components/ClickOutside/ClickOutside.js +24 -0
  440. package/dist/components/ClickOutside/ClickOutside.js.map +1 -0
  441. package/dist/components/Collapsible/Collapsible.cjs +2 -0
  442. package/dist/components/Collapsible/Collapsible.cjs.map +1 -0
  443. package/dist/components/Collapsible/Collapsible.js +39 -0
  444. package/dist/components/Collapsible/Collapsible.js.map +1 -0
  445. package/dist/components/Collapsible/Collapsible.module.cjs +2 -0
  446. package/dist/components/Collapsible/Collapsible.module.cjs.map +1 -0
  447. package/dist/components/Collapsible/Collapsible.module.js +10 -0
  448. package/dist/components/Collapsible/Collapsible.module.js.map +1 -0
  449. package/dist/components/Combobox/Combobox.cjs +2 -0
  450. package/dist/components/Combobox/Combobox.cjs.map +1 -0
  451. package/dist/components/Combobox/Combobox.js +98 -0
  452. package/dist/components/Combobox/Combobox.js.map +1 -0
  453. package/dist/components/Combobox/Combobox.module.cjs +2 -0
  454. package/dist/components/Combobox/Combobox.module.cjs.map +1 -0
  455. package/dist/components/Combobox/Combobox.module.js +20 -0
  456. package/dist/components/Combobox/Combobox.module.js.map +1 -0
  457. package/dist/components/Command/Command.cjs +2 -0
  458. package/dist/components/Command/Command.cjs.map +1 -0
  459. package/dist/components/Command/Command.js +149 -0
  460. package/dist/components/Command/Command.js.map +1 -0
  461. package/dist/components/Command/Command.module.cjs +2 -0
  462. package/dist/components/Command/Command.module.cjs.map +1 -0
  463. package/dist/components/Command/Command.module.js +23 -0
  464. package/dist/components/Command/Command.module.js.map +1 -0
  465. package/dist/components/ConditionalWrapper/ConditionalWrapper.cjs +2 -0
  466. package/dist/components/ConditionalWrapper/ConditionalWrapper.cjs.map +1 -0
  467. package/dist/components/ConditionalWrapper/ConditionalWrapper.js +9 -0
  468. package/dist/components/ConditionalWrapper/ConditionalWrapper.js.map +1 -0
  469. package/dist/components/ConfirmDialog/ConfirmDialog.cjs +2 -0
  470. package/dist/components/ConfirmDialog/ConfirmDialog.cjs.map +1 -0
  471. package/dist/components/ConfirmDialog/ConfirmDialog.js +28 -0
  472. package/dist/components/ConfirmDialog/ConfirmDialog.js.map +1 -0
  473. package/dist/components/ContextMenu/ContextMenu.cjs +2 -0
  474. package/dist/components/ContextMenu/ContextMenu.cjs.map +1 -0
  475. package/dist/components/ContextMenu/ContextMenu.js +91 -0
  476. package/dist/components/ContextMenu/ContextMenu.js.map +1 -0
  477. package/dist/components/ContextMenu/ContextMenu.module.cjs +2 -0
  478. package/dist/components/ContextMenu/ContextMenu.module.cjs.map +1 -0
  479. package/dist/components/ContextMenu/ContextMenu.module.js +14 -0
  480. package/dist/components/ContextMenu/ContextMenu.module.js.map +1 -0
  481. package/dist/components/CopyButton/CopyButton.cjs +2 -0
  482. package/dist/components/CopyButton/CopyButton.cjs.map +1 -0
  483. package/dist/components/CopyButton/CopyButton.js +34 -0
  484. package/dist/components/CopyButton/CopyButton.js.map +1 -0
  485. package/dist/components/CopyButton/CopyButton.module.cjs +2 -0
  486. package/dist/components/CopyButton/CopyButton.module.cjs.map +1 -0
  487. package/dist/components/CopyButton/CopyButton.module.js +9 -0
  488. package/dist/components/CopyButton/CopyButton.module.js.map +1 -0
  489. package/dist/components/DataList/DataList.cjs +2 -0
  490. package/dist/components/DataList/DataList.cjs.map +1 -0
  491. package/dist/components/DataList/DataList.js +18 -0
  492. package/dist/components/DataList/DataList.js.map +1 -0
  493. package/dist/components/DataList/DataList.module.cjs +2 -0
  494. package/dist/components/DataList/DataList.module.cjs.map +1 -0
  495. package/dist/components/DataList/DataList.module.js +9 -0
  496. package/dist/components/DataList/DataList.module.js.map +1 -0
  497. package/dist/components/DataTable/DataTable.cjs +2 -0
  498. package/dist/components/DataTable/DataTable.cjs.map +1 -0
  499. package/dist/components/DataTable/DataTable.js +111 -0
  500. package/dist/components/DataTable/DataTable.js.map +1 -0
  501. package/dist/components/DataTable/DataTable.module.cjs +2 -0
  502. package/dist/components/DataTable/DataTable.module.cjs.map +1 -0
  503. package/dist/components/DataTable/DataTable.module.js +11 -0
  504. package/dist/components/DataTable/DataTable.module.js.map +1 -0
  505. package/dist/components/DatePicker/DatePicker.cjs +2 -0
  506. package/dist/components/DatePicker/DatePicker.cjs.map +1 -0
  507. package/dist/components/DatePicker/DatePicker.js +17 -0
  508. package/dist/components/DatePicker/DatePicker.js.map +1 -0
  509. package/dist/components/DateRangePicker/DateRangePicker.cjs +2 -0
  510. package/dist/components/DateRangePicker/DateRangePicker.cjs.map +1 -0
  511. package/dist/components/DateRangePicker/DateRangePicker.js +165 -0
  512. package/dist/components/DateRangePicker/DateRangePicker.js.map +1 -0
  513. package/dist/components/DateRangePicker/DateRangePicker.module.cjs +2 -0
  514. package/dist/components/DateRangePicker/DateRangePicker.module.cjs.map +1 -0
  515. package/dist/components/DateRangePicker/DateRangePicker.module.js +24 -0
  516. package/dist/components/DateRangePicker/DateRangePicker.module.js.map +1 -0
  517. package/dist/components/DescriptionList/DescriptionList.cjs +2 -0
  518. package/dist/components/DescriptionList/DescriptionList.cjs.map +1 -0
  519. package/dist/components/DescriptionList/DescriptionList.js +22 -0
  520. package/dist/components/DescriptionList/DescriptionList.js.map +1 -0
  521. package/dist/components/DescriptionList/DescriptionList.module.cjs +2 -0
  522. package/dist/components/DescriptionList/DescriptionList.module.cjs.map +1 -0
  523. package/dist/components/DescriptionList/DescriptionList.module.js +10 -0
  524. package/dist/components/DescriptionList/DescriptionList.module.js.map +1 -0
  525. package/dist/components/Divider/Divider.cjs +2 -0
  526. package/dist/components/Divider/Divider.cjs.map +1 -0
  527. package/dist/components/Divider/Divider.js +22 -0
  528. package/dist/components/Divider/Divider.js.map +1 -0
  529. package/dist/components/Divider/Divider.module.cjs +2 -0
  530. package/dist/components/Divider/Divider.module.cjs.map +1 -0
  531. package/dist/components/Divider/Divider.module.js +14 -0
  532. package/dist/components/Divider/Divider.module.js.map +1 -0
  533. package/dist/components/Drawer/Drawer.cjs +2 -0
  534. package/dist/components/Drawer/Drawer.cjs.map +1 -0
  535. package/dist/components/Drawer/Drawer.js +79 -0
  536. package/dist/components/Drawer/Drawer.js.map +1 -0
  537. package/dist/components/Drawer/Drawer.module.cjs +2 -0
  538. package/dist/components/Drawer/Drawer.module.cjs.map +1 -0
  539. package/dist/components/Drawer/Drawer.module.js +25 -0
  540. package/dist/components/Drawer/Drawer.module.js.map +1 -0
  541. package/dist/components/DropdownMenu/DropdownMenu.cjs +2 -0
  542. package/dist/components/DropdownMenu/DropdownMenu.cjs.map +1 -0
  543. package/dist/components/DropdownMenu/DropdownMenu.js +100 -0
  544. package/dist/components/DropdownMenu/DropdownMenu.js.map +1 -0
  545. package/dist/components/DropdownMenu/DropdownMenu.module.cjs +2 -0
  546. package/dist/components/DropdownMenu/DropdownMenu.module.cjs.map +1 -0
  547. package/dist/components/DropdownMenu/DropdownMenu.module.js +19 -0
  548. package/dist/components/DropdownMenu/DropdownMenu.module.js.map +1 -0
  549. package/dist/components/Dropzone/Dropzone.cjs +2 -0
  550. package/dist/components/Dropzone/Dropzone.cjs.map +1 -0
  551. package/dist/components/Dropzone/Dropzone.js +60 -0
  552. package/dist/components/Dropzone/Dropzone.js.map +1 -0
  553. package/dist/components/Dropzone/Dropzone.module.cjs +2 -0
  554. package/dist/components/Dropzone/Dropzone.module.cjs.map +1 -0
  555. package/dist/components/Dropzone/Dropzone.module.js +12 -0
  556. package/dist/components/Dropzone/Dropzone.module.js.map +1 -0
  557. package/dist/components/EmptyState/EmptyState.cjs +2 -0
  558. package/dist/components/EmptyState/EmptyState.cjs.map +1 -0
  559. package/dist/components/EmptyState/EmptyState.js +31 -0
  560. package/dist/components/EmptyState/EmptyState.js.map +1 -0
  561. package/dist/components/EmptyState/EmptyState.module.cjs +2 -0
  562. package/dist/components/EmptyState/EmptyState.module.cjs.map +1 -0
  563. package/dist/components/EmptyState/EmptyState.module.js +12 -0
  564. package/dist/components/EmptyState/EmptyState.module.js.map +1 -0
  565. package/dist/components/ErrorState/ErrorState.cjs +2 -0
  566. package/dist/components/ErrorState/ErrorState.cjs.map +1 -0
  567. package/dist/components/ErrorState/ErrorState.js +51 -0
  568. package/dist/components/ErrorState/ErrorState.js.map +1 -0
  569. package/dist/components/ErrorState/ErrorState.module.cjs +2 -0
  570. package/dist/components/ErrorState/ErrorState.module.cjs.map +1 -0
  571. package/dist/components/ErrorState/ErrorState.module.js +12 -0
  572. package/dist/components/ErrorState/ErrorState.module.js.map +1 -0
  573. package/dist/components/ErrorText/ErrorText.cjs +2 -0
  574. package/dist/components/ErrorText/ErrorText.cjs.map +1 -0
  575. package/dist/components/ErrorText/ErrorText.js +16 -0
  576. package/dist/components/ErrorText/ErrorText.js.map +1 -0
  577. package/dist/components/ErrorText/ErrorText.module.cjs +2 -0
  578. package/dist/components/ErrorText/ErrorText.module.cjs.map +1 -0
  579. package/dist/components/ErrorText/ErrorText.module.js +6 -0
  580. package/dist/components/ErrorText/ErrorText.module.js.map +1 -0
  581. package/dist/components/FileUpload/FileUpload.cjs +2 -0
  582. package/dist/components/FileUpload/FileUpload.cjs.map +1 -0
  583. package/dist/components/FileUpload/FileUpload.js +129 -0
  584. package/dist/components/FileUpload/FileUpload.js.map +1 -0
  585. package/dist/components/FileUpload/FileUpload.module.cjs +2 -0
  586. package/dist/components/FileUpload/FileUpload.module.cjs.map +1 -0
  587. package/dist/components/FileUpload/FileUpload.module.js +20 -0
  588. package/dist/components/FileUpload/FileUpload.module.js.map +1 -0
  589. package/dist/components/FloatingActionButton/FloatingActionButton.cjs +2 -0
  590. package/dist/components/FloatingActionButton/FloatingActionButton.cjs.map +1 -0
  591. package/dist/components/FloatingActionButton/FloatingActionButton.js +23 -0
  592. package/dist/components/FloatingActionButton/FloatingActionButton.js.map +1 -0
  593. package/dist/components/FloatingActionButton/FloatingActionButton.module.cjs +2 -0
  594. package/dist/components/FloatingActionButton/FloatingActionButton.module.cjs.map +1 -0
  595. package/dist/components/FloatingActionButton/FloatingActionButton.module.js +20 -0
  596. package/dist/components/FloatingActionButton/FloatingActionButton.module.js.map +1 -0
  597. package/dist/components/For/For.cjs +2 -0
  598. package/dist/components/For/For.cjs.map +1 -0
  599. package/dist/components/For/For.js +10 -0
  600. package/dist/components/For/For.js.map +1 -0
  601. package/dist/components/Form/Form.cjs +2 -0
  602. package/dist/components/Form/Form.cjs.map +1 -0
  603. package/dist/components/Form/Form.js +78 -0
  604. package/dist/components/Form/Form.js.map +1 -0
  605. package/dist/components/Form/Form.module.cjs +2 -0
  606. package/dist/components/Form/Form.module.cjs.map +1 -0
  607. package/dist/components/Form/Form.module.js +22 -0
  608. package/dist/components/Form/Form.module.js.map +1 -0
  609. package/dist/components/HoverCard/HoverCard.cjs +2 -0
  610. package/dist/components/HoverCard/HoverCard.cjs.map +1 -0
  611. package/dist/components/HoverCard/HoverCard.js +36 -0
  612. package/dist/components/HoverCard/HoverCard.js.map +1 -0
  613. package/dist/components/HoverCard/HoverCard.module.cjs +2 -0
  614. package/dist/components/HoverCard/HoverCard.module.cjs.map +1 -0
  615. package/dist/components/HoverCard/HoverCard.module.js +15 -0
  616. package/dist/components/HoverCard/HoverCard.module.js.map +1 -0
  617. package/dist/components/Image/Image.cjs +2 -0
  618. package/dist/components/Image/Image.cjs.map +1 -0
  619. package/dist/components/Image/Image.js +22 -0
  620. package/dist/components/Image/Image.js.map +1 -0
  621. package/dist/components/Image/Image.module.cjs +2 -0
  622. package/dist/components/Image/Image.module.cjs.map +1 -0
  623. package/dist/components/Image/Image.module.js +6 -0
  624. package/dist/components/Image/Image.module.js.map +1 -0
  625. package/dist/components/Input/Input.cjs +2 -0
  626. package/dist/components/Input/Input.cjs.map +1 -0
  627. package/dist/components/Input/Input.js +56 -0
  628. package/dist/components/Input/Input.js.map +1 -0
  629. package/dist/components/Input/Input.module.cjs +2 -0
  630. package/dist/components/Input/Input.module.cjs.map +1 -0
  631. package/dist/components/Input/Input.module.js +22 -0
  632. package/dist/components/Input/Input.module.js.map +1 -0
  633. package/dist/components/InstallBanner/InstallBanner.cjs +2 -0
  634. package/dist/components/InstallBanner/InstallBanner.cjs.map +1 -0
  635. package/dist/components/InstallBanner/InstallBanner.js +65 -0
  636. package/dist/components/InstallBanner/InstallBanner.js.map +1 -0
  637. package/dist/components/InstallBanner/InstallBanner.module.cjs +2 -0
  638. package/dist/components/InstallBanner/InstallBanner.module.cjs.map +1 -0
  639. package/dist/components/InstallBanner/InstallBanner.module.js +13 -0
  640. package/dist/components/InstallBanner/InstallBanner.module.js.map +1 -0
  641. package/dist/components/InstallButton/InstallButton.cjs +2 -0
  642. package/dist/components/InstallButton/InstallButton.cjs.map +1 -0
  643. package/dist/components/InstallButton/InstallButton.js +18 -0
  644. package/dist/components/InstallButton/InstallButton.js.map +1 -0
  645. package/dist/components/Kbd/Kbd.cjs +2 -0
  646. package/dist/components/Kbd/Kbd.cjs.map +1 -0
  647. package/dist/components/Kbd/Kbd.js +15 -0
  648. package/dist/components/Kbd/Kbd.js.map +1 -0
  649. package/dist/components/Kbd/Kbd.module.cjs +2 -0
  650. package/dist/components/Kbd/Kbd.module.cjs.map +1 -0
  651. package/dist/components/Kbd/Kbd.module.js +11 -0
  652. package/dist/components/Kbd/Kbd.module.js.map +1 -0
  653. package/dist/components/Label/Label.cjs +2 -0
  654. package/dist/components/Label/Label.cjs.map +1 -0
  655. package/dist/components/Label/Label.js +21 -0
  656. package/dist/components/Label/Label.js.map +1 -0
  657. package/dist/components/Label/Label.module.cjs +2 -0
  658. package/dist/components/Label/Label.module.cjs.map +1 -0
  659. package/dist/components/Label/Label.module.js +9 -0
  660. package/dist/components/Label/Label.module.js.map +1 -0
  661. package/dist/components/Layout/Layout.cjs +2 -0
  662. package/dist/components/Layout/Layout.cjs.map +1 -0
  663. package/dist/components/Layout/Layout.js +56 -0
  664. package/dist/components/Layout/Layout.js.map +1 -0
  665. package/dist/components/Layout/Layout.module.cjs +2 -0
  666. package/dist/components/Layout/Layout.module.cjs.map +1 -0
  667. package/dist/components/Layout/Layout.module.js +26 -0
  668. package/dist/components/Layout/Layout.module.js.map +1 -0
  669. package/dist/components/ListTile/ListTile.cjs +2 -0
  670. package/dist/components/ListTile/ListTile.cjs.map +1 -0
  671. package/dist/components/ListTile/ListTile.js +41 -0
  672. package/dist/components/ListTile/ListTile.js.map +1 -0
  673. package/dist/components/ListTile/ListTile.module.cjs +2 -0
  674. package/dist/components/ListTile/ListTile.module.cjs.map +1 -0
  675. package/dist/components/ListTile/ListTile.module.js +16 -0
  676. package/dist/components/ListTile/ListTile.module.js.map +1 -0
  677. package/dist/components/Menubar/Menubar.cjs +2 -0
  678. package/dist/components/Menubar/Menubar.cjs.map +1 -0
  679. package/dist/components/Menubar/Menubar.js +96 -0
  680. package/dist/components/Menubar/Menubar.js.map +1 -0
  681. package/dist/components/Menubar/Menubar.module.cjs +2 -0
  682. package/dist/components/Menubar/Menubar.module.cjs.map +1 -0
  683. package/dist/components/Menubar/Menubar.module.js +17 -0
  684. package/dist/components/Menubar/Menubar.module.js.map +1 -0
  685. package/dist/components/Modal/Modal.cjs +2 -0
  686. package/dist/components/Modal/Modal.cjs.map +1 -0
  687. package/dist/components/Modal/Modal.js +83 -0
  688. package/dist/components/Modal/Modal.js.map +1 -0
  689. package/dist/components/Modal/Modal.module.cjs +2 -0
  690. package/dist/components/Modal/Modal.module.cjs.map +1 -0
  691. package/dist/components/Modal/Modal.module.js +24 -0
  692. package/dist/components/Modal/Modal.module.js.map +1 -0
  693. package/dist/components/ModalsManager/ModalsManager.cjs +2 -0
  694. package/dist/components/ModalsManager/ModalsManager.cjs.map +1 -0
  695. package/dist/components/ModalsManager/ModalsManager.js +97 -0
  696. package/dist/components/ModalsManager/ModalsManager.js.map +1 -0
  697. package/dist/components/ModalsManager/ModalsManager.module.cjs +2 -0
  698. package/dist/components/ModalsManager/ModalsManager.module.cjs.map +1 -0
  699. package/dist/components/ModalsManager/ModalsManager.module.js +6 -0
  700. package/dist/components/ModalsManager/ModalsManager.module.js.map +1 -0
  701. package/dist/components/Money/Money.cjs +2 -0
  702. package/dist/components/Money/Money.cjs.map +1 -0
  703. package/dist/components/Money/Money.js +16 -0
  704. package/dist/components/Money/Money.js.map +1 -0
  705. package/dist/components/MultiSelect/MultiSelect.cjs +2 -0
  706. package/dist/components/MultiSelect/MultiSelect.cjs.map +1 -0
  707. package/dist/components/MultiSelect/MultiSelect.js +130 -0
  708. package/dist/components/MultiSelect/MultiSelect.js.map +1 -0
  709. package/dist/components/MultiSelect/MultiSelect.module.cjs +2 -0
  710. package/dist/components/MultiSelect/MultiSelect.module.cjs.map +1 -0
  711. package/dist/components/MultiSelect/MultiSelect.module.js +23 -0
  712. package/dist/components/MultiSelect/MultiSelect.module.js.map +1 -0
  713. package/dist/components/NProgress/NProgress.cjs +2 -0
  714. package/dist/components/NProgress/NProgress.cjs.map +1 -0
  715. package/dist/components/NProgress/NProgress.js +87 -0
  716. package/dist/components/NProgress/NProgress.js.map +1 -0
  717. package/dist/components/NProgress/NProgress.module.cjs +2 -0
  718. package/dist/components/NProgress/NProgress.module.cjs.map +1 -0
  719. package/dist/components/NProgress/NProgress.module.js +6 -0
  720. package/dist/components/NProgress/NProgress.module.js.map +1 -0
  721. package/dist/components/Navbar/Navbar.cjs +2 -0
  722. package/dist/components/Navbar/Navbar.cjs.map +1 -0
  723. package/dist/components/Navbar/Navbar.js +28 -0
  724. package/dist/components/Navbar/Navbar.js.map +1 -0
  725. package/dist/components/Navbar/Navbar.module.cjs +2 -0
  726. package/dist/components/Navbar/Navbar.module.cjs.map +1 -0
  727. package/dist/components/Navbar/Navbar.module.js +16 -0
  728. package/dist/components/Navbar/Navbar.module.js.map +1 -0
  729. package/dist/components/NavigationMenu/NavigationMenu.cjs +2 -0
  730. package/dist/components/NavigationMenu/NavigationMenu.cjs.map +1 -0
  731. package/dist/components/NavigationMenu/NavigationMenu.js +82 -0
  732. package/dist/components/NavigationMenu/NavigationMenu.js.map +1 -0
  733. package/dist/components/NavigationMenu/NavigationMenu.module.cjs +2 -0
  734. package/dist/components/NavigationMenu/NavigationMenu.module.cjs.map +1 -0
  735. package/dist/components/NavigationMenu/NavigationMenu.module.js +15 -0
  736. package/dist/components/NavigationMenu/NavigationMenu.module.js.map +1 -0
  737. package/dist/components/NavigationRail/NavigationRail.cjs +2 -0
  738. package/dist/components/NavigationRail/NavigationRail.cjs.map +1 -0
  739. package/dist/components/NavigationRail/NavigationRail.js +51 -0
  740. package/dist/components/NavigationRail/NavigationRail.js.map +1 -0
  741. package/dist/components/NavigationRail/NavigationRail.module.cjs +2 -0
  742. package/dist/components/NavigationRail/NavigationRail.module.cjs.map +1 -0
  743. package/dist/components/NavigationRail/NavigationRail.module.js +17 -0
  744. package/dist/components/NavigationRail/NavigationRail.module.js.map +1 -0
  745. package/dist/components/OfflineIndicator/OfflineIndicator.cjs +2 -0
  746. package/dist/components/OfflineIndicator/OfflineIndicator.cjs.map +1 -0
  747. package/dist/components/OfflineIndicator/OfflineIndicator.js +36 -0
  748. package/dist/components/OfflineIndicator/OfflineIndicator.js.map +1 -0
  749. package/dist/components/OfflineIndicator/OfflineIndicator.module.cjs +2 -0
  750. package/dist/components/OfflineIndicator/OfflineIndicator.module.cjs.map +1 -0
  751. package/dist/components/OfflineIndicator/OfflineIndicator.module.js +13 -0
  752. package/dist/components/OfflineIndicator/OfflineIndicator.module.js.map +1 -0
  753. package/dist/components/Page/Page.cjs +2 -0
  754. package/dist/components/Page/Page.cjs.map +1 -0
  755. package/dist/components/Page/Page.js +52 -0
  756. package/dist/components/Page/Page.js.map +1 -0
  757. package/dist/components/Page/Page.module.cjs +2 -0
  758. package/dist/components/Page/Page.module.cjs.map +1 -0
  759. package/dist/components/Page/Page.module.js +18 -0
  760. package/dist/components/Page/Page.module.js.map +1 -0
  761. package/dist/components/Pagination/Pagination.cjs +2 -0
  762. package/dist/components/Pagination/Pagination.cjs.map +1 -0
  763. package/dist/components/Pagination/Pagination.js +75 -0
  764. package/dist/components/Pagination/Pagination.js.map +1 -0
  765. package/dist/components/Pagination/Pagination.module.cjs +2 -0
  766. package/dist/components/Pagination/Pagination.module.cjs.map +1 -0
  767. package/dist/components/Pagination/Pagination.module.js +15 -0
  768. package/dist/components/Pagination/Pagination.module.js.map +1 -0
  769. package/dist/components/PasswordInput/PasswordInput.cjs +2 -0
  770. package/dist/components/PasswordInput/PasswordInput.cjs.map +1 -0
  771. package/dist/components/PasswordInput/PasswordInput.js +78 -0
  772. package/dist/components/PasswordInput/PasswordInput.js.map +1 -0
  773. package/dist/components/PasswordInput/PasswordInput.module.cjs +2 -0
  774. package/dist/components/PasswordInput/PasswordInput.module.cjs.map +1 -0
  775. package/dist/components/PasswordInput/PasswordInput.module.js +26 -0
  776. package/dist/components/PasswordInput/PasswordInput.module.js.map +1 -0
  777. package/dist/components/PinInput/PinInput.cjs +2 -0
  778. package/dist/components/PinInput/PinInput.cjs.map +1 -0
  779. package/dist/components/PinInput/PinInput.js +78 -0
  780. package/dist/components/PinInput/PinInput.js.map +1 -0
  781. package/dist/components/PinInput/PinInput.module.cjs +2 -0
  782. package/dist/components/PinInput/PinInput.module.cjs.map +1 -0
  783. package/dist/components/PinInput/PinInput.module.js +17 -0
  784. package/dist/components/PinInput/PinInput.module.js.map +1 -0
  785. package/dist/components/Popover/Popover.cjs +2 -0
  786. package/dist/components/Popover/Popover.cjs.map +1 -0
  787. package/dist/components/Popover/Popover.js +51 -0
  788. package/dist/components/Popover/Popover.js.map +1 -0
  789. package/dist/components/Popover/Popover.module.cjs +2 -0
  790. package/dist/components/Popover/Popover.module.cjs.map +1 -0
  791. package/dist/components/Popover/Popover.module.js +14 -0
  792. package/dist/components/Popover/Popover.module.js.map +1 -0
  793. package/dist/components/Portal/Portal.cjs +2 -0
  794. package/dist/components/Portal/Portal.cjs.map +1 -0
  795. package/dist/components/Portal/Portal.js +11 -0
  796. package/dist/components/Portal/Portal.js.map +1 -0
  797. package/dist/components/Progress/Progress.cjs +2 -0
  798. package/dist/components/Progress/Progress.cjs.map +1 -0
  799. package/dist/components/Progress/Progress.js +30 -0
  800. package/dist/components/Progress/Progress.js.map +1 -0
  801. package/dist/components/Progress/Progress.module.cjs +2 -0
  802. package/dist/components/Progress/Progress.module.cjs.map +1 -0
  803. package/dist/components/Progress/Progress.module.js +16 -0
  804. package/dist/components/Progress/Progress.module.js.map +1 -0
  805. package/dist/components/Radio/Radio.cjs +2 -0
  806. package/dist/components/Radio/Radio.cjs.map +1 -0
  807. package/dist/components/Radio/Radio.js +64 -0
  808. package/dist/components/Radio/Radio.js.map +1 -0
  809. package/dist/components/Radio/Radio.module.cjs +2 -0
  810. package/dist/components/Radio/Radio.module.cjs.map +1 -0
  811. package/dist/components/Radio/Radio.module.js +16 -0
  812. package/dist/components/Radio/Radio.module.js.map +1 -0
  813. package/dist/components/RangeSlider/RangeSlider.cjs +2 -0
  814. package/dist/components/RangeSlider/RangeSlider.cjs.map +1 -0
  815. package/dist/components/RangeSlider/RangeSlider.js +76 -0
  816. package/dist/components/RangeSlider/RangeSlider.js.map +1 -0
  817. package/dist/components/RangeSlider/RangeSlider.module.cjs +2 -0
  818. package/dist/components/RangeSlider/RangeSlider.module.cjs.map +1 -0
  819. package/dist/components/RangeSlider/RangeSlider.module.js +15 -0
  820. package/dist/components/RangeSlider/RangeSlider.module.js.map +1 -0
  821. package/dist/components/RatingStars/RatingStars.cjs +2 -0
  822. package/dist/components/RatingStars/RatingStars.cjs.map +1 -0
  823. package/dist/components/RatingStars/RatingStars.js +47 -0
  824. package/dist/components/RatingStars/RatingStars.js.map +1 -0
  825. package/dist/components/RatingStars/RatingStars.module.cjs +2 -0
  826. package/dist/components/RatingStars/RatingStars.module.cjs.map +1 -0
  827. package/dist/components/RatingStars/RatingStars.module.js +15 -0
  828. package/dist/components/RatingStars/RatingStars.module.js.map +1 -0
  829. package/dist/components/RefreshIndicator/RefreshIndicator.cjs +2 -0
  830. package/dist/components/RefreshIndicator/RefreshIndicator.cjs.map +1 -0
  831. package/dist/components/RefreshIndicator/RefreshIndicator.js +76 -0
  832. package/dist/components/RefreshIndicator/RefreshIndicator.js.map +1 -0
  833. package/dist/components/RefreshIndicator/RefreshIndicator.module.cjs +2 -0
  834. package/dist/components/RefreshIndicator/RefreshIndicator.module.cjs.map +1 -0
  835. package/dist/components/RefreshIndicator/RefreshIndicator.module.js +11 -0
  836. package/dist/components/RefreshIndicator/RefreshIndicator.module.js.map +1 -0
  837. package/dist/components/RelativeTime/RelativeTime.cjs +2 -0
  838. package/dist/components/RelativeTime/RelativeTime.cjs.map +1 -0
  839. package/dist/components/RelativeTime/RelativeTime.js +15 -0
  840. package/dist/components/RelativeTime/RelativeTime.js.map +1 -0
  841. package/dist/components/Resizable/Resizable.cjs +2 -0
  842. package/dist/components/Resizable/Resizable.cjs.map +1 -0
  843. package/dist/components/Resizable/Resizable.js +82 -0
  844. package/dist/components/Resizable/Resizable.js.map +1 -0
  845. package/dist/components/Resizable/Resizable.module.cjs +2 -0
  846. package/dist/components/Resizable/Resizable.module.cjs.map +1 -0
  847. package/dist/components/Resizable/Resizable.module.js +13 -0
  848. package/dist/components/Resizable/Resizable.module.js.map +1 -0
  849. package/dist/components/Responsive/Responsive.cjs +2 -0
  850. package/dist/components/Responsive/Responsive.cjs.map +1 -0
  851. package/dist/components/Responsive/Responsive.js +17 -0
  852. package/dist/components/Responsive/Responsive.js.map +1 -0
  853. package/dist/components/SafeArea/SafeArea.cjs +2 -0
  854. package/dist/components/SafeArea/SafeArea.cjs.map +1 -0
  855. package/dist/components/SafeArea/SafeArea.js +22 -0
  856. package/dist/components/SafeArea/SafeArea.js.map +1 -0
  857. package/dist/components/SafeArea/SafeArea.module.cjs +2 -0
  858. package/dist/components/SafeArea/SafeArea.module.cjs.map +1 -0
  859. package/dist/components/SafeArea/SafeArea.module.js +13 -0
  860. package/dist/components/SafeArea/SafeArea.module.js.map +1 -0
  861. package/dist/components/ScrollArea/ScrollArea.cjs +2 -0
  862. package/dist/components/ScrollArea/ScrollArea.cjs.map +1 -0
  863. package/dist/components/ScrollArea/ScrollArea.js +24 -0
  864. package/dist/components/ScrollArea/ScrollArea.js.map +1 -0
  865. package/dist/components/ScrollArea/ScrollArea.module.cjs +2 -0
  866. package/dist/components/ScrollArea/ScrollArea.module.cjs.map +1 -0
  867. package/dist/components/ScrollArea/ScrollArea.module.js +6 -0
  868. package/dist/components/ScrollArea/ScrollArea.module.js.map +1 -0
  869. package/dist/components/SearchBar/SearchBar.cjs +2 -0
  870. package/dist/components/SearchBar/SearchBar.cjs.map +1 -0
  871. package/dist/components/SearchBar/SearchBar.js +74 -0
  872. package/dist/components/SearchBar/SearchBar.js.map +1 -0
  873. package/dist/components/SearchBar/SearchBar.module.cjs +2 -0
  874. package/dist/components/SearchBar/SearchBar.module.cjs.map +1 -0
  875. package/dist/components/SearchBar/SearchBar.module.js +11 -0
  876. package/dist/components/SearchBar/SearchBar.module.js.map +1 -0
  877. package/dist/components/SegmentedControl/SegmentedControl.cjs +2 -0
  878. package/dist/components/SegmentedControl/SegmentedControl.cjs.map +1 -0
  879. package/dist/components/SegmentedControl/SegmentedControl.js +34 -0
  880. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -0
  881. package/dist/components/SegmentedControl/SegmentedControl.module.cjs +2 -0
  882. package/dist/components/SegmentedControl/SegmentedControl.module.cjs.map +1 -0
  883. package/dist/components/SegmentedControl/SegmentedControl.module.js +16 -0
  884. package/dist/components/SegmentedControl/SegmentedControl.module.js.map +1 -0
  885. package/dist/components/Select/Select.cjs +2 -0
  886. package/dist/components/Select/Select.cjs.map +1 -0
  887. package/dist/components/Select/Select.js +76 -0
  888. package/dist/components/Select/Select.js.map +1 -0
  889. package/dist/components/Select/Select.module.cjs +2 -0
  890. package/dist/components/Select/Select.module.cjs.map +1 -0
  891. package/dist/components/Select/Select.module.js +16 -0
  892. package/dist/components/Select/Select.module.js.map +1 -0
  893. package/dist/components/Sidebar/Sidebar.cjs +2 -0
  894. package/dist/components/Sidebar/Sidebar.cjs.map +1 -0
  895. package/dist/components/Sidebar/Sidebar.js +58 -0
  896. package/dist/components/Sidebar/Sidebar.js.map +1 -0
  897. package/dist/components/Sidebar/Sidebar.module.cjs +2 -0
  898. package/dist/components/Sidebar/Sidebar.module.cjs.map +1 -0
  899. package/dist/components/Sidebar/Sidebar.module.js +17 -0
  900. package/dist/components/Sidebar/Sidebar.module.js.map +1 -0
  901. package/dist/components/Skeleton/Skeleton.cjs +2 -0
  902. package/dist/components/Skeleton/Skeleton.cjs.map +1 -0
  903. package/dist/components/Skeleton/Skeleton.js +19 -0
  904. package/dist/components/Skeleton/Skeleton.js.map +1 -0
  905. package/dist/components/Skeleton/Skeleton.module.cjs +2 -0
  906. package/dist/components/Skeleton/Skeleton.module.cjs.map +1 -0
  907. package/dist/components/Skeleton/Skeleton.module.js +12 -0
  908. package/dist/components/Skeleton/Skeleton.module.js.map +1 -0
  909. package/dist/components/Slider/Slider.cjs +2 -0
  910. package/dist/components/Slider/Slider.cjs.map +1 -0
  911. package/dist/components/Slider/Slider.js +59 -0
  912. package/dist/components/Slider/Slider.js.map +1 -0
  913. package/dist/components/Slider/Slider.module.cjs +2 -0
  914. package/dist/components/Slider/Slider.module.cjs.map +1 -0
  915. package/dist/components/Slider/Slider.module.js +15 -0
  916. package/dist/components/Slider/Slider.module.js.map +1 -0
  917. package/dist/components/Spacer/Spacer.cjs +2 -0
  918. package/dist/components/Spacer/Spacer.cjs.map +1 -0
  919. package/dist/components/Spacer/Spacer.js +14 -0
  920. package/dist/components/Spacer/Spacer.js.map +1 -0
  921. package/dist/components/Spacer/Spacer.module.cjs +2 -0
  922. package/dist/components/Spacer/Spacer.module.cjs.map +1 -0
  923. package/dist/components/Spacer/Spacer.module.js +11 -0
  924. package/dist/components/Spacer/Spacer.module.js.map +1 -0
  925. package/dist/components/Spinner/Spinner.cjs +2 -0
  926. package/dist/components/Spinner/Spinner.cjs.map +1 -0
  927. package/dist/components/Spinner/Spinner.js +28 -0
  928. package/dist/components/Spinner/Spinner.js.map +1 -0
  929. package/dist/components/Spinner/Spinner.module.cjs +2 -0
  930. package/dist/components/Spinner/Spinner.module.cjs.map +1 -0
  931. package/dist/components/Spinner/Spinner.module.js +17 -0
  932. package/dist/components/Spinner/Spinner.module.js.map +1 -0
  933. package/dist/components/Stat/Stat.cjs +2 -0
  934. package/dist/components/Stat/Stat.cjs.map +1 -0
  935. package/dist/components/Stat/Stat.js +47 -0
  936. package/dist/components/Stat/Stat.js.map +1 -0
  937. package/dist/components/Stat/Stat.module.cjs +2 -0
  938. package/dist/components/Stat/Stat.module.cjs.map +1 -0
  939. package/dist/components/Stat/Stat.module.js +18 -0
  940. package/dist/components/Stat/Stat.module.js.map +1 -0
  941. package/dist/components/Stepper/Stepper.cjs +2 -0
  942. package/dist/components/Stepper/Stepper.cjs.map +1 -0
  943. package/dist/components/Stepper/Stepper.js +31 -0
  944. package/dist/components/Stepper/Stepper.js.map +1 -0
  945. package/dist/components/Stepper/Stepper.module.cjs +2 -0
  946. package/dist/components/Stepper/Stepper.module.cjs.map +1 -0
  947. package/dist/components/Stepper/Stepper.module.js +15 -0
  948. package/dist/components/Stepper/Stepper.module.js.map +1 -0
  949. package/dist/components/StepperInput/StepperInput.cjs +2 -0
  950. package/dist/components/StepperInput/StepperInput.cjs.map +1 -0
  951. package/dist/components/StepperInput/StepperInput.js +54 -0
  952. package/dist/components/StepperInput/StepperInput.js.map +1 -0
  953. package/dist/components/StepperInput/StepperInput.module.cjs +2 -0
  954. package/dist/components/StepperInput/StepperInput.module.cjs.map +1 -0
  955. package/dist/components/StepperInput/StepperInput.module.js +16 -0
  956. package/dist/components/StepperInput/StepperInput.module.js.map +1 -0
  957. package/dist/components/Switch/Switch.cjs +2 -0
  958. package/dist/components/Switch/Switch.cjs.map +1 -0
  959. package/dist/components/Switch/Switch.js +33 -0
  960. package/dist/components/Switch/Switch.js.map +1 -0
  961. package/dist/components/Switch/Switch.module.cjs +2 -0
  962. package/dist/components/Switch/Switch.module.cjs.map +1 -0
  963. package/dist/components/Switch/Switch.module.js +13 -0
  964. package/dist/components/Switch/Switch.module.js.map +1 -0
  965. package/dist/components/SyncStatusBadge/SyncStatusBadge.cjs +2 -0
  966. package/dist/components/SyncStatusBadge/SyncStatusBadge.cjs.map +1 -0
  967. package/dist/components/SyncStatusBadge/SyncStatusBadge.js +62 -0
  968. package/dist/components/SyncStatusBadge/SyncStatusBadge.js.map +1 -0
  969. package/dist/components/SyncStatusBadge/SyncStatusBadge.module.cjs +2 -0
  970. package/dist/components/SyncStatusBadge/SyncStatusBadge.module.cjs.map +1 -0
  971. package/dist/components/SyncStatusBadge/SyncStatusBadge.module.js +18 -0
  972. package/dist/components/SyncStatusBadge/SyncStatusBadge.module.js.map +1 -0
  973. package/dist/components/Table/Table.cjs +2 -0
  974. package/dist/components/Table/Table.cjs.map +1 -0
  975. package/dist/components/Table/Table.js +43 -0
  976. package/dist/components/Table/Table.js.map +1 -0
  977. package/dist/components/Table/Table.module.cjs +2 -0
  978. package/dist/components/Table/Table.module.cjs.map +1 -0
  979. package/dist/components/Table/Table.module.js +21 -0
  980. package/dist/components/Table/Table.module.js.map +1 -0
  981. package/dist/components/Tabs/Tabs.cjs +2 -0
  982. package/dist/components/Tabs/Tabs.cjs.map +1 -0
  983. package/dist/components/Tabs/Tabs.js +42 -0
  984. package/dist/components/Tabs/Tabs.js.map +1 -0
  985. package/dist/components/Tabs/Tabs.module.cjs +2 -0
  986. package/dist/components/Tabs/Tabs.module.cjs.map +1 -0
  987. package/dist/components/Tabs/Tabs.module.js +12 -0
  988. package/dist/components/Tabs/Tabs.module.js.map +1 -0
  989. package/dist/components/Tag/Tag.cjs +2 -0
  990. package/dist/components/Tag/Tag.cjs.map +1 -0
  991. package/dist/components/Tag/Tag.js +24 -0
  992. package/dist/components/Tag/Tag.js.map +1 -0
  993. package/dist/components/Tag/Tag.module.cjs +2 -0
  994. package/dist/components/Tag/Tag.module.cjs.map +1 -0
  995. package/dist/components/Tag/Tag.module.js +19 -0
  996. package/dist/components/Tag/Tag.module.js.map +1 -0
  997. package/dist/components/Textarea/Textarea.cjs +2 -0
  998. package/dist/components/Textarea/Textarea.cjs.map +1 -0
  999. package/dist/components/Textarea/Textarea.js +40 -0
  1000. package/dist/components/Textarea/Textarea.js.map +1 -0
  1001. package/dist/components/Textarea/Textarea.module.cjs +2 -0
  1002. package/dist/components/Textarea/Textarea.module.cjs.map +1 -0
  1003. package/dist/components/Textarea/Textarea.module.js +14 -0
  1004. package/dist/components/Textarea/Textarea.module.js.map +1 -0
  1005. package/dist/components/TimePicker/TimePicker.cjs +2 -0
  1006. package/dist/components/TimePicker/TimePicker.cjs.map +1 -0
  1007. package/dist/components/TimePicker/TimePicker.js +135 -0
  1008. package/dist/components/TimePicker/TimePicker.js.map +1 -0
  1009. package/dist/components/TimePicker/TimePicker.module.cjs +2 -0
  1010. package/dist/components/TimePicker/TimePicker.module.cjs.map +1 -0
  1011. package/dist/components/TimePicker/TimePicker.module.js +16 -0
  1012. package/dist/components/TimePicker/TimePicker.module.js.map +1 -0
  1013. package/dist/components/Timeline/Timeline.cjs +2 -0
  1014. package/dist/components/Timeline/Timeline.cjs.map +1 -0
  1015. package/dist/components/Timeline/Timeline.js +46 -0
  1016. package/dist/components/Timeline/Timeline.js.map +1 -0
  1017. package/dist/components/Timeline/Timeline.module.cjs +2 -0
  1018. package/dist/components/Timeline/Timeline.module.cjs.map +1 -0
  1019. package/dist/components/Timeline/Timeline.module.js +22 -0
  1020. package/dist/components/Timeline/Timeline.module.js.map +1 -0
  1021. package/dist/components/Toast/Toast.module.cjs +2 -0
  1022. package/dist/components/Toast/Toast.module.cjs.map +1 -0
  1023. package/dist/components/Toast/Toast.module.js +23 -0
  1024. package/dist/components/Toast/Toast.module.js.map +1 -0
  1025. package/dist/components/Toast/ToastProvider.cjs +2 -0
  1026. package/dist/components/Toast/ToastProvider.cjs.map +1 -0
  1027. package/dist/components/Toast/ToastProvider.js +123 -0
  1028. package/dist/components/Toast/ToastProvider.js.map +1 -0
  1029. package/dist/components/Toggle/Toggle.cjs +2 -0
  1030. package/dist/components/Toggle/Toggle.cjs.map +1 -0
  1031. package/dist/components/Toggle/Toggle.js +32 -0
  1032. package/dist/components/Toggle/Toggle.js.map +1 -0
  1033. package/dist/components/Toggle/Toggle.module.cjs +2 -0
  1034. package/dist/components/Toggle/Toggle.module.cjs.map +1 -0
  1035. package/dist/components/Toggle/Toggle.module.js +13 -0
  1036. package/dist/components/Toggle/Toggle.module.js.map +1 -0
  1037. package/dist/components/ToggleGroup/ToggleGroup.cjs +2 -0
  1038. package/dist/components/ToggleGroup/ToggleGroup.cjs.map +1 -0
  1039. package/dist/components/ToggleGroup/ToggleGroup.js +65 -0
  1040. package/dist/components/ToggleGroup/ToggleGroup.js.map +1 -0
  1041. package/dist/components/ToggleGroup/ToggleGroup.module.cjs +2 -0
  1042. package/dist/components/ToggleGroup/ToggleGroup.module.cjs.map +1 -0
  1043. package/dist/components/ToggleGroup/ToggleGroup.module.js +10 -0
  1044. package/dist/components/ToggleGroup/ToggleGroup.module.js.map +1 -0
  1045. package/dist/components/Tooltip/Tooltip.cjs +2 -0
  1046. package/dist/components/Tooltip/Tooltip.cjs.map +1 -0
  1047. package/dist/components/Tooltip/Tooltip.js +34 -0
  1048. package/dist/components/Tooltip/Tooltip.js.map +1 -0
  1049. package/dist/components/Tooltip/Tooltip.module.cjs +2 -0
  1050. package/dist/components/Tooltip/Tooltip.module.cjs.map +1 -0
  1051. package/dist/components/Tooltip/Tooltip.module.js +14 -0
  1052. package/dist/components/Tooltip/Tooltip.module.js.map +1 -0
  1053. package/dist/components/TruncateText/TruncateText.cjs +2 -0
  1054. package/dist/components/TruncateText/TruncateText.cjs.map +1 -0
  1055. package/dist/components/TruncateText/TruncateText.js +20 -0
  1056. package/dist/components/TruncateText/TruncateText.js.map +1 -0
  1057. package/dist/components/TruncateText/TruncateText.module.cjs +2 -0
  1058. package/dist/components/TruncateText/TruncateText.module.cjs.map +1 -0
  1059. package/dist/components/TruncateText/TruncateText.module.js +6 -0
  1060. package/dist/components/TruncateText/TruncateText.module.js.map +1 -0
  1061. package/dist/components/UpdatePrompt/UpdatePrompt.cjs +2 -0
  1062. package/dist/components/UpdatePrompt/UpdatePrompt.cjs.map +1 -0
  1063. package/dist/components/UpdatePrompt/UpdatePrompt.js +44 -0
  1064. package/dist/components/UpdatePrompt/UpdatePrompt.js.map +1 -0
  1065. package/dist/components/UpdatePrompt/UpdatePrompt.module.cjs +2 -0
  1066. package/dist/components/UpdatePrompt/UpdatePrompt.module.cjs.map +1 -0
  1067. package/dist/components/UpdatePrompt/UpdatePrompt.module.js +14 -0
  1068. package/dist/components/UpdatePrompt/UpdatePrompt.module.js.map +1 -0
  1069. package/dist/components/VirtualList/VirtualList.cjs +2 -0
  1070. package/dist/components/VirtualList/VirtualList.cjs.map +1 -0
  1071. package/dist/components/VirtualList/VirtualList.js +45 -0
  1072. package/dist/components/VirtualList/VirtualList.js.map +1 -0
  1073. package/dist/components/VirtualList/VirtualList.module.cjs +2 -0
  1074. package/dist/components/VirtualList/VirtualList.module.cjs.map +1 -0
  1075. package/dist/components/VirtualList/VirtualList.module.js +10 -0
  1076. package/dist/components/VirtualList/VirtualList.module.js.map +1 -0
  1077. package/dist/components/VisuallyHidden/VisuallyHidden.cjs +2 -0
  1078. package/dist/components/VisuallyHidden/VisuallyHidden.cjs.map +1 -0
  1079. package/dist/components/VisuallyHidden/VisuallyHidden.js +14 -0
  1080. package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -0
  1081. package/dist/components/VisuallyHidden/VisuallyHidden.module.cjs +2 -0
  1082. package/dist/components/VisuallyHidden/VisuallyHidden.module.cjs.map +1 -0
  1083. package/dist/components/VisuallyHidden/VisuallyHidden.module.js +6 -0
  1084. package/dist/components/VisuallyHidden/VisuallyHidden.module.js.map +1 -0
  1085. package/dist/data/create-data-provider.cjs +2 -0
  1086. package/dist/data/create-data-provider.cjs.map +1 -0
  1087. package/dist/data/create-data-provider.js +37 -0
  1088. package/dist/data/create-data-provider.js.map +1 -0
  1089. package/dist/data/data-provider-context.cjs +2 -0
  1090. package/dist/data/data-provider-context.cjs.map +1 -0
  1091. package/dist/data/data-provider-context.js +19 -0
  1092. package/dist/data/data-provider-context.js.map +1 -0
  1093. package/dist/data/use-resource.cjs +2 -0
  1094. package/dist/data/use-resource.cjs.map +1 -0
  1095. package/dist/data/use-resource.js +83 -0
  1096. package/dist/data/use-resource.js.map +1 -0
  1097. package/dist/editor/RichTextEditor.cjs +2 -0
  1098. package/dist/editor/RichTextEditor.cjs.map +1 -0
  1099. package/dist/editor/RichTextEditor.js +190 -0
  1100. package/dist/editor/RichTextEditor.js.map +1 -0
  1101. package/dist/editor/RichTextEditor.module.cjs +2 -0
  1102. package/dist/editor/RichTextEditor.module.cjs.map +1 -0
  1103. package/dist/editor/RichTextEditor.module.js +13 -0
  1104. package/dist/editor/RichTextEditor.module.js.map +1 -0
  1105. package/dist/editor.cjs +1 -2
  1106. package/dist/editor.d.ts +14 -1
  1107. package/dist/editor.js +2 -190
  1108. package/dist/error-boundary/ErrorBoundary.cjs +2 -0
  1109. package/dist/error-boundary/ErrorBoundary.cjs.map +1 -0
  1110. package/dist/error-boundary/ErrorBoundary.js +35 -0
  1111. package/dist/error-boundary/ErrorBoundary.js.map +1 -0
  1112. package/dist/error-boundary/use-error-handler.cjs +2 -0
  1113. package/dist/error-boundary/use-error-handler.cjs.map +1 -0
  1114. package/dist/error-boundary/use-error-handler.js +14 -0
  1115. package/dist/error-boundary/use-error-handler.js.map +1 -0
  1116. package/dist/feature-flags/FeatureFlagsProvider.cjs +2 -0
  1117. package/dist/feature-flags/FeatureFlagsProvider.cjs.map +1 -0
  1118. package/dist/feature-flags/FeatureFlagsProvider.js +28 -0
  1119. package/dist/feature-flags/FeatureFlagsProvider.js.map +1 -0
  1120. package/dist/feature-flags/growthbook-adapter.cjs +2 -0
  1121. package/dist/feature-flags/growthbook-adapter.cjs.map +1 -0
  1122. package/dist/feature-flags/growthbook-adapter.js +27 -0
  1123. package/dist/feature-flags/growthbook-adapter.js.map +1 -0
  1124. package/dist/feature-flags/in-memory-adapter.cjs +2 -0
  1125. package/dist/feature-flags/in-memory-adapter.cjs.map +1 -0
  1126. package/dist/feature-flags/in-memory-adapter.js +25 -0
  1127. package/dist/feature-flags/in-memory-adapter.js.map +1 -0
  1128. package/dist/feature-flags/launchdarkly-adapter.cjs +2 -0
  1129. package/dist/feature-flags/launchdarkly-adapter.cjs.map +1 -0
  1130. package/dist/feature-flags/launchdarkly-adapter.js +21 -0
  1131. package/dist/feature-flags/launchdarkly-adapter.js.map +1 -0
  1132. package/dist/forms/FormField.cjs +2 -0
  1133. package/dist/forms/FormField.cjs.map +1 -0
  1134. package/dist/forms/FormField.js +32 -0
  1135. package/dist/forms/FormField.js.map +1 -0
  1136. package/dist/forms/br-validators.cjs +2 -0
  1137. package/dist/forms/br-validators.cjs.map +1 -0
  1138. package/dist/forms/br-validators.js +66 -0
  1139. package/dist/forms/br-validators.js.map +1 -0
  1140. package/dist/forms/index.js +9 -0
  1141. package/dist/forms/masked-inputs.cjs +2 -0
  1142. package/dist/forms/masked-inputs.cjs.map +1 -0
  1143. package/dist/forms/masked-inputs.js +42 -0
  1144. package/dist/forms/masked-inputs.js.map +1 -0
  1145. package/dist/forms/use-viacep.cjs +2 -0
  1146. package/dist/forms/use-viacep.cjs.map +1 -0
  1147. package/dist/forms/use-viacep.js +30 -0
  1148. package/dist/forms/use-viacep.js.map +1 -0
  1149. package/dist/forms/use-zod-form.cjs +2 -0
  1150. package/dist/forms/use-zod-form.cjs.map +1 -0
  1151. package/dist/forms/use-zod-form.js +13 -0
  1152. package/dist/forms/use-zod-form.js.map +1 -0
  1153. package/dist/forms/validate-form.cjs +2 -0
  1154. package/dist/forms/validate-form.cjs.map +1 -0
  1155. package/dist/forms/validate-form.js +22 -0
  1156. package/dist/forms/validate-form.js.map +1 -0
  1157. package/dist/forms/zod-resolver.cjs +2 -0
  1158. package/dist/forms/zod-resolver.cjs.map +1 -0
  1159. package/dist/forms/zod-resolver.js +26 -0
  1160. package/dist/forms/zod-resolver.js.map +1 -0
  1161. package/dist/geo/TrajectoryMap.cjs +2 -0
  1162. package/dist/geo/TrajectoryMap.cjs.map +1 -0
  1163. package/dist/geo/TrajectoryMap.js +241 -0
  1164. package/dist/geo/TrajectoryMap.js.map +1 -0
  1165. package/dist/geo/TrajectoryMap.module.cjs +2 -0
  1166. package/dist/geo/TrajectoryMap.module.cjs.map +1 -0
  1167. package/dist/geo/TrajectoryMap.module.js +20 -0
  1168. package/dist/geo/TrajectoryMap.module.js.map +1 -0
  1169. package/dist/geo/bounds.cjs +2 -0
  1170. package/dist/geo/bounds.cjs.map +1 -0
  1171. package/dist/geo/bounds.js +31 -0
  1172. package/dist/geo/bounds.js.map +1 -0
  1173. package/dist/geo/create-position-tracker.cjs +2 -0
  1174. package/dist/geo/create-position-tracker.cjs.map +1 -0
  1175. package/dist/geo/create-position-tracker.js +58 -0
  1176. package/dist/geo/create-position-tracker.js.map +1 -0
  1177. package/dist/geo/distance.cjs +2 -0
  1178. package/dist/geo/distance.cjs.map +1 -0
  1179. package/dist/geo/distance.js +22 -0
  1180. package/dist/geo/distance.js.map +1 -0
  1181. package/dist/geo/estimate.cjs +2 -0
  1182. package/dist/geo/estimate.cjs.map +1 -0
  1183. package/dist/geo/estimate.js +26 -0
  1184. package/dist/geo/estimate.js.map +1 -0
  1185. package/dist/geo/leaflet-map.cjs +2 -0
  1186. package/dist/geo/leaflet-map.cjs.map +1 -0
  1187. package/dist/geo/leaflet-map.js +63 -0
  1188. package/dist/geo/leaflet-map.js.map +1 -0
  1189. package/dist/geo/projection.cjs +2 -0
  1190. package/dist/geo/projection.cjs.map +1 -0
  1191. package/dist/geo/projection.js +42 -0
  1192. package/dist/geo/projection.js.map +1 -0
  1193. package/dist/geo/routing.cjs +2 -0
  1194. package/dist/geo/routing.cjs.map +1 -0
  1195. package/dist/geo/routing.js +25 -0
  1196. package/dist/geo/routing.js.map +1 -0
  1197. package/dist/geo/types.cjs +2 -0
  1198. package/dist/geo/types.cjs.map +1 -0
  1199. package/dist/geo/types.js +22 -0
  1200. package/dist/geo/types.js.map +1 -0
  1201. package/dist/geo/use-position-tracker.cjs +2 -0
  1202. package/dist/geo/use-position-tracker.cjs.map +1 -0
  1203. package/dist/geo/use-position-tracker.js +36 -0
  1204. package/dist/geo/use-position-tracker.js.map +1 -0
  1205. package/dist/hooks/pwa-env.cjs +2 -0
  1206. package/dist/hooks/pwa-env.cjs.map +1 -0
  1207. package/dist/hooks/pwa-env.js +24 -0
  1208. package/dist/hooks/pwa-env.js.map +1 -0
  1209. package/dist/hooks/use-async.cjs +2 -0
  1210. package/dist/hooks/use-async.cjs.map +1 -0
  1211. package/dist/hooks/use-async.js +58 -0
  1212. package/dist/hooks/use-async.js.map +1 -0
  1213. package/dist/hooks/use-before-install-prompt.cjs +2 -0
  1214. package/dist/hooks/use-before-install-prompt.cjs.map +1 -0
  1215. package/dist/hooks/use-before-install-prompt.js +41 -0
  1216. package/dist/hooks/use-before-install-prompt.js.map +1 -0
  1217. package/dist/hooks/use-breakpoint.cjs +2 -0
  1218. package/dist/hooks/use-breakpoint.cjs.map +1 -0
  1219. package/dist/hooks/use-breakpoint.js +44 -0
  1220. package/dist/hooks/use-breakpoint.js.map +1 -0
  1221. package/dist/hooks/use-click-outside.cjs +2 -0
  1222. package/dist/hooks/use-click-outside.cjs.map +1 -0
  1223. package/dist/hooks/use-click-outside.js +19 -0
  1224. package/dist/hooks/use-click-outside.js.map +1 -0
  1225. package/dist/hooks/use-client-filter.cjs +2 -0
  1226. package/dist/hooks/use-client-filter.cjs.map +1 -0
  1227. package/dist/hooks/use-client-filter.js +19 -0
  1228. package/dist/hooks/use-client-filter.js.map +1 -0
  1229. package/dist/hooks/use-clipboard.cjs +2 -0
  1230. package/dist/hooks/use-clipboard.cjs.map +1 -0
  1231. package/dist/hooks/use-clipboard.js +27 -0
  1232. package/dist/hooks/use-clipboard.js.map +1 -0
  1233. package/dist/hooks/use-counter.cjs +2 -0
  1234. package/dist/hooks/use-counter.cjs.map +1 -0
  1235. package/dist/hooks/use-counter.js +36 -0
  1236. package/dist/hooks/use-counter.js.map +1 -0
  1237. package/dist/hooks/use-debounce.cjs +2 -0
  1238. package/dist/hooks/use-debounce.cjs.map +1 -0
  1239. package/dist/hooks/use-debounce.js +13 -0
  1240. package/dist/hooks/use-debounce.js.map +1 -0
  1241. package/dist/hooks/use-deep-memo.cjs +2 -0
  1242. package/dist/hooks/use-deep-memo.cjs.map +1 -0
  1243. package/dist/hooks/use-deep-memo.js +17 -0
  1244. package/dist/hooks/use-deep-memo.js.map +1 -0
  1245. package/dist/hooks/use-disclosure.cjs +2 -0
  1246. package/dist/hooks/use-disclosure.cjs.map +1 -0
  1247. package/dist/hooks/use-disclosure.js +18 -0
  1248. package/dist/hooks/use-disclosure.js.map +1 -0
  1249. package/dist/hooks/use-document-title.cjs +2 -0
  1250. package/dist/hooks/use-document-title.cjs.map +1 -0
  1251. package/dist/hooks/use-document-title.js +15 -0
  1252. package/dist/hooks/use-document-title.js.map +1 -0
  1253. package/dist/hooks/use-document-visibility.cjs +2 -0
  1254. package/dist/hooks/use-document-visibility.cjs.map +1 -0
  1255. package/dist/hooks/use-document-visibility.js +14 -0
  1256. package/dist/hooks/use-document-visibility.js.map +1 -0
  1257. package/dist/hooks/use-event-listener.cjs +2 -0
  1258. package/dist/hooks/use-event-listener.cjs.map +1 -0
  1259. package/dist/hooks/use-event-listener.js +19 -0
  1260. package/dist/hooks/use-event-listener.js.map +1 -0
  1261. package/dist/hooks/use-favicon.cjs +2 -0
  1262. package/dist/hooks/use-favicon.cjs.map +1 -0
  1263. package/dist/hooks/use-favicon.js +13 -0
  1264. package/dist/hooks/use-favicon.js.map +1 -0
  1265. package/dist/hooks/use-focus-trap.cjs +2 -0
  1266. package/dist/hooks/use-focus-trap.cjs.map +1 -0
  1267. package/dist/hooks/use-focus-trap.js +42 -0
  1268. package/dist/hooks/use-focus-trap.js.map +1 -0
  1269. package/dist/hooks/use-geolocation.cjs +2 -0
  1270. package/dist/hooks/use-geolocation.cjs.map +1 -0
  1271. package/dist/hooks/use-geolocation.js +48 -0
  1272. package/dist/hooks/use-geolocation.js.map +1 -0
  1273. package/dist/hooks/use-hover.cjs +2 -0
  1274. package/dist/hooks/use-hover.cjs.map +1 -0
  1275. package/dist/hooks/use-hover.js +17 -0
  1276. package/dist/hooks/use-hover.js.map +1 -0
  1277. package/dist/hooks/use-idle.cjs +2 -0
  1278. package/dist/hooks/use-idle.cjs.map +1 -0
  1279. package/dist/hooks/use-idle.js +29 -0
  1280. package/dist/hooks/use-idle.js.map +1 -0
  1281. package/dist/hooks/use-install-prompt.cjs +2 -0
  1282. package/dist/hooks/use-install-prompt.cjs.map +1 -0
  1283. package/dist/hooks/use-install-prompt.js +63 -0
  1284. package/dist/hooks/use-install-prompt.js.map +1 -0
  1285. package/dist/hooks/use-intersection-observer.cjs +2 -0
  1286. package/dist/hooks/use-intersection-observer.cjs.map +1 -0
  1287. package/dist/hooks/use-intersection-observer.js +27 -0
  1288. package/dist/hooks/use-intersection-observer.js.map +1 -0
  1289. package/dist/hooks/use-interval.cjs +2 -0
  1290. package/dist/hooks/use-interval.cjs.map +1 -0
  1291. package/dist/hooks/use-interval.js +14 -0
  1292. package/dist/hooks/use-interval.js.map +1 -0
  1293. package/dist/hooks/use-is-first-render.cjs +2 -0
  1294. package/dist/hooks/use-is-first-render.cjs.map +1 -0
  1295. package/dist/hooks/use-is-first-render.js +10 -0
  1296. package/dist/hooks/use-is-first-render.js.map +1 -0
  1297. package/dist/hooks/use-keyboard-shortcut.cjs +2 -0
  1298. package/dist/hooks/use-keyboard-shortcut.cjs.map +1 -0
  1299. package/dist/hooks/use-keyboard-shortcut.js +39 -0
  1300. package/dist/hooks/use-keyboard-shortcut.js.map +1 -0
  1301. package/dist/hooks/use-list-state.cjs +2 -0
  1302. package/dist/hooks/use-list-state.cjs.map +1 -0
  1303. package/dist/hooks/use-list-state.js +52 -0
  1304. package/dist/hooks/use-list-state.js.map +1 -0
  1305. package/dist/hooks/use-local-storage.cjs +2 -0
  1306. package/dist/hooks/use-local-storage.cjs.map +1 -0
  1307. package/dist/hooks/use-local-storage.js +62 -0
  1308. package/dist/hooks/use-local-storage.js.map +1 -0
  1309. package/dist/hooks/use-long-press-handlers.cjs +2 -0
  1310. package/dist/hooks/use-long-press-handlers.cjs.map +1 -0
  1311. package/dist/hooks/use-long-press-handlers.js +33 -0
  1312. package/dist/hooks/use-long-press-handlers.js.map +1 -0
  1313. package/dist/hooks/use-long-press.cjs +2 -0
  1314. package/dist/hooks/use-long-press.cjs.map +1 -0
  1315. package/dist/hooks/use-long-press.js +31 -0
  1316. package/dist/hooks/use-long-press.js.map +1 -0
  1317. package/dist/hooks/use-map.cjs +2 -0
  1318. package/dist/hooks/use-map.cjs.map +1 -0
  1319. package/dist/hooks/use-map.js +38 -0
  1320. package/dist/hooks/use-map.js.map +1 -0
  1321. package/dist/hooks/use-media-query.cjs +2 -0
  1322. package/dist/hooks/use-media-query.cjs.map +1 -0
  1323. package/dist/hooks/use-media-query.js +14 -0
  1324. package/dist/hooks/use-media-query.js.map +1 -0
  1325. package/dist/hooks/use-object-url.cjs +2 -0
  1326. package/dist/hooks/use-object-url.cjs.map +1 -0
  1327. package/dist/hooks/use-object-url.js +17 -0
  1328. package/dist/hooks/use-object-url.js.map +1 -0
  1329. package/dist/hooks/use-online.cjs +2 -0
  1330. package/dist/hooks/use-online.cjs.map +1 -0
  1331. package/dist/hooks/use-online.js +47 -0
  1332. package/dist/hooks/use-online.js.map +1 -0
  1333. package/dist/hooks/use-pagination.cjs +2 -0
  1334. package/dist/hooks/use-pagination.cjs.map +1 -0
  1335. package/dist/hooks/use-pagination.js +16 -0
  1336. package/dist/hooks/use-pagination.js.map +1 -0
  1337. package/dist/hooks/use-previous.cjs +2 -0
  1338. package/dist/hooks/use-previous.cjs.map +1 -0
  1339. package/dist/hooks/use-previous.js +12 -0
  1340. package/dist/hooks/use-previous.js.map +1 -0
  1341. package/dist/hooks/use-queue.cjs +2 -0
  1342. package/dist/hooks/use-queue.cjs.map +1 -0
  1343. package/dist/hooks/use-queue.js +49 -0
  1344. package/dist/hooks/use-queue.js.map +1 -0
  1345. package/dist/hooks/use-resize-observer.cjs +2 -0
  1346. package/dist/hooks/use-resize-observer.cjs.map +1 -0
  1347. package/dist/hooks/use-resize-observer.js +23 -0
  1348. package/dist/hooks/use-resize-observer.js.map +1 -0
  1349. package/dist/hooks/use-scroll-lock.cjs +2 -0
  1350. package/dist/hooks/use-scroll-lock.cjs.map +1 -0
  1351. package/dist/hooks/use-scroll-lock.js +15 -0
  1352. package/dist/hooks/use-scroll-lock.js.map +1 -0
  1353. package/dist/hooks/use-service-worker-update.cjs +2 -0
  1354. package/dist/hooks/use-service-worker-update.cjs.map +1 -0
  1355. package/dist/hooks/use-service-worker-update.js +37 -0
  1356. package/dist/hooks/use-service-worker-update.js.map +1 -0
  1357. package/dist/hooks/use-set.cjs +2 -0
  1358. package/dist/hooks/use-set.cjs.map +1 -0
  1359. package/dist/hooks/use-set.js +44 -0
  1360. package/dist/hooks/use-set.js.map +1 -0
  1361. package/dist/hooks/use-stable-callback.cjs +2 -0
  1362. package/dist/hooks/use-stable-callback.cjs.map +1 -0
  1363. package/dist/hooks/use-stable-callback.js +10 -0
  1364. package/dist/hooks/use-stable-callback.js.map +1 -0
  1365. package/dist/hooks/use-storage-estimate.cjs +2 -0
  1366. package/dist/hooks/use-storage-estimate.cjs.map +1 -0
  1367. package/dist/hooks/use-storage-estimate.js +61 -0
  1368. package/dist/hooks/use-storage-estimate.js.map +1 -0
  1369. package/dist/hooks/use-throttle.cjs +2 -0
  1370. package/dist/hooks/use-throttle.cjs.map +1 -0
  1371. package/dist/hooks/use-throttle.js +17 -0
  1372. package/dist/hooks/use-throttle.js.map +1 -0
  1373. package/dist/hooks/use-timeout.cjs +2 -0
  1374. package/dist/hooks/use-timeout.cjs.map +1 -0
  1375. package/dist/hooks/use-timeout.js +14 -0
  1376. package/dist/hooks/use-timeout.js.map +1 -0
  1377. package/dist/hooks/use-toggle.cjs +2 -0
  1378. package/dist/hooks/use-toggle.cjs.map +1 -0
  1379. package/dist/hooks/use-toggle.js +15 -0
  1380. package/dist/hooks/use-toggle.js.map +1 -0
  1381. package/dist/hooks/use-window-size.cjs +2 -0
  1382. package/dist/hooks/use-window-size.cjs.map +1 -0
  1383. package/dist/hooks/use-window-size.js +23 -0
  1384. package/dist/hooks/use-window-size.js.map +1 -0
  1385. package/dist/http/api-client.cjs +2 -0
  1386. package/dist/http/api-client.cjs.map +1 -0
  1387. package/dist/http/api-client.js +91 -0
  1388. package/dist/http/api-client.js.map +1 -0
  1389. package/dist/http/errors.cjs +2 -0
  1390. package/dist/http/errors.cjs.map +1 -0
  1391. package/dist/http/errors.js +36 -0
  1392. package/dist/http/errors.js.map +1 -0
  1393. package/dist/http/idempotency.cjs +2 -0
  1394. package/dist/http/idempotency.cjs.map +1 -0
  1395. package/dist/http/idempotency.js +11 -0
  1396. package/dist/http/idempotency.js.map +1 -0
  1397. package/dist/http/parse-response.cjs +3 -0
  1398. package/dist/http/parse-response.cjs.map +1 -0
  1399. package/dist/http/parse-response.js +14 -0
  1400. package/dist/http/parse-response.js.map +1 -0
  1401. package/dist/http/retry.cjs +2 -0
  1402. package/dist/http/retry.cjs.map +1 -0
  1403. package/dist/http/retry.js +35 -0
  1404. package/dist/http/retry.js.map +1 -0
  1405. package/dist/http/upload-with-progress.cjs +2 -0
  1406. package/dist/http/upload-with-progress.cjs.map +1 -0
  1407. package/dist/http/upload-with-progress.js +67 -0
  1408. package/dist/http/upload-with-progress.js.map +1 -0
  1409. package/dist/http/use-poll.cjs +2 -0
  1410. package/dist/http/use-poll.cjs.map +1 -0
  1411. package/dist/http/use-poll.js +42 -0
  1412. package/dist/http/use-poll.js.map +1 -0
  1413. package/dist/i18n/I18nProvider.cjs +2 -0
  1414. package/dist/i18n/I18nProvider.cjs.map +1 -0
  1415. package/dist/i18n/I18nProvider.js +55 -0
  1416. package/dist/i18n/I18nProvider.js.map +1 -0
  1417. package/dist/i18n/create-i18n.cjs +2 -0
  1418. package/dist/i18n/create-i18n.cjs.map +1 -0
  1419. package/dist/i18n/create-i18n.js +54 -0
  1420. package/dist/i18n/create-i18n.js.map +1 -0
  1421. package/dist/logger/logger.cjs +2 -0
  1422. package/dist/logger/logger.cjs.map +1 -0
  1423. package/dist/logger/logger.js +44 -0
  1424. package/dist/logger/logger.js.map +1 -0
  1425. package/dist/oauth/GoogleSignIn.cjs +2 -0
  1426. package/dist/oauth/GoogleSignIn.cjs.map +1 -0
  1427. package/dist/oauth/GoogleSignIn.js +42 -0
  1428. package/dist/oauth/GoogleSignIn.js.map +1 -0
  1429. package/dist/oauth/use-oauth-callback.cjs +2 -0
  1430. package/dist/oauth/use-oauth-callback.cjs.map +1 -0
  1431. package/dist/oauth/use-oauth-callback.js +30 -0
  1432. package/dist/oauth/use-oauth-callback.js.map +1 -0
  1433. package/dist/offline/conflict.cjs +2 -0
  1434. package/dist/offline/conflict.cjs.map +1 -0
  1435. package/dist/offline/conflict.js +17 -0
  1436. package/dist/offline/conflict.js.map +1 -0
  1437. package/dist/offline/create-offline-store.cjs +2 -0
  1438. package/dist/offline/create-offline-store.cjs.map +1 -0
  1439. package/dist/offline/create-offline-store.js +49 -0
  1440. package/dist/offline/create-offline-store.js.map +1 -0
  1441. package/dist/offline/create-offline-sync.cjs +2 -0
  1442. package/dist/offline/create-offline-sync.cjs.map +1 -0
  1443. package/dist/offline/create-offline-sync.js +138 -0
  1444. package/dist/offline/create-offline-sync.js.map +1 -0
  1445. package/dist/offline/use-offline-sync.cjs +2 -0
  1446. package/dist/offline/use-offline-sync.cjs.map +1 -0
  1447. package/dist/offline/use-offline-sync.js +42 -0
  1448. package/dist/offline/use-offline-sync.js.map +1 -0
  1449. package/dist/push/use-push-subscription.cjs +2 -0
  1450. package/dist/push/use-push-subscription.cjs.map +1 -0
  1451. package/dist/push/use-push-subscription.js +62 -0
  1452. package/dist/push/use-push-subscription.js.map +1 -0
  1453. package/dist/push/utils.cjs +2 -0
  1454. package/dist/push/utils.cjs.map +1 -0
  1455. package/dist/push/utils.js +13 -0
  1456. package/dist/push/utils.js.map +1 -0
  1457. package/dist/push/web-push-client.cjs +2 -0
  1458. package/dist/push/web-push-client.cjs.map +1 -0
  1459. package/dist/push/web-push-client.js +54 -0
  1460. package/dist/push/web-push-client.js.map +1 -0
  1461. package/dist/query/QueryProvider.cjs +2 -0
  1462. package/dist/query/QueryProvider.cjs.map +1 -0
  1463. package/dist/query/QueryProvider.js +28 -0
  1464. package/dist/query/QueryProvider.js.map +1 -0
  1465. package/dist/query/constants.cjs +2 -0
  1466. package/dist/query/constants.cjs.map +1 -0
  1467. package/dist/query/constants.js +20 -0
  1468. package/dist/query/constants.js.map +1 -0
  1469. package/dist/query/create-query-keys.cjs +2 -0
  1470. package/dist/query/create-query-keys.cjs.map +1 -0
  1471. package/dist/query/create-query-keys.js +10 -0
  1472. package/dist/query/create-query-keys.js.map +1 -0
  1473. package/dist/query/offline-persistence.cjs +2 -0
  1474. package/dist/query/offline-persistence.cjs.map +1 -0
  1475. package/dist/query/offline-persistence.js +44 -0
  1476. package/dist/query/offline-persistence.js.map +1 -0
  1477. package/dist/query/optimistic.cjs +2 -0
  1478. package/dist/query/optimistic.cjs.map +1 -0
  1479. package/dist/query/optimistic.js +22 -0
  1480. package/dist/query/optimistic.js.map +1 -0
  1481. package/dist/query/pagination.cjs +2 -0
  1482. package/dist/query/pagination.cjs.map +1 -0
  1483. package/dist/query/pagination.js +24 -0
  1484. package/dist/query/pagination.js.map +1 -0
  1485. package/dist/query/use-cursor-query.cjs +2 -0
  1486. package/dist/query/use-cursor-query.cjs.map +1 -0
  1487. package/dist/query/use-cursor-query.js +34 -0
  1488. package/dist/query/use-cursor-query.js.map +1 -0
  1489. package/dist/query/use-offline-mutation.cjs +2 -0
  1490. package/dist/query/use-offline-mutation.cjs.map +1 -0
  1491. package/dist/query/use-offline-mutation.js +31 -0
  1492. package/dist/query/use-offline-mutation.js.map +1 -0
  1493. package/dist/query/use-paginated-query.cjs +2 -0
  1494. package/dist/query/use-paginated-query.cjs.map +1 -0
  1495. package/dist/query/use-paginated-query.js +43 -0
  1496. package/dist/query/use-paginated-query.js.map +1 -0
  1497. package/dist/router/AppRouter.cjs +2 -0
  1498. package/dist/router/AppRouter.cjs.map +1 -0
  1499. package/dist/router/AppRouter.js +61 -0
  1500. package/dist/router/AppRouter.js.map +1 -0
  1501. package/dist/router/RouteGuard.cjs +2 -0
  1502. package/dist/router/RouteGuard.cjs.map +1 -0
  1503. package/dist/router/RouteGuard.js +13 -0
  1504. package/dist/router/RouteGuard.js.map +1 -0
  1505. package/dist/router/index.js +4 -0
  1506. package/dist/share/share-or-download.cjs +2 -0
  1507. package/dist/share/share-or-download.cjs.map +1 -0
  1508. package/dist/share/share-or-download.js +15 -0
  1509. package/dist/share/share-or-download.js.map +1 -0
  1510. package/dist/share/share.cjs +2 -0
  1511. package/dist/share/share.cjs.map +1 -0
  1512. package/dist/share/share.js +33 -0
  1513. package/dist/share/share.js.map +1 -0
  1514. package/dist/sse/create-event-stream.cjs +2 -0
  1515. package/dist/sse/create-event-stream.cjs.map +1 -0
  1516. package/dist/sse/create-event-stream.js +61 -0
  1517. package/dist/sse/create-event-stream.js.map +1 -0
  1518. package/dist/sse/use-event-stream.cjs +2 -0
  1519. package/dist/sse/use-event-stream.cjs.map +1 -0
  1520. package/dist/sse/use-event-stream.js +30 -0
  1521. package/dist/sse/use-event-stream.js.map +1 -0
  1522. package/dist/store/create-selectors.cjs +2 -0
  1523. package/dist/store/create-selectors.cjs.map +1 -0
  1524. package/dist/store/create-selectors.js +11 -0
  1525. package/dist/store/create-selectors.js.map +1 -0
  1526. package/dist/store/create-store.cjs +2 -0
  1527. package/dist/store/create-store.cjs.map +1 -0
  1528. package/dist/store/create-store.js +18 -0
  1529. package/dist/store/create-store.js.map +1 -0
  1530. package/dist/styles.css +2 -1
  1531. package/dist/sw/background-sync.cjs +2 -0
  1532. package/dist/sw/background-sync.cjs.map +1 -0
  1533. package/dist/sw/background-sync.js +98 -0
  1534. package/dist/sw/background-sync.js.map +1 -0
  1535. package/dist/sw/cache-inspect.cjs +2 -0
  1536. package/dist/sw/cache-inspect.cjs.map +1 -0
  1537. package/dist/sw/cache-inspect.js +49 -0
  1538. package/dist/sw/cache-inspect.js.map +1 -0
  1539. package/dist/sw/cache.cjs +2 -0
  1540. package/dist/sw/cache.cjs.map +1 -0
  1541. package/dist/sw/cache.js +144 -0
  1542. package/dist/sw/cache.js.map +1 -0
  1543. package/dist/sw/create-push-handler.cjs +2 -0
  1544. package/dist/sw/create-push-handler.cjs.map +1 -0
  1545. package/dist/sw/create-push-handler.js +65 -0
  1546. package/dist/sw/create-push-handler.js.map +1 -0
  1547. package/dist/sw/periodic-sync.cjs +2 -0
  1548. package/dist/sw/periodic-sync.cjs.map +1 -0
  1549. package/dist/sw/periodic-sync.js +16 -0
  1550. package/dist/sw/periodic-sync.js.map +1 -0
  1551. package/dist/sw/register-service-worker.cjs +2 -0
  1552. package/dist/sw/register-service-worker.cjs.map +1 -0
  1553. package/dist/sw/register-service-worker.js +44 -0
  1554. package/dist/sw/register-service-worker.js.map +1 -0
  1555. package/dist/sw.cjs +1 -2
  1556. package/dist/sw.d.ts +99 -0
  1557. package/dist/sw.js +7 -377
  1558. package/dist/telemetry/TelemetryProvider.cjs +2 -0
  1559. package/dist/telemetry/TelemetryProvider.cjs.map +1 -0
  1560. package/dist/telemetry/TelemetryProvider.js +21 -0
  1561. package/dist/telemetry/TelemetryProvider.js.map +1 -0
  1562. package/dist/telemetry/console-adapter.cjs +2 -0
  1563. package/dist/telemetry/console-adapter.cjs.map +1 -0
  1564. package/dist/telemetry/console-adapter.js +16 -0
  1565. package/dist/telemetry/console-adapter.js.map +1 -0
  1566. package/dist/telemetry/posthog-adapter.cjs +2 -0
  1567. package/dist/telemetry/posthog-adapter.cjs.map +1 -0
  1568. package/dist/telemetry/posthog-adapter.js +44 -0
  1569. package/dist/telemetry/posthog-adapter.js.map +1 -0
  1570. package/dist/telemetry/sentry-adapter.cjs +2 -0
  1571. package/dist/telemetry/sentry-adapter.cjs.map +1 -0
  1572. package/dist/telemetry/sentry-adapter.js +40 -0
  1573. package/dist/telemetry/sentry-adapter.js.map +1 -0
  1574. package/dist/tempest-react-sdk.cjs +1 -15
  1575. package/dist/tempest-react-sdk.d.ts +1094 -333
  1576. package/dist/tempest-react-sdk.js +255 -9473
  1577. package/dist/testing/create-mock-handlers.cjs +2 -0
  1578. package/dist/testing/create-mock-handlers.cjs.map +1 -0
  1579. package/dist/testing/create-mock-handlers.js +15 -0
  1580. package/dist/testing/create-mock-handlers.js.map +1 -0
  1581. package/dist/testing.cjs +1 -2
  1582. package/dist/testing.js +2 -14
  1583. package/dist/theme/ThemeProvider.cjs +2 -0
  1584. package/dist/theme/ThemeProvider.cjs.map +1 -0
  1585. package/dist/theme/ThemeProvider.js +74 -0
  1586. package/dist/theme/ThemeProvider.js.map +1 -0
  1587. package/dist/theme/initial-theme.cjs +11 -0
  1588. package/dist/theme/initial-theme.cjs.map +1 -0
  1589. package/dist/theme/initial-theme.js +30 -0
  1590. package/dist/theme/initial-theme.js.map +1 -0
  1591. package/dist/utils/arrays.cjs +2 -0
  1592. package/dist/utils/arrays.cjs.map +1 -0
  1593. package/dist/utils/arrays.js +34 -0
  1594. package/dist/utils/arrays.js.map +1 -0
  1595. package/dist/utils/cn.cjs +2 -0
  1596. package/dist/utils/cn.cjs.map +1 -0
  1597. package/dist/utils/cn.js +17 -0
  1598. package/dist/utils/cn.js.map +1 -0
  1599. package/dist/utils/format.cjs +2 -0
  1600. package/dist/utils/format.cjs.map +1 -0
  1601. package/dist/utils/format.js +36 -0
  1602. package/dist/utils/format.js.map +1 -0
  1603. package/dist/utils/functions.cjs +2 -0
  1604. package/dist/utils/functions.cjs.map +1 -0
  1605. package/dist/utils/functions.js +43 -0
  1606. package/dist/utils/functions.js.map +1 -0
  1607. package/dist/utils/guards.cjs +2 -0
  1608. package/dist/utils/guards.cjs.map +1 -0
  1609. package/dist/utils/guards.js +22 -0
  1610. package/dist/utils/guards.js.map +1 -0
  1611. package/dist/utils/ids.cjs +2 -0
  1612. package/dist/utils/ids.cjs.map +1 -0
  1613. package/dist/utils/ids.js +9 -0
  1614. package/dist/utils/ids.js.map +1 -0
  1615. package/dist/utils/numbers.cjs +2 -0
  1616. package/dist/utils/numbers.cjs.map +1 -0
  1617. package/dist/utils/numbers.js +30 -0
  1618. package/dist/utils/numbers.js.map +1 -0
  1619. package/dist/utils/objects.cjs +2 -0
  1620. package/dist/utils/objects.cjs.map +1 -0
  1621. package/dist/utils/objects.js +32 -0
  1622. package/dist/utils/objects.js.map +1 -0
  1623. package/dist/utils/promises.cjs +2 -0
  1624. package/dist/utils/promises.cjs.map +1 -0
  1625. package/dist/utils/promises.js +21 -0
  1626. package/dist/utils/promises.js.map +1 -0
  1627. package/dist/utils/relative-time.cjs +2 -0
  1628. package/dist/utils/relative-time.cjs.map +1 -0
  1629. package/dist/utils/relative-time.js +71 -0
  1630. package/dist/utils/relative-time.js.map +1 -0
  1631. package/dist/utils/storage.cjs +2 -0
  1632. package/dist/utils/storage.cjs.map +1 -0
  1633. package/dist/utils/storage.js +26 -0
  1634. package/dist/utils/storage.js.map +1 -0
  1635. package/dist/utils/strings.cjs +2 -0
  1636. package/dist/utils/strings.cjs.map +1 -0
  1637. package/dist/utils/strings.js +29 -0
  1638. package/dist/utils/strings.js.map +1 -0
  1639. package/dist/utils/xlsx.cjs +2 -0
  1640. package/dist/utils/xlsx.cjs.map +1 -0
  1641. package/dist/utils/xlsx.js +52 -0
  1642. package/dist/utils/xlsx.js.map +1 -0
  1643. package/dist/vision/core/canvas.cjs +2 -0
  1644. package/dist/vision/core/canvas.cjs.map +1 -0
  1645. package/dist/vision/core/canvas.js +32 -0
  1646. package/dist/vision/core/canvas.js.map +1 -0
  1647. package/dist/vision/core/exceptions.cjs +2 -0
  1648. package/dist/vision/core/exceptions.cjs.map +1 -0
  1649. package/dist/vision/core/exceptions.js +10 -0
  1650. package/dist/vision/core/exceptions.js.map +1 -0
  1651. package/dist/vision/core/providers.cjs +2 -0
  1652. package/dist/vision/core/providers.cjs.map +1 -0
  1653. package/dist/vision/core/providers.js +9 -0
  1654. package/dist/vision/core/providers.js.map +1 -0
  1655. package/dist/vision/core/session.cjs +2 -0
  1656. package/dist/vision/core/session.cjs.map +1 -0
  1657. package/dist/vision/core/session.js +48 -0
  1658. package/dist/vision/core/session.js.map +1 -0
  1659. package/dist/vision/index.cjs +2 -0
  1660. package/dist/vision/index.cjs.map +1 -0
  1661. package/dist/vision/index.js +21 -0
  1662. package/dist/vision/index.js.map +1 -0
  1663. package/dist/vision/io/image.cjs +2 -0
  1664. package/dist/vision/io/image.cjs.map +1 -0
  1665. package/dist/vision/io/image.js +57 -0
  1666. package/dist/vision/io/image.js.map +1 -0
  1667. package/dist/vision/labels.cjs +2 -0
  1668. package/dist/vision/labels.cjs.map +1 -0
  1669. package/dist/vision/labels.js +31 -0
  1670. package/dist/vision/labels.js.map +1 -0
  1671. package/dist/vision/luminance.cjs +2 -0
  1672. package/dist/vision/luminance.cjs.map +1 -0
  1673. package/dist/vision/luminance.js +40 -0
  1674. package/dist/vision/luminance.js.map +1 -0
  1675. package/dist/vision/postprocess/classification.cjs +2 -0
  1676. package/dist/vision/postprocess/classification.cjs.map +1 -0
  1677. package/dist/vision/postprocess/classification.js +33 -0
  1678. package/dist/vision/postprocess/classification.js.map +1 -0
  1679. package/dist/vision/postprocess/detection.cjs +2 -0
  1680. package/dist/vision/postprocess/detection.cjs.map +1 -0
  1681. package/dist/vision/postprocess/detection.js +129 -0
  1682. package/dist/vision/postprocess/detection.js.map +1 -0
  1683. package/dist/vision/postprocess/segmentation.cjs +2 -0
  1684. package/dist/vision/postprocess/segmentation.cjs.map +1 -0
  1685. package/dist/vision/postprocess/segmentation.js +103 -0
  1686. package/dist/vision/postprocess/segmentation.js.map +1 -0
  1687. package/dist/vision/preprocess/image.cjs +2 -0
  1688. package/dist/vision/preprocess/image.cjs.map +1 -0
  1689. package/dist/vision/preprocess/image.js +72 -0
  1690. package/dist/vision/preprocess/image.js.map +1 -0
  1691. package/dist/vision/results.cjs +2 -0
  1692. package/dist/vision/results.cjs.map +1 -0
  1693. package/dist/vision/results.js +165 -0
  1694. package/dist/vision/results.js.map +1 -0
  1695. package/dist/vision/tasks/base.cjs +2 -0
  1696. package/dist/vision/tasks/base.cjs.map +1 -0
  1697. package/dist/vision/tasks/base.js +14 -0
  1698. package/dist/vision/tasks/base.js.map +1 -0
  1699. package/dist/vision/tasks/classifier.cjs +2 -0
  1700. package/dist/vision/tasks/classifier.cjs.map +1 -0
  1701. package/dist/vision/tasks/classifier.js +90 -0
  1702. package/dist/vision/tasks/classifier.js.map +1 -0
  1703. package/dist/vision/tasks/detector.cjs +2 -0
  1704. package/dist/vision/tasks/detector.cjs.map +1 -0
  1705. package/dist/vision/tasks/detector.js +112 -0
  1706. package/dist/vision/tasks/detector.js.map +1 -0
  1707. package/dist/vision/tasks/segmenter.cjs +2 -0
  1708. package/dist/vision/tasks/segmenter.cjs.map +1 -0
  1709. package/dist/vision/tasks/segmenter.js +144 -0
  1710. package/dist/vision/tasks/segmenter.js.map +1 -0
  1711. package/dist/vision/types.cjs +2 -0
  1712. package/dist/vision/types.cjs.map +1 -0
  1713. package/dist/vision/types.js +108 -0
  1714. package/dist/vision/types.js.map +1 -0
  1715. package/dist/vision/use-camera-stream.cjs +2 -0
  1716. package/dist/vision/use-camera-stream.cjs.map +1 -0
  1717. package/dist/vision/use-camera-stream.js +82 -0
  1718. package/dist/vision/use-camera-stream.js.map +1 -0
  1719. package/dist/vision/use-live-luminance.cjs +2 -0
  1720. package/dist/vision/use-live-luminance.cjs.map +1 -0
  1721. package/dist/vision/use-live-luminance.js +27 -0
  1722. package/dist/vision/use-live-luminance.js.map +1 -0
  1723. package/dist/vision.cjs +1 -2
  1724. package/dist/vision.js +20 -1561
  1725. package/dist/vite/create-vite-config.cjs +2 -0
  1726. package/dist/vite/create-vite-config.cjs.map +1 -0
  1727. package/dist/vite/create-vite-config.js +44 -0
  1728. package/dist/vite/create-vite-config.js.map +1 -0
  1729. package/dist/vite/tempest-pwa-dev-sw.cjs +2 -0
  1730. package/dist/vite/tempest-pwa-dev-sw.cjs.map +1 -0
  1731. package/dist/vite/tempest-pwa-dev-sw.js +47 -0
  1732. package/dist/vite/tempest-pwa-dev-sw.js.map +1 -0
  1733. package/dist/vite/tempest-pwa-icons.cjs +2 -0
  1734. package/dist/vite/tempest-pwa-icons.cjs.map +1 -0
  1735. package/dist/vite/tempest-pwa-icons.js +181 -0
  1736. package/dist/vite/tempest-pwa-icons.js.map +1 -0
  1737. package/dist/vite/tempest-pwa-manifest.cjs +3 -0
  1738. package/dist/vite/tempest-pwa-manifest.cjs.map +1 -0
  1739. package/dist/vite/tempest-pwa-manifest.js +37 -0
  1740. package/dist/vite/tempest-pwa-manifest.js.map +1 -0
  1741. package/dist/vite.cjs +1 -4
  1742. package/dist/vite.js +5 -265
  1743. package/dist/ws/create-web-socket.cjs +2 -0
  1744. package/dist/ws/create-web-socket.cjs.map +1 -0
  1745. package/dist/ws/create-web-socket.js +70 -0
  1746. package/dist/ws/create-web-socket.js.map +1 -0
  1747. package/dist/ws/use-web-socket.cjs +2 -0
  1748. package/dist/ws/use-web-socket.cjs.map +1 -0
  1749. package/dist/ws/use-web-socket.js +33 -0
  1750. package/dist/ws/use-web-socket.js.map +1 -0
  1751. package/package.json +26 -19
  1752. package/template/eslint.config.js +8 -1
  1753. package/template/package.json +15 -15
  1754. package/template/src/App.tsx +1 -0
  1755. package/template/src/layouts/RootLayout.tsx +1 -0
  1756. package/template/src/lib/api.ts +1 -0
  1757. package/template/src/main.tsx +3 -1
  1758. package/template/src/pages/Login.tsx +1 -0
  1759. package/template/src/routes.tsx +2 -1
  1760. package/template-pwa/package.json +1 -1
  1761. package/template-pwa/src/main.tsx +11 -20
  1762. package/template-pwa/src/pwa.tsx +42 -0
  1763. package/dist/AC-Brw7ZrEs.cjs +0 -2
  1764. package/dist/AC-Brw7ZrEs.cjs.map +0 -1
  1765. package/dist/AC-DLl3Z4oj.js +0 -12
  1766. package/dist/AC-DLl3Z4oj.js.map +0 -1
  1767. package/dist/AL-DPGoZjht.cjs +0 -2
  1768. package/dist/AL-DPGoZjht.cjs.map +0 -1
  1769. package/dist/AL-gswGaWlj.js +0 -12
  1770. package/dist/AL-gswGaWlj.js.map +0 -1
  1771. package/dist/AM-QN1eL4Tn.js +0 -12
  1772. package/dist/AM-QN1eL4Tn.js.map +0 -1
  1773. package/dist/AM-VqNWvsI-.cjs +0 -2
  1774. package/dist/AM-VqNWvsI-.cjs.map +0 -1
  1775. package/dist/AP-CPvBa_FK.cjs +0 -2
  1776. package/dist/AP-CPvBa_FK.cjs.map +0 -1
  1777. package/dist/AP-CRAbh1js.js +0 -12
  1778. package/dist/AP-CRAbh1js.js.map +0 -1
  1779. package/dist/BA-CKy_HnnV.js +0 -12
  1780. package/dist/BA-CKy_HnnV.js.map +0 -1
  1781. package/dist/BA-DoMQ6slK.cjs +0 -2
  1782. package/dist/BA-DoMQ6slK.cjs.map +0 -1
  1783. package/dist/CE-Ca-XMDFW.js +0 -12
  1784. package/dist/CE-Ca-XMDFW.js.map +0 -1
  1785. package/dist/CE-as-pGPQa.cjs +0 -2
  1786. package/dist/CE-as-pGPQa.cjs.map +0 -1
  1787. package/dist/DF-8kzFoovF.js +0 -12
  1788. package/dist/DF-8kzFoovF.js.map +0 -1
  1789. package/dist/DF-Wr8WNxSX.cjs +0 -2
  1790. package/dist/DF-Wr8WNxSX.cjs.map +0 -1
  1791. package/dist/ES-B4uWNG6s.js +0 -12
  1792. package/dist/ES-B4uWNG6s.js.map +0 -1
  1793. package/dist/ES-wKVjD_TM.cjs +0 -2
  1794. package/dist/ES-wKVjD_TM.cjs.map +0 -1
  1795. package/dist/GO-D4m4rOqy.cjs +0 -2
  1796. package/dist/GO-D4m4rOqy.cjs.map +0 -1
  1797. package/dist/GO-DuaAgIfo.js +0 -12
  1798. package/dist/GO-DuaAgIfo.js.map +0 -1
  1799. package/dist/MA-BmaUZZKe.cjs +0 -2
  1800. package/dist/MA-BmaUZZKe.cjs.map +0 -1
  1801. package/dist/MA-wOyPxG_M.js +0 -12
  1802. package/dist/MA-wOyPxG_M.js.map +0 -1
  1803. package/dist/MG-BYsqJd-S.js +0 -12
  1804. package/dist/MG-BYsqJd-S.js.map +0 -1
  1805. package/dist/MG-BchdfJXp.cjs +0 -2
  1806. package/dist/MG-BchdfJXp.cjs.map +0 -1
  1807. package/dist/MS-DZkgtN_7.js +0 -12
  1808. package/dist/MS-DZkgtN_7.js.map +0 -1
  1809. package/dist/MS-Dz9lDw37.cjs +0 -2
  1810. package/dist/MS-Dz9lDw37.cjs.map +0 -1
  1811. package/dist/MT-BkVchoah.cjs +0 -2
  1812. package/dist/MT-BkVchoah.cjs.map +0 -1
  1813. package/dist/MT-GmMwFWw2.js +0 -12
  1814. package/dist/MT-GmMwFWw2.js.map +0 -1
  1815. package/dist/PA-C2FpT6Ew.cjs +0 -2
  1816. package/dist/PA-C2FpT6Ew.cjs.map +0 -1
  1817. package/dist/PA-DgyDzDFi.js +0 -12
  1818. package/dist/PA-DgyDzDFi.js.map +0 -1
  1819. package/dist/PB-BGkzbQup.cjs +0 -2
  1820. package/dist/PB-BGkzbQup.cjs.map +0 -1
  1821. package/dist/PB-D-6NE6KM.js +0 -12
  1822. package/dist/PB-D-6NE6KM.js.map +0 -1
  1823. package/dist/PE-D8V7gWY-.cjs +0 -2
  1824. package/dist/PE-D8V7gWY-.cjs.map +0 -1
  1825. package/dist/PE-vqm-t7Nh.js +0 -12
  1826. package/dist/PE-vqm-t7Nh.js.map +0 -1
  1827. package/dist/PI-CILuGJlW.js +0 -12
  1828. package/dist/PI-CILuGJlW.js.map +0 -1
  1829. package/dist/PI-dJYCbXQM.cjs +0 -2
  1830. package/dist/PI-dJYCbXQM.cjs.map +0 -1
  1831. package/dist/PR-DN8AV__r.js +0 -12
  1832. package/dist/PR-DN8AV__r.js.map +0 -1
  1833. package/dist/PR-P17oBdNH.cjs +0 -2
  1834. package/dist/PR-P17oBdNH.cjs.map +0 -1
  1835. package/dist/RJ-Bccz05Em.js +0 -12
  1836. package/dist/RJ-Bccz05Em.js.map +0 -1
  1837. package/dist/RJ-Budqx7QP.cjs +0 -2
  1838. package/dist/RJ-Budqx7QP.cjs.map +0 -1
  1839. package/dist/RN-DLcJBxo3.cjs +0 -2
  1840. package/dist/RN-DLcJBxo3.cjs.map +0 -1
  1841. package/dist/RN-DTqFP-Nm.js +0 -12
  1842. package/dist/RN-DTqFP-Nm.js.map +0 -1
  1843. package/dist/RO-BCC54UTU.js +0 -12
  1844. package/dist/RO-BCC54UTU.js.map +0 -1
  1845. package/dist/RO-B_IDyci4.cjs +0 -2
  1846. package/dist/RO-B_IDyci4.cjs.map +0 -1
  1847. package/dist/RR-CDGUEyla.cjs +0 -2
  1848. package/dist/RR-CDGUEyla.cjs.map +0 -1
  1849. package/dist/RR-OCnI_XpU.js +0 -12
  1850. package/dist/RR-OCnI_XpU.js.map +0 -1
  1851. package/dist/RS-DiBeY_u5.cjs +0 -2
  1852. package/dist/RS-DiBeY_u5.cjs.map +0 -1
  1853. package/dist/RS-Dy7gBbbH.js +0 -12
  1854. package/dist/RS-Dy7gBbbH.js.map +0 -1
  1855. package/dist/SC-CEMoj8g2.cjs +0 -2
  1856. package/dist/SC-CEMoj8g2.cjs.map +0 -1
  1857. package/dist/SC-trCqQDXz.js +0 -12
  1858. package/dist/SC-trCqQDXz.js.map +0 -1
  1859. package/dist/SE-DAfFbZcK.cjs +0 -2
  1860. package/dist/SE-DAfFbZcK.cjs.map +0 -1
  1861. package/dist/SE-DBdfSrGk.js +0 -12
  1862. package/dist/SE-DBdfSrGk.js.map +0 -1
  1863. package/dist/SP-Cse4d68i.cjs +0 -2
  1864. package/dist/SP-Cse4d68i.cjs.map +0 -1
  1865. package/dist/SP-qPZjJDOT.js +0 -12
  1866. package/dist/SP-qPZjJDOT.js.map +0 -1
  1867. package/dist/TO-CZtMDVug.js +0 -12
  1868. package/dist/TO-CZtMDVug.js.map +0 -1
  1869. package/dist/TO-Dwi5zIyF.cjs +0 -2
  1870. package/dist/TO-Dwi5zIyF.cjs.map +0 -1
  1871. package/dist/br-centroids--O7-1KXz.cjs +0 -2
  1872. package/dist/br-centroids--O7-1KXz.cjs.map +0 -1
  1873. package/dist/br-centroids-IHN7PIzD.js +0 -10
  1874. package/dist/br-centroids-IHN7PIzD.js.map +0 -1
  1875. package/dist/br-geo-BYynYOwK.cjs +0 -2
  1876. package/dist/br-geo-BYynYOwK.cjs.map +0 -1
  1877. package/dist/br-geo-DFRuvjuU.js +0 -8
  1878. package/dist/br-geo-DFRuvjuU.js.map +0 -1
  1879. package/dist/charts.cjs.map +0 -1
  1880. package/dist/charts.js.map +0 -1
  1881. package/dist/cn-C0Sxc9eb.js +0 -19
  1882. package/dist/cn-C0Sxc9eb.js.map +0 -1
  1883. package/dist/cn-CNScIEB4.cjs +0 -2
  1884. package/dist/cn-CNScIEB4.cjs.map +0 -1
  1885. package/dist/editor.cjs.map +0 -1
  1886. package/dist/editor.js.map +0 -1
  1887. package/dist/leaflet-map-BHBcL_7k.js +0 -51
  1888. package/dist/leaflet-map-BHBcL_7k.js.map +0 -1
  1889. package/dist/leaflet-map-BzYV9czG.cjs +0 -2
  1890. package/dist/leaflet-map-BzYV9czG.cjs.map +0 -1
  1891. package/dist/projection-CILVBdpd.cjs +0 -2
  1892. package/dist/projection-CILVBdpd.cjs.map +0 -1
  1893. package/dist/projection-Wnqr_svy.js +0 -215
  1894. package/dist/projection-Wnqr_svy.js.map +0 -1
  1895. package/dist/sw.cjs.map +0 -1
  1896. package/dist/sw.js.map +0 -1
  1897. package/dist/tempest-react-sdk.cjs.map +0 -1
  1898. package/dist/tempest-react-sdk.js.map +0 -1
  1899. package/dist/testing.cjs.map +0 -1
  1900. package/dist/testing.js.map +0 -1
  1901. package/dist/vision.cjs.map +0 -1
  1902. package/dist/vision.js.map +0 -1
  1903. package/dist/vite.cjs.map +0 -1
  1904. package/dist/vite.js.map +0 -1
@@ -0,0 +1,144 @@
1
+ import { Mask as e, RGBImage as t } from "../types.js";
2
+ import { Boxes as n, Masks as r, SegmentationResults as i } from "../results.js";
3
+ import { resolveLabels as a } from "../labels.js";
4
+ import { OrtSession as o } from "../core/session.js";
5
+ import { loadImage as s } from "../io/image.js";
6
+ import { letterbox as c, toCHW as l, toFloat32 as u, toFloat32Tensor as d } from "../preprocess/image.js";
7
+ import { decodeYoloSeg as f } from "../postprocess/segmentation.js";
8
+ import { VisionTask as p } from "./base.js";
9
+ //#region src/vision/tasks/segmenter.ts
10
+ var m = class m extends p {
11
+ _head;
12
+ _labels;
13
+ _names;
14
+ _inputSize;
15
+ _confThreshold;
16
+ _iouThreshold;
17
+ _maxDetections;
18
+ _maskThreshold;
19
+ constructor(e, t, n, r, i, a, o, s, c) {
20
+ super(e), this._head = t, this._labels = n, this._names = r, this._inputSize = i, this._confThreshold = a, this._iouThreshold = o, this._maxDetections = s, this._maskThreshold = c;
21
+ }
22
+ static async create(e, t = {}) {
23
+ let n = t.head ?? "yolo-seg";
24
+ if (n !== "yolo-seg") throw Error(`Unsupported segmenter head '${n}'. Supported: 'yolo-seg'.`);
25
+ let r = await o.create(e, t), i = a(t.labels ?? "coco", { numClasses: t.numClasses }), s = {};
26
+ for (let e = 0; e < i.length; e++) s[e] = i[e];
27
+ return new m(r, n, i, s, t.inputSize ?? [640, 640], t.confThreshold ?? .25, t.iouThreshold ?? .45, t.maxDetections ?? 300, t.maskThreshold ?? .5);
28
+ }
29
+ get head() {
30
+ return this._head;
31
+ }
32
+ get labels() {
33
+ return this._labels;
34
+ }
35
+ get names() {
36
+ return this._names;
37
+ }
38
+ get numClasses() {
39
+ return this._labels.length;
40
+ }
41
+ async call(e, t = {}) {
42
+ return this.predict(e, t);
43
+ }
44
+ async predict(e, t = {}) {
45
+ let n = typeof e == "string" ? e : null, r = await s(e), { tensor: a, scale: o, padLeft: c, padTop: l } = this._preprocess(r), u = await this._session.run({ [this._session.inputName]: a }), { perAnchor: d, prototypes: p } = this._splitOutputs(u), m = f(d.data, d.dims, p.data, p.dims, {
46
+ numClasses: this._labels.length,
47
+ inputWidth: this._inputSize[0],
48
+ inputHeight: this._inputSize[1],
49
+ originalWidth: r.width,
50
+ originalHeight: r.height,
51
+ padLeft: c,
52
+ padTop: l,
53
+ scale: o,
54
+ confThreshold: t.confThreshold ?? this._confThreshold,
55
+ iouThreshold: t.iouThreshold ?? this._iouThreshold,
56
+ maxDetections: this._maxDetections,
57
+ maskThreshold: this._maskThreshold
58
+ }), h = (t.classes === void 0 ? m : (() => {
59
+ let e = new Set(t.classes);
60
+ return m.filter((t) => e.has(t.classId));
61
+ })()).map((e) => this._buildResult(r, e.bbox, e.classId, e.confidence, e.mask)), g = [r.height, r.width];
62
+ return [new i(this._buildBoxes(h, g), this._buildMasks(h, g), h, this._names, r, g, n)];
63
+ }
64
+ _preprocess(e) {
65
+ let [t, n] = this._inputSize, r = c(e, t, n);
66
+ return {
67
+ tensor: d(l(u(r.image), r.image.width, r.image.height, 3), [
68
+ 1,
69
+ 3,
70
+ r.image.height,
71
+ r.image.width
72
+ ]),
73
+ scale: r.scale,
74
+ padLeft: r.padLeft,
75
+ padTop: r.padTop
76
+ };
77
+ }
78
+ _splitOutputs(e) {
79
+ let t, n;
80
+ for (let r of this._session.outputNames) {
81
+ let i = e[r];
82
+ i !== void 0 && (i.dims.length === 3 && t === void 0 ? t = i : i.dims.length === 4 && n === void 0 && (n = i));
83
+ }
84
+ if (t === void 0 || n === void 0) {
85
+ let t = this._session.outputNames.map((t) => `${t}: ${JSON.stringify(e[t]?.dims ?? [])}`);
86
+ throw Error(`Segmenter expected one 3-D and one 4-D output, got [${t.join(", ")}].`);
87
+ }
88
+ return {
89
+ perAnchor: t,
90
+ prototypes: n
91
+ };
92
+ }
93
+ _buildResult(n, r, i, a, o) {
94
+ let [s, c, l, u] = r.asIntXyxy(), d = Math.max(0, s), f = Math.max(0, c), p = Math.min(n.width, l), m = Math.min(n.height, u), h, g = o;
95
+ if (p > d && m > f && o.data.length > 0) {
96
+ let r = p - d, i = m - f, a = Math.min(o.width, r), s = Math.min(o.height, i), c = new Uint8Array(a * s * 3);
97
+ for (let e = 0; e < s; e++) {
98
+ let t = ((f + e) * n.width + d) * 3, r = e * a * 3, i = e * o.width;
99
+ for (let e = 0; e < a; e++) if (o.data[i + e] !== 0) {
100
+ let i = t + e * 3, a = r + e * 3;
101
+ c[a] = n.data[i], c[a + 1] = n.data[i + 1], c[a + 2] = n.data[i + 2];
102
+ }
103
+ }
104
+ if (h = new t(c, a, s), a !== o.width || s !== o.height) {
105
+ let t = new Uint8Array(a * s);
106
+ for (let e = 0; e < s; e++) t.set(o.data.subarray(e * o.width, e * o.width + a), e * a);
107
+ g = new e(t, a, s);
108
+ }
109
+ } else g = new e(/* @__PURE__ */ new Uint8Array(), 0, 0), h = new t(/* @__PURE__ */ new Uint8Array(), 0, 0);
110
+ let _ = this._names[i] ?? `class_${i}`;
111
+ return {
112
+ classId: i,
113
+ className: _,
114
+ confidence: a,
115
+ bbox: r,
116
+ cls: i,
117
+ name: _,
118
+ conf: a,
119
+ box: r,
120
+ mask: g,
121
+ segmentedImage: h
122
+ };
123
+ }
124
+ _buildBoxes(e, t) {
125
+ let r = e.length, i = new Float32Array(r * 4), a = new Int32Array(r), o = new Float32Array(r);
126
+ for (let t = 0; t < r; t++) {
127
+ let n = e[t];
128
+ i[t * 4] = n.bbox.x1, i[t * 4 + 1] = n.bbox.y1, i[t * 4 + 2] = n.bbox.x2, i[t * 4 + 3] = n.bbox.y2, a[t] = n.classId, o[t] = n.confidence;
129
+ }
130
+ return new n(i, a, o, t);
131
+ }
132
+ _buildMasks(e, t) {
133
+ let n = new Float32Array(e.length * 4);
134
+ for (let t = 0; t < e.length; t++) {
135
+ let r = e[t];
136
+ n[t * 4] = r.bbox.x1, n[t * 4 + 1] = r.bbox.y1, n[t * 4 + 2] = r.bbox.x2, n[t * 4 + 3] = r.bbox.y2;
137
+ }
138
+ return new r(e.map((e) => e.mask), n, t);
139
+ }
140
+ };
141
+ //#endregion
142
+ export { m as Segmenter };
143
+
144
+ //# sourceMappingURL=segmenter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segmenter.js","names":[],"sources":["../../../src/vision/tasks/segmenter.ts"],"sourcesContent":["/**\n * Instance-segmentation task using YOLO seg ONNX models (v8-seg / v11-seg / ...).\n */\n\nimport type * as ort from \"onnxruntime-web\";\n\nimport { type ModelSource, type OrtSessionOptions, OrtSession } from \"../core/session\";\nimport { type ImageInput, loadImage } from \"../io/image\";\nimport { type LabelSpec, resolveLabels } from \"../labels\";\nimport { decodeYoloSeg } from \"../postprocess/segmentation\";\nimport { letterbox, toCHW, toFloat32, toFloat32Tensor } from \"../preprocess/image\";\nimport { Boxes, Masks, SegmentationResults } from \"../results\";\nimport { VisionTask } from \"./base\";\nimport { type BoundingBox, type SegmentationResult, Mask, RGBImage } from \"../types\";\n\n/**\n * Decoder family for the segmentation head.\n *\n * - `\"yolo-seg\"`: YOLO instance-segmentation head with two outputs —\n * `[1, 4 + nc + nm, N]` per-anchor predictions plus `[1, nm, mh, mw]`\n * prototype masks. Covers YOLOv8-seg, v11-seg, v26-seg.\n *\n * The SDK does **not** auto-detect this — the caller is responsible for\n * picking a head that matches their export.\n */\nexport type SegmenterHead = \"yolo-seg\";\n\nexport interface SegmenterOptions extends OrtSessionOptions {\n /**\n * Decoder family for the segmentation head. Default `\"yolo-seg\"` covers\n * YOLOv8-seg/v11-seg/v26-seg.\n */\n readonly head?: SegmenterHead;\n /** Class label spec — see {@link resolveLabels}. Defaults to the COCO 80-class preset. */\n readonly labels?: LabelSpec;\n /** Number of classes — used to validate the supplied labels. */\n readonly numClasses?: number;\n /** Model input `[width, height]` for letterboxing. Defaults to `[640, 640]`. */\n readonly inputSize?: readonly [number, number];\n /** Default minimum class score to keep a candidate. */\n readonly confThreshold?: number;\n /** Default IoU threshold for non-maximum suppression. */\n readonly iouThreshold?: number;\n /** Maximum number of instances per image. */\n readonly maxDetections?: number;\n /** Probability cutoff applied to soft masks. Defaults to `0.5`. */\n readonly maskThreshold?: number;\n}\n\nexport interface SegmenterPredictOptions {\n readonly confThreshold?: number;\n readonly iouThreshold?: number;\n /**\n * If set, keep only instances whose `classId` is in this list.\n * Mirrors Ultralytics' `model.predict(img, classes=[0, 16])`.\n */\n readonly classes?: readonly number[];\n}\n\n/**\n * Instance segmenter for YOLO seg ONNX models (v8-seg / v11-seg / ...).\n *\n * The model is expected to expose two outputs:\n *\n * 1. `output0`: `(1, 4 + numClasses + numMaskCoefs, numAnchors)` — per-anchor\n * predictions (boxes, class scores, mask coefficients).\n * 2. `output1`: `(1, numMaskCoefs, maskH, maskW)` — prototype masks.\n *\n * `predict()` returns `Promise<SegmentationResults[]>` (length 1 for a\n * single image), mirroring Ultralytics' API. The envelope exposes:\n *\n * - `boxes`: bulk numpy view (`xyxy`, `xywh`, `xyxyn`, `xywhn`, `cls`, `conf`).\n * - `masks`: per-instance binary masks cropped to each box.\n * - per-instance {@link SegmentationResult} via iteration.\n *\n * @example\n * ```typescript\n * const seg = await Segmenter.create(\"/models/yolov8n-seg.onnx\");\n * const r = (await seg.predict(\"/images/street.jpg\"))[0];\n * for (const inst of r) {\n * console.log(inst.cls, inst.conf, inst.box.xyxy);\n * }\n * ```\n */\nexport class Segmenter extends VisionTask {\n private constructor(\n session: OrtSession,\n private readonly _head: SegmenterHead,\n private readonly _labels: readonly string[],\n private readonly _names: Readonly<Record<number, string>>,\n private readonly _inputSize: readonly [number, number],\n private readonly _confThreshold: number,\n private readonly _iouThreshold: number,\n private readonly _maxDetections: number,\n private readonly _maskThreshold: number,\n ) {\n super(session);\n }\n\n /** Load the model and resolve labels. */\n static async create(model: ModelSource, options: SegmenterOptions = {}): Promise<Segmenter> {\n const head: SegmenterHead = options.head ?? \"yolo-seg\";\n if (head !== \"yolo-seg\") {\n throw new Error(`Unsupported segmenter head '${head}'. Supported: 'yolo-seg'.`);\n }\n const session = await OrtSession.create(model, options);\n const labels = resolveLabels(options.labels ?? \"coco\", {\n numClasses: options.numClasses,\n });\n const names: Record<number, string> = {};\n for (let i = 0; i < labels.length; i++) {\n names[i] = labels[i] as string;\n }\n return new Segmenter(\n session,\n head,\n labels,\n names,\n options.inputSize ?? [640, 640],\n options.confThreshold ?? 0.25,\n options.iouThreshold ?? 0.45,\n options.maxDetections ?? 300,\n options.maskThreshold ?? 0.5,\n );\n }\n\n /** The decoder family used to interpret the model's output. */\n get head(): SegmenterHead {\n return this._head;\n }\n\n /** Class labels indexed by class id. */\n get labels(): readonly string[] {\n return this._labels;\n }\n\n /** Class id → class name dict (matches Ultralytics' `model.names`). */\n get names(): Readonly<Record<number, string>> {\n return this._names;\n }\n\n /** Number of classes the model predicts. */\n get numClasses(): number {\n return this._labels.length;\n }\n\n /** Alias for {@link predict} (parity with PyTorch `nn.Module.__call__`). */\n async call(\n image: ImageInput,\n options: SegmenterPredictOptions = {},\n ): Promise<SegmentationResults[]> {\n return this.predict(image, options);\n }\n\n /** Run instance segmentation on a single image. */\n async predict(\n image: ImageInput,\n options: SegmenterPredictOptions = {},\n ): Promise<SegmentationResults[]> {\n const path = typeof image === \"string\" ? image : null;\n const original = await loadImage(image);\n const { tensor, scale, padLeft, padTop } = this._preprocess(original);\n const outputs = await this._session.run({ [this._session.inputName]: tensor });\n\n const { perAnchor, prototypes } = this._splitOutputs(outputs);\n\n const decodedAll = decodeYoloSeg(\n perAnchor.data as Float32Array,\n perAnchor.dims,\n prototypes.data as Float32Array,\n prototypes.dims,\n {\n numClasses: this._labels.length,\n inputWidth: this._inputSize[0],\n inputHeight: this._inputSize[1],\n originalWidth: original.width,\n originalHeight: original.height,\n padLeft,\n padTop,\n scale,\n confThreshold: options.confThreshold ?? this._confThreshold,\n iouThreshold: options.iouThreshold ?? this._iouThreshold,\n maxDetections: this._maxDetections,\n maskThreshold: this._maskThreshold,\n },\n );\n\n const decoded =\n options.classes !== undefined\n ? (() => {\n const allowed = new Set(options.classes);\n return decodedAll.filter((d) => allowed.has(d.classId));\n })()\n : decodedAll;\n\n const detections = decoded.map((d) =>\n this._buildResult(original, d.bbox, d.classId, d.confidence, d.mask),\n );\n\n const orig: readonly [number, number] = [original.height, original.width];\n return [\n new SegmentationResults(\n this._buildBoxes(detections, orig),\n this._buildMasks(detections, orig),\n detections,\n this._names,\n original,\n orig,\n path,\n ),\n ];\n }\n\n private _preprocess(image: RGBImage): {\n tensor: ort.Tensor;\n scale: number;\n padLeft: number;\n padTop: number;\n } {\n const [tw, th] = this._inputSize;\n const lb = letterbox(image, tw, th);\n const f32 = toFloat32(lb.image);\n const chw = toCHW(f32, lb.image.width, lb.image.height, 3);\n return {\n tensor: toFloat32Tensor(chw, [1, 3, lb.image.height, lb.image.width]),\n scale: lb.scale,\n padLeft: lb.padLeft,\n padTop: lb.padTop,\n };\n }\n\n private _splitOutputs(outputs: Record<string, ort.Tensor>): {\n perAnchor: ort.Tensor;\n prototypes: ort.Tensor;\n } {\n let perAnchor: ort.Tensor | undefined;\n let prototypes: ort.Tensor | undefined;\n for (const name of this._session.outputNames) {\n const t = outputs[name];\n if (t === undefined) continue;\n if (t.dims.length === 3 && perAnchor === undefined) {\n perAnchor = t;\n } else if (t.dims.length === 4 && prototypes === undefined) {\n prototypes = t;\n }\n }\n if (perAnchor === undefined || prototypes === undefined) {\n const shapes = this._session.outputNames.map(\n (n) => `${n}: ${JSON.stringify(outputs[n]?.dims ?? [])}`,\n );\n throw new Error(\n `Segmenter expected one 3-D and one 4-D output, got [${shapes.join(\", \")}].`,\n );\n }\n return { perAnchor, prototypes };\n }\n\n private _buildResult(\n original: RGBImage,\n bbox: BoundingBox,\n classId: number,\n confidence: number,\n mask: Mask,\n ): SegmentationResult {\n const [x1, y1, x2, y2] = bbox.asIntXyxy();\n const cx1 = Math.max(0, x1);\n const cy1 = Math.max(0, y1);\n const cx2 = Math.min(original.width, x2);\n const cy2 = Math.min(original.height, y2);\n\n let segmentedImage: RGBImage;\n let finalMask = mask;\n if (cx2 > cx1 && cy2 > cy1 && mask.data.length > 0) {\n const cropW = cx2 - cx1;\n const cropH = cy2 - cy1;\n const mw = Math.min(mask.width, cropW);\n const mh = Math.min(mask.height, cropH);\n const segData = new Uint8Array(mw * mh * 3);\n for (let row = 0; row < mh; row++) {\n const srcRowOffset = ((cy1 + row) * original.width + cx1) * 3;\n const dstRowOffset = row * mw * 3;\n const maskRowOffset = row * mask.width;\n for (let col = 0; col < mw; col++) {\n const m = mask.data[maskRowOffset + col];\n if (m !== 0) {\n const s = srcRowOffset + col * 3;\n const d = dstRowOffset + col * 3;\n segData[d] = original.data[s];\n segData[d + 1] = original.data[s + 1];\n segData[d + 2] = original.data[s + 2];\n }\n }\n }\n segmentedImage = new RGBImage(segData, mw, mh);\n if (mw !== mask.width || mh !== mask.height) {\n const trimmed = new Uint8Array(mw * mh);\n for (let row = 0; row < mh; row++) {\n trimmed.set(\n mask.data.subarray(row * mask.width, row * mask.width + mw),\n row * mw,\n );\n }\n finalMask = new Mask(trimmed, mw, mh);\n }\n } else {\n finalMask = new Mask(new Uint8Array(0), 0, 0);\n segmentedImage = new RGBImage(new Uint8Array(0), 0, 0);\n }\n\n const className = this._names[classId] ?? `class_${classId}`;\n\n return {\n classId,\n className,\n confidence,\n bbox,\n cls: classId,\n name: className,\n conf: confidence,\n box: bbox,\n mask: finalMask,\n segmentedImage,\n };\n }\n\n private _buildBoxes(\n detections: readonly SegmentationResult[],\n origShape: readonly [number, number],\n ): Boxes {\n const n = detections.length;\n const xyxy = new Float32Array(n * 4);\n const cls = new Int32Array(n);\n const conf = new Float32Array(n);\n for (let i = 0; i < n; i++) {\n const d = detections[i] as SegmentationResult;\n xyxy[i * 4] = d.bbox.x1;\n xyxy[i * 4 + 1] = d.bbox.y1;\n xyxy[i * 4 + 2] = d.bbox.x2;\n xyxy[i * 4 + 3] = d.bbox.y2;\n cls[i] = d.classId;\n conf[i] = d.confidence;\n }\n return new Boxes(xyxy, cls, conf, origShape);\n }\n\n private _buildMasks(\n detections: readonly SegmentationResult[],\n origShape: readonly [number, number],\n ): Masks {\n const xyxy = new Float32Array(detections.length * 4);\n for (let i = 0; i < detections.length; i++) {\n const d = detections[i] as SegmentationResult;\n xyxy[i * 4] = d.bbox.x1;\n xyxy[i * 4 + 1] = d.bbox.y1;\n xyxy[i * 4 + 2] = d.bbox.x2;\n xyxy[i * 4 + 3] = d.bbox.y2;\n }\n return new Masks(\n detections.map((d) => d.mask),\n xyxy,\n origShape,\n );\n }\n}\n"],"mappings":";;;;;;;;;AAoFA,IAAa,IAAb,MAAa,UAAkB,EAAW;CAGjB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CATrB,YACI,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACF;EADmB,AAEjB,MAAM,CAAO,GATI,KAAA,QAAA,GACA,KAAA,UAAA,GACA,KAAA,SAAA,GACA,KAAA,aAAA,GACA,KAAA,iBAAA,GACA,KAAA,gBAAA,GACA,KAAA,iBAAA,GACA,KAAA,iBAAA;CAGrB;CAGA,aAAa,OAAO,GAAoB,IAA4B,CAAC,GAAuB;EACxF,IAAM,IAAsB,EAAQ,QAAQ;EAC5C,IAAI,MAAS,YACT,MAAU,MAAM,+BAA+B,EAAK,0BAA0B;EAElF,IAAM,IAAU,MAAM,EAAW,OAAO,GAAO,CAAO,GAChD,IAAS,EAAc,EAAQ,UAAU,QAAQ,EACnD,YAAY,EAAQ,WACxB,CAAC,GACK,IAAgC,CAAC;EACvC,KAAK,IAAI,IAAI,GAAG,IAAI,EAAO,QAAQ,KAC/B,EAAM,KAAK,EAAO;EAEtB,OAAO,IAAI,EACP,GACA,GACA,GACA,GACA,EAAQ,aAAa,CAAC,KAAK,GAAG,GAC9B,EAAQ,iBAAiB,KACzB,EAAQ,gBAAgB,KACxB,EAAQ,iBAAiB,KACzB,EAAQ,iBAAiB,EAC7B;CACJ;CAGA,IAAI,OAAsB;EACtB,OAAO,KAAK;CAChB;CAGA,IAAI,SAA4B;EAC5B,OAAO,KAAK;CAChB;CAGA,IAAI,QAA0C;EAC1C,OAAO,KAAK;CAChB;CAGA,IAAI,aAAqB;EACrB,OAAO,KAAK,QAAQ;CACxB;CAGA,MAAM,KACF,GACA,IAAmC,CAAC,GACN;EAC9B,OAAO,KAAK,QAAQ,GAAO,CAAO;CACtC;CAGA,MAAM,QACF,GACA,IAAmC,CAAC,GACN;EAC9B,IAAM,IAAO,OAAO,KAAU,WAAW,IAAQ,MAC3C,IAAW,MAAM,EAAU,CAAK,GAChC,EAAE,WAAQ,UAAO,YAAS,cAAW,KAAK,YAAY,CAAQ,GAC9D,IAAU,MAAM,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,YAAY,EAAO,CAAC,GAEvE,EAAE,cAAW,kBAAe,KAAK,cAAc,CAAO,GAEtD,IAAa,EACf,EAAU,MACV,EAAU,MACV,EAAW,MACX,EAAW,MACX;GACI,YAAY,KAAK,QAAQ;GACzB,YAAY,KAAK,WAAW;GAC5B,aAAa,KAAK,WAAW;GAC7B,eAAe,EAAS;GACxB,gBAAgB,EAAS;GACzB;GACA;GACA;GACA,eAAe,EAAQ,iBAAiB,KAAK;GAC7C,cAAc,EAAQ,gBAAgB,KAAK;GAC3C,eAAe,KAAK;GACpB,eAAe,KAAK;EACxB,CACJ,GAUM,KAPF,EAAQ,YAAY,KAAA,IAKd,WAJO;GACH,IAAM,IAAU,IAAI,IAAI,EAAQ,OAAO;GACvC,OAAO,EAAW,QAAQ,MAAM,EAAQ,IAAI,EAAE,OAAO,CAAC;EAC1D,EAAA,CAAG,EACH,CAEiB,KAAK,MAC5B,KAAK,aAAa,GAAU,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,CACvE,GAEM,IAAkC,CAAC,EAAS,QAAQ,EAAS,KAAK;EACxE,OAAO,CACH,IAAI,EACA,KAAK,YAAY,GAAY,CAAI,GACjC,KAAK,YAAY,GAAY,CAAI,GACjC,GACA,KAAK,QACL,GACA,GACA,CACJ,CACJ;CACJ;CAEA,YAAoB,GAKlB;EACE,IAAM,CAAC,GAAI,KAAM,KAAK,YAChB,IAAK,EAAU,GAAO,GAAI,CAAE;EAGlC,OAAO;GACH,QAAQ,EAFA,EADA,EAAU,EAAG,KACP,GAAK,EAAG,MAAM,OAAO,EAAG,MAAM,QAAQ,CAE5B,GAAK;IAAC;IAAG;IAAG,EAAG,MAAM;IAAQ,EAAG,MAAM;GAAK,CAAC;GACpE,OAAO,EAAG;GACV,SAAS,EAAG;GACZ,QAAQ,EAAG;EACf;CACJ;CAEA,cAAsB,GAGpB;EACE,IAAI,GACA;EACJ,KAAK,IAAM,KAAQ,KAAK,SAAS,aAAa;GAC1C,IAAM,IAAI,EAAQ;GACd,MAAM,KAAA,MACN,EAAE,KAAK,WAAW,KAAK,MAAc,KAAA,IACrC,IAAY,IACL,EAAE,KAAK,WAAW,KAAK,MAAe,KAAA,MAC7C,IAAa;EAErB;EACA,IAAI,MAAc,KAAA,KAAa,MAAe,KAAA,GAAW;GACrD,IAAM,IAAS,KAAK,SAAS,YAAY,KACpC,MAAM,GAAG,EAAE,IAAI,KAAK,UAAU,EAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC,GACzD;GACA,MAAU,MACN,uDAAuD,EAAO,KAAK,IAAI,EAAE,GAC7E;EACJ;EACA,OAAO;GAAE;GAAW;EAAW;CACnC;CAEA,aACI,GACA,GACA,GACA,GACA,GACkB;EAClB,IAAM,CAAC,GAAI,GAAI,GAAI,KAAM,EAAK,UAAU,GAClC,IAAM,KAAK,IAAI,GAAG,CAAE,GACpB,IAAM,KAAK,IAAI,GAAG,CAAE,GACpB,IAAM,KAAK,IAAI,EAAS,OAAO,CAAE,GACjC,IAAM,KAAK,IAAI,EAAS,QAAQ,CAAE,GAEpC,GACA,IAAY;EAChB,IAAI,IAAM,KAAO,IAAM,KAAO,EAAK,KAAK,SAAS,GAAG;GAChD,IAAM,IAAQ,IAAM,GACd,IAAQ,IAAM,GACd,IAAK,KAAK,IAAI,EAAK,OAAO,CAAK,GAC/B,IAAK,KAAK,IAAI,EAAK,QAAQ,CAAK,GAChC,IAAU,IAAI,WAAW,IAAK,IAAK,CAAC;GAC1C,KAAK,IAAI,IAAM,GAAG,IAAM,GAAI,KAAO;IAC/B,IAAM,MAAiB,IAAM,KAAO,EAAS,QAAQ,KAAO,GACtD,IAAe,IAAM,IAAK,GAC1B,IAAgB,IAAM,EAAK;IACjC,KAAK,IAAI,IAAM,GAAG,IAAM,GAAI,KAExB,IADU,EAAK,KAAK,IAAgB,OAC1B,GAAG;KACT,IAAM,IAAI,IAAe,IAAM,GACzB,IAAI,IAAe,IAAM;KAG/B,AAFA,EAAQ,KAAK,EAAS,KAAK,IAC3B,EAAQ,IAAI,KAAK,EAAS,KAAK,IAAI,IACnC,EAAQ,IAAI,KAAK,EAAS,KAAK,IAAI;IACvC;GAER;GAEA,IADA,IAAiB,IAAI,EAAS,GAAS,GAAI,CAAE,GACzC,MAAO,EAAK,SAAS,MAAO,EAAK,QAAQ;IACzC,IAAM,IAAU,IAAI,WAAW,IAAK,CAAE;IACtC,KAAK,IAAI,IAAM,GAAG,IAAM,GAAI,KACxB,EAAQ,IACJ,EAAK,KAAK,SAAS,IAAM,EAAK,OAAO,IAAM,EAAK,QAAQ,CAAE,GAC1D,IAAM,CACV;IAEJ,IAAY,IAAI,EAAK,GAAS,GAAI,CAAE;GACxC;EACJ,OAEI,AADA,IAAY,IAAI,kBAAK,IAAI,WAAY,GAAG,GAAG,CAAC,GAC5C,IAAiB,IAAI,kBAAS,IAAI,WAAY,GAAG,GAAG,CAAC;EAGzD,IAAM,IAAY,KAAK,OAAO,MAAY,SAAS;EAEnD,OAAO;GACH;GACA;GACA;GACA;GACA,KAAK;GACL,MAAM;GACN,MAAM;GACN,KAAK;GACL,MAAM;GACN;EACJ;CACJ;CAEA,YACI,GACA,GACK;EACL,IAAM,IAAI,EAAW,QACf,IAAO,IAAI,aAAa,IAAI,CAAC,GAC7B,IAAM,IAAI,WAAW,CAAC,GACtB,IAAO,IAAI,aAAa,CAAC;EAC/B,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK;GACxB,IAAM,IAAI,EAAW;GAMrB,AALA,EAAK,IAAI,KAAK,EAAE,KAAK,IACrB,EAAK,IAAI,IAAI,KAAK,EAAE,KAAK,IACzB,EAAK,IAAI,IAAI,KAAK,EAAE,KAAK,IACzB,EAAK,IAAI,IAAI,KAAK,EAAE,KAAK,IACzB,EAAI,KAAK,EAAE,SACX,EAAK,KAAK,EAAE;EAChB;EACA,OAAO,IAAI,EAAM,GAAM,GAAK,GAAM,CAAS;CAC/C;CAEA,YACI,GACA,GACK;EACL,IAAM,IAAO,IAAI,aAAa,EAAW,SAAS,CAAC;EACnD,KAAK,IAAI,IAAI,GAAG,IAAI,EAAW,QAAQ,KAAK;GACxC,IAAM,IAAI,EAAW;GAIrB,AAHA,EAAK,IAAI,KAAK,EAAE,KAAK,IACrB,EAAK,IAAI,IAAI,KAAK,EAAE,KAAK,IACzB,EAAK,IAAI,IAAI,KAAK,EAAE,KAAK,IACzB,EAAK,IAAI,IAAI,KAAK,EAAE,KAAK;EAC7B;EACA,OAAO,IAAI,EACP,EAAW,KAAK,MAAM,EAAE,IAAI,GAC5B,GACA,CACJ;CACJ;AACJ"}
@@ -0,0 +1,2 @@
1
+ const e=require("./core/exceptions.cjs");var t=class{data;width;height;constructor(t,n,r){if(this.data=t,this.width=n,this.height=r,t.length!==n*r*3)throw new e.ImageLoadError(`RGBImage data length ${t.length} does not match width * height * 3 = ${n*r*3}.`)}},n=class{x1;y1;x2;y2;constructor(e,t,n,r){this.x1=e,this.y1=t,this.x2=n,this.y2=r}get width(){return Math.max(0,this.x2-this.x1)}get height(){return Math.max(0,this.y2-this.y1)}get area(){return this.width*this.height}get xyxy(){return[this.x1,this.y1,this.x2,this.y2]}get xywh(){return[(this.x1+this.x2)/2,(this.y1+this.y2)/2,this.width,this.height]}xyxyn(e){let[t,n]=e;return n<=0||t<=0?[0,0,0,0]:[this.x1/n,this.y1/t,this.x2/n,this.y2/t]}xywhn(e){let[t,n]=e;if(n<=0||t<=0)return[0,0,0,0];let[r,i,a,o]=this.xywh;return[r/n,i/t,a/n,o/t]}asXyxy(){return[this.x1,this.y1,this.x2,this.y2]}asXywh(){return[this.x1,this.y1,this.width,this.height]}asIntXyxy(){return[Math.trunc(this.x1),Math.trunc(this.y1),Math.trunc(this.x2),Math.trunc(this.y2)]}},r=class{data;width;height;constructor(t,n,r){if(this.data=t,this.width=n,this.height=r,t.length!==n*r)throw new e.ImageLoadError(`Mask data length ${t.length} does not match width * height = ${n*r}.`)}};exports.BoundingBox=n,exports.Mask=r,exports.RGBImage=t;
2
+ //# sourceMappingURL=types.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.cjs","names":[],"sources":["../../src/vision/types.ts"],"sourcesContent":["/**\n * Public output types returned by the SDK's vision tasks.\n *\n * These types form the contract between the SDK and its callers. They mirror\n * the Python `ort-vision-sdk` output dataclasses 1-to-1.\n *\n * Naming is intentionally compatible with the Ultralytics / torchvision idiom\n * (`cls`, `conf`, `box`, `xyxy`, `xywh`, normalized variants) so code ported\n * from those projects keeps working with minimal edits. The original verbose\n * names (`classId`, `className`, `confidence`, `bbox`) are still populated for\n * backwards compatibility.\n */\n\nimport { ImageLoadError } from \"./core/exceptions\";\n\n/**\n * HWC RGB uint8 image — the canonical image format used across the SDK.\n *\n * `data.length` must equal `width * height * 3`. The buffer is laid out row\n * by row, top-to-bottom, with each pixel as `[R, G, B]`.\n */\nexport class RGBImage {\n constructor(\n public readonly data: Uint8Array,\n public readonly width: number,\n public readonly height: number,\n ) {\n if (data.length !== width * height * 3) {\n throw new ImageLoadError(\n `RGBImage data length ${data.length} does not match width * height * 3 = ${\n width * height * 3\n }.`,\n );\n }\n }\n}\n\n/**\n * Axis-aligned bounding box in absolute pixel coordinates (xyxy format).\n *\n * Coordinates refer to the original input image (before any internal resize),\n * so callers can map detections back onto their source image without any\n * additional bookkeeping.\n */\nexport class BoundingBox {\n constructor(\n public readonly x1: number,\n public readonly y1: number,\n public readonly x2: number,\n public readonly y2: number,\n ) {}\n\n /** Box width in pixels (clamped to non-negative). */\n get width(): number {\n return Math.max(0, this.x2 - this.x1);\n }\n\n /** Box height in pixels (clamped to non-negative). */\n get height(): number {\n return Math.max(0, this.y2 - this.y1);\n }\n\n /** Box area in pixels squared. */\n get area(): number {\n return this.width * this.height;\n }\n\n /** The box as `[x1, y1, x2, y2]` in absolute pixels (Ultralytics-style). */\n get xyxy(): readonly [number, number, number, number] {\n return [this.x1, this.y1, this.x2, this.y2];\n }\n\n /**\n * The box as `[cx, cy, w, h]` with `(cx, cy)` at the center.\n *\n * Matches Ultralytics' `boxes.xywh` and YOLO's native head format. For the\n * top-left `[x, y, w, h]` convention, use {@link asXywh}.\n */\n get xywh(): readonly [number, number, number, number] {\n return [(this.x1 + this.x2) / 2, (this.y1 + this.y2) / 2, this.width, this.height];\n }\n\n /**\n * The box as `[x1, y1, x2, y2]` normalized to `[0, 1]`.\n *\n * @param origShape `[height, width]` of the source image, in pixels.\n */\n xyxyn(origShape: readonly [number, number]): readonly [number, number, number, number] {\n const [h, w] = origShape;\n if (w <= 0 || h <= 0) return [0, 0, 0, 0];\n return [this.x1 / w, this.y1 / h, this.x2 / w, this.y2 / h];\n }\n\n /**\n * The box as `[cx, cy, w, h]` normalized to `[0, 1]`.\n *\n * @param origShape `[height, width]` of the source image, in pixels.\n */\n xywhn(origShape: readonly [number, number]): readonly [number, number, number, number] {\n const [h, w] = origShape;\n if (w <= 0 || h <= 0) return [0, 0, 0, 0];\n const [cx, cy, bw, bh] = this.xywh;\n return [cx / w, cy / h, bw / w, bh / h];\n }\n\n /** Returns `[x1, y1, x2, y2]`. */\n asXyxy(): readonly [number, number, number, number] {\n return [this.x1, this.y1, this.x2, this.y2];\n }\n\n /**\n * Returns `[x, y, width, height]` with `(x, y)` at the **top-left**.\n *\n * Note: this is the top-left convention. Ultralytics' `xywh` getter uses\n * **center** coordinates — for that, read {@link xywh}.\n */\n asXywh(): readonly [number, number, number, number] {\n return [this.x1, this.y1, this.width, this.height];\n }\n\n /** Returns `[x1, y1, x2, y2]` truncated to integers, useful for slicing arrays. */\n asIntXyxy(): readonly [number, number, number, number] {\n return [Math.trunc(this.x1), Math.trunc(this.y1), Math.trunc(this.x2), Math.trunc(this.y2)];\n }\n}\n\n/**\n * Probability assigned to a single class for a classification prediction.\n *\n * `cls` / `name` / `conf` are Ultralytics-style aliases populated alongside\n * the verbose `classId` / `className` / `probability` fields.\n */\nexport interface ClassProbability {\n readonly classId: number;\n readonly className: string;\n readonly probability: number;\n /** Alias for `classId` (Ultralytics-style). */\n readonly cls: number;\n /** Alias for `className`. */\n readonly name: string;\n /** Alias for `probability` (Ultralytics-style). */\n readonly conf: number;\n}\n\n/**\n * Output of an image classification inference.\n */\nexport interface ClassificationResult {\n readonly classId: number;\n readonly className: string;\n readonly confidence: number;\n /** Alias for `classId` (Ultralytics-style). */\n readonly cls: number;\n /** Alias for `className`. */\n readonly name: string;\n /** Alias for `confidence` (Ultralytics-style). */\n readonly conf: number;\n /** The original input image as an HWC RGB uint8 array. */\n readonly image: RGBImage;\n /**\n * Probabilities per class, sorted in descending order. The first entry\n * mirrors `classId`, `className`, and `confidence`. When `topK` was passed\n * to `predict`, the array is truncated to that length.\n */\n readonly probabilities: readonly ClassProbability[];\n}\n\n/**\n * Single detected object produced by an object-detection model.\n */\nexport interface DetectionResult {\n readonly classId: number;\n readonly className: string;\n readonly confidence: number;\n readonly bbox: BoundingBox;\n /** Alias for `classId` (Ultralytics-style). */\n readonly cls: number;\n /** Alias for `className`. */\n readonly name: string;\n /** Alias for `confidence` (Ultralytics-style). */\n readonly conf: number;\n /** Alias for `bbox` (Ultralytics-style). */\n readonly box: BoundingBox;\n /**\n * The original image cropped to `bbox`, HWC RGB uint8. Empty boxes\n * (zero area) yield a zero-sized `RGBImage`.\n */\n readonly croppedImage: RGBImage;\n}\n\n/**\n * Single-channel binary or grayscale mask, laid out row-major.\n *\n * `data.length` must equal `width * height`. For binary masks, values are\n * `0` (background) or `255` (foreground); soft masks may use the full\n * `[0, 255]` range.\n */\nexport class Mask {\n constructor(\n public readonly data: Uint8Array,\n public readonly width: number,\n public readonly height: number,\n ) {\n if (data.length !== width * height) {\n throw new ImageLoadError(\n `Mask data length ${data.length} does not match width * height = ${\n width * height\n }.`,\n );\n }\n }\n}\n\n/**\n * Single segmented instance produced by an instance-segmentation model.\n *\n * Mirrors {@link DetectionResult} and adds the per-instance binary mask\n * plus a \"ready-to-display\" background-removed crop.\n */\nexport interface SegmentationResult {\n readonly classId: number;\n readonly className: string;\n readonly confidence: number;\n readonly bbox: BoundingBox;\n /** Alias for `classId` (Ultralytics-style). */\n readonly cls: number;\n /** Alias for `className`. */\n readonly name: string;\n /** Alias for `confidence` (Ultralytics-style). */\n readonly conf: number;\n /** Alias for `bbox` (Ultralytics-style). */\n readonly box: BoundingBox;\n /**\n * Binary mask cropped to `bbox`. Values are `0` (background) or `255`\n * (foreground). Empty boxes yield a zero-sized `Mask`.\n */\n readonly mask: Mask;\n /**\n * The original image cropped to `bbox` with background pixels (where\n * `mask.data[i] === 0`) zeroed out. Empty boxes yield a zero-sized\n * `RGBImage`.\n */\n readonly segmentedImage: RGBImage;\n}\n"],"mappings":"yCAqBA,IAAa,EAAb,KAAsB,CAEE,KACA,MACA,OAHpB,YACI,EACA,EACA,EACF,CACE,GAJgB,KAAA,KAAA,EACA,KAAA,MAAA,EACA,KAAA,OAAA,EAEZ,EAAK,SAAW,EAAQ,EAAS,EACjC,MAAM,IAAI,EAAA,eACN,wBAAwB,EAAK,OAAO,uCAChC,EAAQ,EAAS,EACpB,EACL,CAER,CACJ,EASa,EAAb,KAAyB,CAED,GACA,GACA,GACA,GAJpB,YACI,EACA,EACA,EACA,EACF,CAJkB,KAAA,GAAA,EACA,KAAA,GAAA,EACA,KAAA,GAAA,EACA,KAAA,GAAA,CACjB,CAGH,IAAI,OAAgB,CAChB,OAAO,KAAK,IAAI,EAAG,KAAK,GAAK,KAAK,EAAE,CACxC,CAGA,IAAI,QAAiB,CACjB,OAAO,KAAK,IAAI,EAAG,KAAK,GAAK,KAAK,EAAE,CACxC,CAGA,IAAI,MAAe,CACf,OAAO,KAAK,MAAQ,KAAK,MAC7B,CAGA,IAAI,MAAkD,CAClD,MAAO,CAAC,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,EAAE,CAC9C,CAQA,IAAI,MAAkD,CAClD,MAAO,EAAE,KAAK,GAAK,KAAK,IAAM,GAAI,KAAK,GAAK,KAAK,IAAM,EAAG,KAAK,MAAO,KAAK,MAAM,CACrF,CAOA,MAAM,EAAiF,CACnF,GAAM,CAAC,EAAG,GAAK,EAEf,OADI,GAAK,GAAK,GAAK,EAAU,CAAC,EAAG,EAAG,EAAG,CAAC,EACjC,CAAC,KAAK,GAAK,EAAG,KAAK,GAAK,EAAG,KAAK,GAAK,EAAG,KAAK,GAAK,CAAC,CAC9D,CAOA,MAAM,EAAiF,CACnF,GAAM,CAAC,EAAG,GAAK,EACf,GAAI,GAAK,GAAK,GAAK,EAAG,MAAO,CAAC,EAAG,EAAG,EAAG,CAAC,EACxC,GAAM,CAAC,EAAI,EAAI,EAAI,GAAM,KAAK,KAC9B,MAAO,CAAC,EAAK,EAAG,EAAK,EAAG,EAAK,EAAG,EAAK,CAAC,CAC1C,CAGA,QAAoD,CAChD,MAAO,CAAC,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,EAAE,CAC9C,CAQA,QAAoD,CAChD,MAAO,CAAC,KAAK,GAAI,KAAK,GAAI,KAAK,MAAO,KAAK,MAAM,CACrD,CAGA,WAAuD,CACnD,MAAO,CAAC,KAAK,MAAM,KAAK,EAAE,EAAG,KAAK,MAAM,KAAK,EAAE,EAAG,KAAK,MAAM,KAAK,EAAE,EAAG,KAAK,MAAM,KAAK,EAAE,CAAC,CAC9F,CACJ,EAyEa,EAAb,KAAkB,CAEM,KACA,MACA,OAHpB,YACI,EACA,EACA,EACF,CACE,GAJgB,KAAA,KAAA,EACA,KAAA,MAAA,EACA,KAAA,OAAA,EAEZ,EAAK,SAAW,EAAQ,EACxB,MAAM,IAAI,EAAA,eACN,oBAAoB,EAAK,OAAO,mCAC5B,EAAQ,EACX,EACL,CAER,CACJ"}
@@ -0,0 +1,108 @@
1
+ import { ImageLoadError as e } from "./core/exceptions.js";
2
+ //#region src/vision/types.ts
3
+ var t = class {
4
+ data;
5
+ width;
6
+ height;
7
+ constructor(t, n, r) {
8
+ if (this.data = t, this.width = n, this.height = r, t.length !== n * r * 3) throw new e(`RGBImage data length ${t.length} does not match width * height * 3 = ${n * r * 3}.`);
9
+ }
10
+ }, n = class {
11
+ x1;
12
+ y1;
13
+ x2;
14
+ y2;
15
+ constructor(e, t, n, r) {
16
+ this.x1 = e, this.y1 = t, this.x2 = n, this.y2 = r;
17
+ }
18
+ get width() {
19
+ return Math.max(0, this.x2 - this.x1);
20
+ }
21
+ get height() {
22
+ return Math.max(0, this.y2 - this.y1);
23
+ }
24
+ get area() {
25
+ return this.width * this.height;
26
+ }
27
+ get xyxy() {
28
+ return [
29
+ this.x1,
30
+ this.y1,
31
+ this.x2,
32
+ this.y2
33
+ ];
34
+ }
35
+ get xywh() {
36
+ return [
37
+ (this.x1 + this.x2) / 2,
38
+ (this.y1 + this.y2) / 2,
39
+ this.width,
40
+ this.height
41
+ ];
42
+ }
43
+ xyxyn(e) {
44
+ let [t, n] = e;
45
+ return n <= 0 || t <= 0 ? [
46
+ 0,
47
+ 0,
48
+ 0,
49
+ 0
50
+ ] : [
51
+ this.x1 / n,
52
+ this.y1 / t,
53
+ this.x2 / n,
54
+ this.y2 / t
55
+ ];
56
+ }
57
+ xywhn(e) {
58
+ let [t, n] = e;
59
+ if (n <= 0 || t <= 0) return [
60
+ 0,
61
+ 0,
62
+ 0,
63
+ 0
64
+ ];
65
+ let [r, i, a, o] = this.xywh;
66
+ return [
67
+ r / n,
68
+ i / t,
69
+ a / n,
70
+ o / t
71
+ ];
72
+ }
73
+ asXyxy() {
74
+ return [
75
+ this.x1,
76
+ this.y1,
77
+ this.x2,
78
+ this.y2
79
+ ];
80
+ }
81
+ asXywh() {
82
+ return [
83
+ this.x1,
84
+ this.y1,
85
+ this.width,
86
+ this.height
87
+ ];
88
+ }
89
+ asIntXyxy() {
90
+ return [
91
+ Math.trunc(this.x1),
92
+ Math.trunc(this.y1),
93
+ Math.trunc(this.x2),
94
+ Math.trunc(this.y2)
95
+ ];
96
+ }
97
+ }, r = class {
98
+ data;
99
+ width;
100
+ height;
101
+ constructor(t, n, r) {
102
+ if (this.data = t, this.width = n, this.height = r, t.length !== n * r) throw new e(`Mask data length ${t.length} does not match width * height = ${n * r}.`);
103
+ }
104
+ };
105
+ //#endregion
106
+ export { n as BoundingBox, r as Mask, t as RGBImage };
107
+
108
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../src/vision/types.ts"],"sourcesContent":["/**\n * Public output types returned by the SDK's vision tasks.\n *\n * These types form the contract between the SDK and its callers. They mirror\n * the Python `ort-vision-sdk` output dataclasses 1-to-1.\n *\n * Naming is intentionally compatible with the Ultralytics / torchvision idiom\n * (`cls`, `conf`, `box`, `xyxy`, `xywh`, normalized variants) so code ported\n * from those projects keeps working with minimal edits. The original verbose\n * names (`classId`, `className`, `confidence`, `bbox`) are still populated for\n * backwards compatibility.\n */\n\nimport { ImageLoadError } from \"./core/exceptions\";\n\n/**\n * HWC RGB uint8 image — the canonical image format used across the SDK.\n *\n * `data.length` must equal `width * height * 3`. The buffer is laid out row\n * by row, top-to-bottom, with each pixel as `[R, G, B]`.\n */\nexport class RGBImage {\n constructor(\n public readonly data: Uint8Array,\n public readonly width: number,\n public readonly height: number,\n ) {\n if (data.length !== width * height * 3) {\n throw new ImageLoadError(\n `RGBImage data length ${data.length} does not match width * height * 3 = ${\n width * height * 3\n }.`,\n );\n }\n }\n}\n\n/**\n * Axis-aligned bounding box in absolute pixel coordinates (xyxy format).\n *\n * Coordinates refer to the original input image (before any internal resize),\n * so callers can map detections back onto their source image without any\n * additional bookkeeping.\n */\nexport class BoundingBox {\n constructor(\n public readonly x1: number,\n public readonly y1: number,\n public readonly x2: number,\n public readonly y2: number,\n ) {}\n\n /** Box width in pixels (clamped to non-negative). */\n get width(): number {\n return Math.max(0, this.x2 - this.x1);\n }\n\n /** Box height in pixels (clamped to non-negative). */\n get height(): number {\n return Math.max(0, this.y2 - this.y1);\n }\n\n /** Box area in pixels squared. */\n get area(): number {\n return this.width * this.height;\n }\n\n /** The box as `[x1, y1, x2, y2]` in absolute pixels (Ultralytics-style). */\n get xyxy(): readonly [number, number, number, number] {\n return [this.x1, this.y1, this.x2, this.y2];\n }\n\n /**\n * The box as `[cx, cy, w, h]` with `(cx, cy)` at the center.\n *\n * Matches Ultralytics' `boxes.xywh` and YOLO's native head format. For the\n * top-left `[x, y, w, h]` convention, use {@link asXywh}.\n */\n get xywh(): readonly [number, number, number, number] {\n return [(this.x1 + this.x2) / 2, (this.y1 + this.y2) / 2, this.width, this.height];\n }\n\n /**\n * The box as `[x1, y1, x2, y2]` normalized to `[0, 1]`.\n *\n * @param origShape `[height, width]` of the source image, in pixels.\n */\n xyxyn(origShape: readonly [number, number]): readonly [number, number, number, number] {\n const [h, w] = origShape;\n if (w <= 0 || h <= 0) return [0, 0, 0, 0];\n return [this.x1 / w, this.y1 / h, this.x2 / w, this.y2 / h];\n }\n\n /**\n * The box as `[cx, cy, w, h]` normalized to `[0, 1]`.\n *\n * @param origShape `[height, width]` of the source image, in pixels.\n */\n xywhn(origShape: readonly [number, number]): readonly [number, number, number, number] {\n const [h, w] = origShape;\n if (w <= 0 || h <= 0) return [0, 0, 0, 0];\n const [cx, cy, bw, bh] = this.xywh;\n return [cx / w, cy / h, bw / w, bh / h];\n }\n\n /** Returns `[x1, y1, x2, y2]`. */\n asXyxy(): readonly [number, number, number, number] {\n return [this.x1, this.y1, this.x2, this.y2];\n }\n\n /**\n * Returns `[x, y, width, height]` with `(x, y)` at the **top-left**.\n *\n * Note: this is the top-left convention. Ultralytics' `xywh` getter uses\n * **center** coordinates — for that, read {@link xywh}.\n */\n asXywh(): readonly [number, number, number, number] {\n return [this.x1, this.y1, this.width, this.height];\n }\n\n /** Returns `[x1, y1, x2, y2]` truncated to integers, useful for slicing arrays. */\n asIntXyxy(): readonly [number, number, number, number] {\n return [Math.trunc(this.x1), Math.trunc(this.y1), Math.trunc(this.x2), Math.trunc(this.y2)];\n }\n}\n\n/**\n * Probability assigned to a single class for a classification prediction.\n *\n * `cls` / `name` / `conf` are Ultralytics-style aliases populated alongside\n * the verbose `classId` / `className` / `probability` fields.\n */\nexport interface ClassProbability {\n readonly classId: number;\n readonly className: string;\n readonly probability: number;\n /** Alias for `classId` (Ultralytics-style). */\n readonly cls: number;\n /** Alias for `className`. */\n readonly name: string;\n /** Alias for `probability` (Ultralytics-style). */\n readonly conf: number;\n}\n\n/**\n * Output of an image classification inference.\n */\nexport interface ClassificationResult {\n readonly classId: number;\n readonly className: string;\n readonly confidence: number;\n /** Alias for `classId` (Ultralytics-style). */\n readonly cls: number;\n /** Alias for `className`. */\n readonly name: string;\n /** Alias for `confidence` (Ultralytics-style). */\n readonly conf: number;\n /** The original input image as an HWC RGB uint8 array. */\n readonly image: RGBImage;\n /**\n * Probabilities per class, sorted in descending order. The first entry\n * mirrors `classId`, `className`, and `confidence`. When `topK` was passed\n * to `predict`, the array is truncated to that length.\n */\n readonly probabilities: readonly ClassProbability[];\n}\n\n/**\n * Single detected object produced by an object-detection model.\n */\nexport interface DetectionResult {\n readonly classId: number;\n readonly className: string;\n readonly confidence: number;\n readonly bbox: BoundingBox;\n /** Alias for `classId` (Ultralytics-style). */\n readonly cls: number;\n /** Alias for `className`. */\n readonly name: string;\n /** Alias for `confidence` (Ultralytics-style). */\n readonly conf: number;\n /** Alias for `bbox` (Ultralytics-style). */\n readonly box: BoundingBox;\n /**\n * The original image cropped to `bbox`, HWC RGB uint8. Empty boxes\n * (zero area) yield a zero-sized `RGBImage`.\n */\n readonly croppedImage: RGBImage;\n}\n\n/**\n * Single-channel binary or grayscale mask, laid out row-major.\n *\n * `data.length` must equal `width * height`. For binary masks, values are\n * `0` (background) or `255` (foreground); soft masks may use the full\n * `[0, 255]` range.\n */\nexport class Mask {\n constructor(\n public readonly data: Uint8Array,\n public readonly width: number,\n public readonly height: number,\n ) {\n if (data.length !== width * height) {\n throw new ImageLoadError(\n `Mask data length ${data.length} does not match width * height = ${\n width * height\n }.`,\n );\n }\n }\n}\n\n/**\n * Single segmented instance produced by an instance-segmentation model.\n *\n * Mirrors {@link DetectionResult} and adds the per-instance binary mask\n * plus a \"ready-to-display\" background-removed crop.\n */\nexport interface SegmentationResult {\n readonly classId: number;\n readonly className: string;\n readonly confidence: number;\n readonly bbox: BoundingBox;\n /** Alias for `classId` (Ultralytics-style). */\n readonly cls: number;\n /** Alias for `className`. */\n readonly name: string;\n /** Alias for `confidence` (Ultralytics-style). */\n readonly conf: number;\n /** Alias for `bbox` (Ultralytics-style). */\n readonly box: BoundingBox;\n /**\n * Binary mask cropped to `bbox`. Values are `0` (background) or `255`\n * (foreground). Empty boxes yield a zero-sized `Mask`.\n */\n readonly mask: Mask;\n /**\n * The original image cropped to `bbox` with background pixels (where\n * `mask.data[i] === 0`) zeroed out. Empty boxes yield a zero-sized\n * `RGBImage`.\n */\n readonly segmentedImage: RGBImage;\n}\n"],"mappings":";;AAqBA,IAAa,IAAb,MAAsB;CAEE;CACA;CACA;CAHpB,YACI,GACA,GACA,GACF;EACE,IAJgB,KAAA,OAAA,GACA,KAAA,QAAA,GACA,KAAA,SAAA,GAEZ,EAAK,WAAW,IAAQ,IAAS,GACjC,MAAM,IAAI,EACN,wBAAwB,EAAK,OAAO,uCAChC,IAAQ,IAAS,EACpB,EACL;CAER;AACJ,GASa,IAAb,MAAyB;CAED;CACA;CACA;CACA;CAJpB,YACI,GACA,GACA,GACA,GACF;EADkB,AAHA,KAAA,KAAA,GACA,KAAA,KAAA,GACA,KAAA,KAAA,GACA,KAAA,KAAA;CACjB;CAGH,IAAI,QAAgB;EAChB,OAAO,KAAK,IAAI,GAAG,KAAK,KAAK,KAAK,EAAE;CACxC;CAGA,IAAI,SAAiB;EACjB,OAAO,KAAK,IAAI,GAAG,KAAK,KAAK,KAAK,EAAE;CACxC;CAGA,IAAI,OAAe;EACf,OAAO,KAAK,QAAQ,KAAK;CAC7B;CAGA,IAAI,OAAkD;EAClD,OAAO;GAAC,KAAK;GAAI,KAAK;GAAI,KAAK;GAAI,KAAK;EAAE;CAC9C;CAQA,IAAI,OAAkD;EAClD,OAAO;IAAE,KAAK,KAAK,KAAK,MAAM;IAAI,KAAK,KAAK,KAAK,MAAM;GAAG,KAAK;GAAO,KAAK;EAAM;CACrF;CAOA,MAAM,GAAiF;EACnF,IAAM,CAAC,GAAG,KAAK;EAEf,OADI,KAAK,KAAK,KAAK,IAAU;GAAC;GAAG;GAAG;GAAG;EAAC,IACjC;GAAC,KAAK,KAAK;GAAG,KAAK,KAAK;GAAG,KAAK,KAAK;GAAG,KAAK,KAAK;EAAC;CAC9D;CAOA,MAAM,GAAiF;EACnF,IAAM,CAAC,GAAG,KAAK;EACf,IAAI,KAAK,KAAK,KAAK,GAAG,OAAO;GAAC;GAAG;GAAG;GAAG;EAAC;EACxC,IAAM,CAAC,GAAI,GAAI,GAAI,KAAM,KAAK;EAC9B,OAAO;GAAC,IAAK;GAAG,IAAK;GAAG,IAAK;GAAG,IAAK;EAAC;CAC1C;CAGA,SAAoD;EAChD,OAAO;GAAC,KAAK;GAAI,KAAK;GAAI,KAAK;GAAI,KAAK;EAAE;CAC9C;CAQA,SAAoD;EAChD,OAAO;GAAC,KAAK;GAAI,KAAK;GAAI,KAAK;GAAO,KAAK;EAAM;CACrD;CAGA,YAAuD;EACnD,OAAO;GAAC,KAAK,MAAM,KAAK,EAAE;GAAG,KAAK,MAAM,KAAK,EAAE;GAAG,KAAK,MAAM,KAAK,EAAE;GAAG,KAAK,MAAM,KAAK,EAAE;EAAC;CAC9F;AACJ,GAyEa,IAAb,MAAkB;CAEM;CACA;CACA;CAHpB,YACI,GACA,GACA,GACF;EACE,IAJgB,KAAA,OAAA,GACA,KAAA,QAAA,GACA,KAAA,SAAA,GAEZ,EAAK,WAAW,IAAQ,GACxB,MAAM,IAAI,EACN,oBAAoB,EAAK,OAAO,mCAC5B,IAAQ,EACX,EACL;CAER;AACJ"}
@@ -0,0 +1,2 @@
1
+ let e=require("react");var t={video:{facingMode:{ideal:`environment`},width:{ideal:1920},height:{ideal:1080}},audio:!1};function n(e){if(typeof window>`u`)return{kind:`unsupported`,message:`Camera is unavailable in this environment.`};if(!window.isSecureContext)return{kind:`insecure`,message:`Camera access requires a secure (HTTPS) connection.`};if(e instanceof DOMException)switch(e.name){case`NotAllowedError`:case`SecurityError`:return{kind:`permission-denied`,message:`Camera permission denied. Enable access in your browser settings.`};case`NotFoundError`:case`OverconstrainedError`:return{kind:`no-camera`,message:`No camera available on this device.`};case`NotReadableError`:case`AbortError`:return{kind:`in-use`,message:`The camera is in use by another app. Close it and try again.`}}return{kind:`unknown`,message:e instanceof Error?e.message:`Unexpected error while accessing the camera.`}}function r(r={}){let[i,a]=(0,e.useState)(`loading`),[o,s]=(0,e.useState)(null),[c,l]=(0,e.useState)(0),u=(0,e.useRef)(null),d=(0,e.useRef)(r.constraints??t);return d.current=r.constraints??t,(0,e.useEffect)(()=>{let e=!1,t=null,r=null;async function i(){if(a(`loading`),s(null),typeof navigator>`u`||!navigator.mediaDevices||typeof navigator.mediaDevices.getUserMedia!=`function`){e||(s(typeof window<`u`&&!window.isSecureContext?n(null):{kind:`unsupported`,message:`Camera capture is not supported in this browser.`}),a(`error`));return}try{if(t=await navigator.mediaDevices.getUserMedia(d.current),e){t.getTracks().forEach(e=>e.stop());return}let n=u.current;if(!n){t.getTracks().forEach(e=>e.stop());return}r=n,n.srcObject=t,await n.play().catch(()=>void 0),e||a(`ready`)}catch(t){e||(s(n(t)),a(`error`))}}return i(),()=>{e=!0,t&&t.getTracks().forEach(e=>e.stop()),r&&(r.srcObject=null)}},[c]),{status:i,error:o,videoRef:u,retry:()=>l(e=>e+1)}}exports.useCameraStream=r;
2
+ //# sourceMappingURL=use-camera-stream.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-camera-stream.cjs","names":[],"sources":["../../src/vision/use-camera-stream.ts"],"sourcesContent":["import { useEffect, useRef, useState, type RefObject } from \"react\";\n\n/** Lifecycle status of the camera stream. */\nexport type CameraStreamStatus = \"idle\" | \"loading\" | \"ready\" | \"error\";\n\n/** Classified reason a camera stream could not be acquired. */\nexport type CameraStreamErrorKind =\n \"unsupported\" | \"permission-denied\" | \"no-camera\" | \"in-use\" | \"insecure\" | \"unknown\";\n\n/** A classified camera error with a human-readable, English message. */\nexport interface CameraStreamError {\n kind: CameraStreamErrorKind;\n message: string;\n}\n\n/** Options for {@link useCameraStream}. */\nexport interface UseCameraStreamOptions {\n /**\n * Constraints passed to `getUserMedia`. Defaults to the rear\n * (\"environment\") camera at Full-HD ideal resolution with audio off.\n * Read when the stream (re)starts — change it and call `retry()` to apply.\n */\n constraints?: MediaStreamConstraints;\n}\n\n/** Value returned by {@link useCameraStream}. */\nexport interface UseCameraStreamApi {\n /** Current lifecycle status. */\n status: CameraStreamStatus;\n /** The classified error, or `null` while not in the `error` status. */\n error: CameraStreamError | null;\n /** Attach to a `<video ref={…} />`. The stream is wired to it once ready. */\n videoRef: RefObject<HTMLVideoElement | null>;\n /** Manually re-attempt after an error (e.g. the user changed permissions). */\n retry: () => void;\n}\n\n/** Rear-camera Full-HD defaults used when no `constraints` are supplied. */\nconst DEFAULT_CONSTRAINTS: MediaStreamConstraints = {\n video: {\n facingMode: { ideal: \"environment\" },\n width: { ideal: 1920 },\n height: { ideal: 1080 },\n },\n audio: false,\n};\n\n/**\n * Map an unknown failure into a {@link CameraStreamError}. Secure-context and\n * environment checks run first (they are the reason `getUserMedia` is missing\n * or rejects), then the `DOMException.name` is mapped to a stable `kind`.\n */\nfunction classifyError(err: unknown): CameraStreamError {\n if (typeof window === \"undefined\") {\n return { kind: \"unsupported\", message: \"Camera is unavailable in this environment.\" };\n }\n if (!window.isSecureContext) {\n return {\n kind: \"insecure\",\n message: \"Camera access requires a secure (HTTPS) connection.\",\n };\n }\n if (err instanceof DOMException) {\n switch (err.name) {\n case \"NotAllowedError\":\n case \"SecurityError\":\n return {\n kind: \"permission-denied\",\n message: \"Camera permission denied. Enable access in your browser settings.\",\n };\n case \"NotFoundError\":\n case \"OverconstrainedError\":\n return {\n kind: \"no-camera\",\n message: \"No camera available on this device.\",\n };\n case \"NotReadableError\":\n case \"AbortError\":\n return {\n kind: \"in-use\",\n message: \"The camera is in use by another app. Close it and try again.\",\n };\n }\n }\n return {\n kind: \"unknown\",\n message:\n err instanceof Error ? err.message : \"Unexpected error while accessing the camera.\",\n };\n}\n\n/**\n * Acquire a `MediaStream` via `getUserMedia`, attach it to a `<video>` element,\n * and expose status/error so the page can render permission and error states.\n * The stream is automatically released on unmount or retry.\n *\n * Defaults to the rear (\"environment\") camera; desktops fall back to whatever\n * single camera they expose. Pass `options.constraints` to override.\n *\n * Implementation notes:\n * - Cleanup detaches the stream from a *snapshotted* video node, so it releases\n * the same element it attached to even if the page remounts the `<video>`.\n * - When `getUserMedia` is missing, an insecure context is the usual cause, so\n * the hook prefers that (actionable) error; otherwise it reports `unsupported`.\n * - `video.play()` rejections are swallowed: autoplay may be blocked, but the\n * user gesture that opened the camera usually counts and playback resumes on\n * the next interaction.\n *\n * @param options - optional configuration (see {@link UseCameraStreamOptions}).\n * @returns The stream status, classified error, a `videoRef` to attach, and a\n * `retry()` to re-attempt acquisition.\n */\nexport function useCameraStream(options: UseCameraStreamOptions = {}): UseCameraStreamApi {\n const [status, setStatus] = useState<CameraStreamStatus>(\"loading\");\n const [error, setError] = useState<CameraStreamError | null>(null);\n const [retryToken, setRetryToken] = useState(0);\n const videoRef = useRef<HTMLVideoElement | null>(null);\n const constraintsRef = useRef<MediaStreamConstraints>(\n options.constraints ?? DEFAULT_CONSTRAINTS,\n );\n constraintsRef.current = options.constraints ?? DEFAULT_CONSTRAINTS;\n\n useEffect(() => {\n let cancelled = false;\n let stream: MediaStream | null = null;\n let attachedVideo: HTMLVideoElement | null = null;\n\n async function start(): Promise<void> {\n setStatus(\"loading\");\n setError(null);\n\n if (\n typeof navigator === \"undefined\" ||\n !navigator.mediaDevices ||\n typeof navigator.mediaDevices.getUserMedia !== \"function\"\n ) {\n if (!cancelled) {\n setError(\n typeof window !== \"undefined\" && !window.isSecureContext\n ? classifyError(null)\n : {\n kind: \"unsupported\",\n message: \"Camera capture is not supported in this browser.\",\n },\n );\n setStatus(\"error\");\n }\n return;\n }\n\n try {\n stream = await navigator.mediaDevices.getUserMedia(constraintsRef.current);\n if (cancelled) {\n stream.getTracks().forEach((track) => track.stop());\n return;\n }\n const video = videoRef.current;\n if (!video) {\n stream.getTracks().forEach((track) => track.stop());\n return;\n }\n attachedVideo = video;\n video.srcObject = stream;\n await video.play().catch(() => undefined);\n if (!cancelled) setStatus(\"ready\");\n } catch (err) {\n if (!cancelled) {\n setError(classifyError(err));\n setStatus(\"error\");\n }\n }\n }\n\n void start();\n\n return () => {\n cancelled = true;\n if (stream) {\n stream.getTracks().forEach((track) => track.stop());\n }\n if (attachedVideo) {\n attachedVideo.srcObject = null;\n }\n };\n }, [retryToken]);\n\n return {\n status,\n error,\n videoRef,\n retry: () => setRetryToken((n) => n + 1),\n };\n}\n"],"mappings":"uBAsCA,IAAM,EAA8C,CAChD,MAAO,CACH,WAAY,CAAE,MAAO,aAAc,EACnC,MAAO,CAAE,MAAO,IAAK,EACrB,OAAQ,CAAE,MAAO,IAAK,CAC1B,EACA,MAAO,EACX,EAOA,SAAS,EAAc,EAAiC,CACpD,GAAI,OAAO,OAAW,IAClB,MAAO,CAAE,KAAM,cAAe,QAAS,4CAA6C,EAExF,GAAI,CAAC,OAAO,gBACR,MAAO,CACH,KAAM,WACN,QAAS,qDACb,EAEJ,GAAI,aAAe,aACf,OAAQ,EAAI,KAAZ,CACI,IAAK,kBACL,IAAK,gBACD,MAAO,CACH,KAAM,oBACN,QAAS,mEACb,EACJ,IAAK,gBACL,IAAK,uBACD,MAAO,CACH,KAAM,YACN,QAAS,qCACb,EACJ,IAAK,mBACL,IAAK,aACD,MAAO,CACH,KAAM,SACN,QAAS,8DACb,CACR,CAEJ,MAAO,CACH,KAAM,UACN,QACI,aAAe,MAAQ,EAAI,QAAU,8CAC7C,CACJ,CAuBA,SAAgB,EAAgB,EAAkC,CAAC,EAAuB,CACtF,GAAM,CAAC,EAAQ,IAAA,EAAA,EAAA,SAAA,CAA0C,SAAS,EAC5D,CAAC,EAAO,IAAA,EAAA,EAAA,SAAA,CAA+C,IAAI,EAC3D,CAAC,EAAY,IAAA,EAAA,EAAA,SAAA,CAA0B,CAAC,EACxC,GAAA,EAAA,EAAA,OAAA,CAA2C,IAAI,EAC/C,GAAA,EAAA,EAAA,OAAA,CACF,EAAQ,aAAe,CAC3B,EAmEA,MAlEA,GAAe,QAAU,EAAQ,aAAe,GAEhD,EAAA,EAAA,UAAA,KAAgB,CACZ,IAAI,EAAY,GACZ,EAA6B,KAC7B,EAAyC,KAE7C,eAAe,GAAuB,CAIlC,GAHA,EAAU,SAAS,EACnB,EAAS,IAAI,EAGT,OAAO,UAAc,KACrB,CAAC,UAAU,cACX,OAAO,UAAU,aAAa,cAAiB,WACjD,CACO,IACD,EACI,OAAO,OAAW,KAAe,CAAC,OAAO,gBACnC,EAAc,IAAI,EAClB,CACI,KAAM,cACN,QAAS,kDACb,CACV,EACA,EAAU,OAAO,GAErB,MACJ,CAEA,GAAI,CAEA,GADA,EAAS,MAAM,UAAU,aAAa,aAAa,EAAe,OAAO,EACrE,EAAW,CACX,EAAO,UAAU,CAAC,CAAC,QAAS,GAAU,EAAM,KAAK,CAAC,EAClD,MACJ,CACA,IAAM,EAAQ,EAAS,QACvB,GAAI,CAAC,EAAO,CACR,EAAO,UAAU,CAAC,CAAC,QAAS,GAAU,EAAM,KAAK,CAAC,EAClD,MACJ,CACA,EAAgB,EAChB,EAAM,UAAY,EAClB,MAAM,EAAM,KAAK,CAAC,CAAC,UAAY,IAAA,EAAS,EACnC,GAAW,EAAU,OAAO,CACrC,OAAS,EAAK,CACL,IACD,EAAS,EAAc,CAAG,CAAC,EAC3B,EAAU,OAAO,EAEzB,CACJ,CAIA,OAFA,EAAW,MAEE,CACT,EAAY,GACR,GACA,EAAO,UAAU,CAAC,CAAC,QAAS,GAAU,EAAM,KAAK,CAAC,EAElD,IACA,EAAc,UAAY,KAElC,CACJ,EAAG,CAAC,CAAU,CAAC,EAER,CACH,SACA,QACA,WACA,UAAa,EAAe,GAAM,EAAI,CAAC,CAC3C,CACJ"}
@@ -0,0 +1,82 @@
1
+ import { useEffect as e, useRef as t, useState as n } from "react";
2
+ //#region src/vision/use-camera-stream.ts
3
+ var r = {
4
+ video: {
5
+ facingMode: { ideal: "environment" },
6
+ width: { ideal: 1920 },
7
+ height: { ideal: 1080 }
8
+ },
9
+ audio: !1
10
+ };
11
+ function i(e) {
12
+ if (typeof window > "u") return {
13
+ kind: "unsupported",
14
+ message: "Camera is unavailable in this environment."
15
+ };
16
+ if (!window.isSecureContext) return {
17
+ kind: "insecure",
18
+ message: "Camera access requires a secure (HTTPS) connection."
19
+ };
20
+ if (e instanceof DOMException) switch (e.name) {
21
+ case "NotAllowedError":
22
+ case "SecurityError": return {
23
+ kind: "permission-denied",
24
+ message: "Camera permission denied. Enable access in your browser settings."
25
+ };
26
+ case "NotFoundError":
27
+ case "OverconstrainedError": return {
28
+ kind: "no-camera",
29
+ message: "No camera available on this device."
30
+ };
31
+ case "NotReadableError":
32
+ case "AbortError": return {
33
+ kind: "in-use",
34
+ message: "The camera is in use by another app. Close it and try again."
35
+ };
36
+ }
37
+ return {
38
+ kind: "unknown",
39
+ message: e instanceof Error ? e.message : "Unexpected error while accessing the camera."
40
+ };
41
+ }
42
+ function a(a = {}) {
43
+ let [o, s] = n("loading"), [c, l] = n(null), [u, d] = n(0), f = t(null), p = t(a.constraints ?? r);
44
+ return p.current = a.constraints ?? r, e(() => {
45
+ let e = !1, t = null, n = null;
46
+ async function r() {
47
+ if (s("loading"), l(null), typeof navigator > "u" || !navigator.mediaDevices || typeof navigator.mediaDevices.getUserMedia != "function") {
48
+ e || (l(typeof window < "u" && !window.isSecureContext ? i(null) : {
49
+ kind: "unsupported",
50
+ message: "Camera capture is not supported in this browser."
51
+ }), s("error"));
52
+ return;
53
+ }
54
+ try {
55
+ if (t = await navigator.mediaDevices.getUserMedia(p.current), e) {
56
+ t.getTracks().forEach((e) => e.stop());
57
+ return;
58
+ }
59
+ let r = f.current;
60
+ if (!r) {
61
+ t.getTracks().forEach((e) => e.stop());
62
+ return;
63
+ }
64
+ n = r, r.srcObject = t, await r.play().catch(() => void 0), e || s("ready");
65
+ } catch (t) {
66
+ e || (l(i(t)), s("error"));
67
+ }
68
+ }
69
+ return r(), () => {
70
+ e = !0, t && t.getTracks().forEach((e) => e.stop()), n && (n.srcObject = null);
71
+ };
72
+ }, [u]), {
73
+ status: o,
74
+ error: c,
75
+ videoRef: f,
76
+ retry: () => d((e) => e + 1)
77
+ };
78
+ }
79
+ //#endregion
80
+ export { a as useCameraStream };
81
+
82
+ //# sourceMappingURL=use-camera-stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-camera-stream.js","names":[],"sources":["../../src/vision/use-camera-stream.ts"],"sourcesContent":["import { useEffect, useRef, useState, type RefObject } from \"react\";\n\n/** Lifecycle status of the camera stream. */\nexport type CameraStreamStatus = \"idle\" | \"loading\" | \"ready\" | \"error\";\n\n/** Classified reason a camera stream could not be acquired. */\nexport type CameraStreamErrorKind =\n \"unsupported\" | \"permission-denied\" | \"no-camera\" | \"in-use\" | \"insecure\" | \"unknown\";\n\n/** A classified camera error with a human-readable, English message. */\nexport interface CameraStreamError {\n kind: CameraStreamErrorKind;\n message: string;\n}\n\n/** Options for {@link useCameraStream}. */\nexport interface UseCameraStreamOptions {\n /**\n * Constraints passed to `getUserMedia`. Defaults to the rear\n * (\"environment\") camera at Full-HD ideal resolution with audio off.\n * Read when the stream (re)starts — change it and call `retry()` to apply.\n */\n constraints?: MediaStreamConstraints;\n}\n\n/** Value returned by {@link useCameraStream}. */\nexport interface UseCameraStreamApi {\n /** Current lifecycle status. */\n status: CameraStreamStatus;\n /** The classified error, or `null` while not in the `error` status. */\n error: CameraStreamError | null;\n /** Attach to a `<video ref={…} />`. The stream is wired to it once ready. */\n videoRef: RefObject<HTMLVideoElement | null>;\n /** Manually re-attempt after an error (e.g. the user changed permissions). */\n retry: () => void;\n}\n\n/** Rear-camera Full-HD defaults used when no `constraints` are supplied. */\nconst DEFAULT_CONSTRAINTS: MediaStreamConstraints = {\n video: {\n facingMode: { ideal: \"environment\" },\n width: { ideal: 1920 },\n height: { ideal: 1080 },\n },\n audio: false,\n};\n\n/**\n * Map an unknown failure into a {@link CameraStreamError}. Secure-context and\n * environment checks run first (they are the reason `getUserMedia` is missing\n * or rejects), then the `DOMException.name` is mapped to a stable `kind`.\n */\nfunction classifyError(err: unknown): CameraStreamError {\n if (typeof window === \"undefined\") {\n return { kind: \"unsupported\", message: \"Camera is unavailable in this environment.\" };\n }\n if (!window.isSecureContext) {\n return {\n kind: \"insecure\",\n message: \"Camera access requires a secure (HTTPS) connection.\",\n };\n }\n if (err instanceof DOMException) {\n switch (err.name) {\n case \"NotAllowedError\":\n case \"SecurityError\":\n return {\n kind: \"permission-denied\",\n message: \"Camera permission denied. Enable access in your browser settings.\",\n };\n case \"NotFoundError\":\n case \"OverconstrainedError\":\n return {\n kind: \"no-camera\",\n message: \"No camera available on this device.\",\n };\n case \"NotReadableError\":\n case \"AbortError\":\n return {\n kind: \"in-use\",\n message: \"The camera is in use by another app. Close it and try again.\",\n };\n }\n }\n return {\n kind: \"unknown\",\n message:\n err instanceof Error ? err.message : \"Unexpected error while accessing the camera.\",\n };\n}\n\n/**\n * Acquire a `MediaStream` via `getUserMedia`, attach it to a `<video>` element,\n * and expose status/error so the page can render permission and error states.\n * The stream is automatically released on unmount or retry.\n *\n * Defaults to the rear (\"environment\") camera; desktops fall back to whatever\n * single camera they expose. Pass `options.constraints` to override.\n *\n * Implementation notes:\n * - Cleanup detaches the stream from a *snapshotted* video node, so it releases\n * the same element it attached to even if the page remounts the `<video>`.\n * - When `getUserMedia` is missing, an insecure context is the usual cause, so\n * the hook prefers that (actionable) error; otherwise it reports `unsupported`.\n * - `video.play()` rejections are swallowed: autoplay may be blocked, but the\n * user gesture that opened the camera usually counts and playback resumes on\n * the next interaction.\n *\n * @param options - optional configuration (see {@link UseCameraStreamOptions}).\n * @returns The stream status, classified error, a `videoRef` to attach, and a\n * `retry()` to re-attempt acquisition.\n */\nexport function useCameraStream(options: UseCameraStreamOptions = {}): UseCameraStreamApi {\n const [status, setStatus] = useState<CameraStreamStatus>(\"loading\");\n const [error, setError] = useState<CameraStreamError | null>(null);\n const [retryToken, setRetryToken] = useState(0);\n const videoRef = useRef<HTMLVideoElement | null>(null);\n const constraintsRef = useRef<MediaStreamConstraints>(\n options.constraints ?? DEFAULT_CONSTRAINTS,\n );\n constraintsRef.current = options.constraints ?? DEFAULT_CONSTRAINTS;\n\n useEffect(() => {\n let cancelled = false;\n let stream: MediaStream | null = null;\n let attachedVideo: HTMLVideoElement | null = null;\n\n async function start(): Promise<void> {\n setStatus(\"loading\");\n setError(null);\n\n if (\n typeof navigator === \"undefined\" ||\n !navigator.mediaDevices ||\n typeof navigator.mediaDevices.getUserMedia !== \"function\"\n ) {\n if (!cancelled) {\n setError(\n typeof window !== \"undefined\" && !window.isSecureContext\n ? classifyError(null)\n : {\n kind: \"unsupported\",\n message: \"Camera capture is not supported in this browser.\",\n },\n );\n setStatus(\"error\");\n }\n return;\n }\n\n try {\n stream = await navigator.mediaDevices.getUserMedia(constraintsRef.current);\n if (cancelled) {\n stream.getTracks().forEach((track) => track.stop());\n return;\n }\n const video = videoRef.current;\n if (!video) {\n stream.getTracks().forEach((track) => track.stop());\n return;\n }\n attachedVideo = video;\n video.srcObject = stream;\n await video.play().catch(() => undefined);\n if (!cancelled) setStatus(\"ready\");\n } catch (err) {\n if (!cancelled) {\n setError(classifyError(err));\n setStatus(\"error\");\n }\n }\n }\n\n void start();\n\n return () => {\n cancelled = true;\n if (stream) {\n stream.getTracks().forEach((track) => track.stop());\n }\n if (attachedVideo) {\n attachedVideo.srcObject = null;\n }\n };\n }, [retryToken]);\n\n return {\n status,\n error,\n videoRef,\n retry: () => setRetryToken((n) => n + 1),\n };\n}\n"],"mappings":";;AAsCA,IAAM,IAA8C;CAChD,OAAO;EACH,YAAY,EAAE,OAAO,cAAc;EACnC,OAAO,EAAE,OAAO,KAAK;EACrB,QAAQ,EAAE,OAAO,KAAK;CAC1B;CACA,OAAO;AACX;AAOA,SAAS,EAAc,GAAiC;CACpD,IAAI,OAAO,SAAW,KAClB,OAAO;EAAE,MAAM;EAAe,SAAS;CAA6C;CAExF,IAAI,CAAC,OAAO,iBACR,OAAO;EACH,MAAM;EACN,SAAS;CACb;CAEJ,IAAI,aAAe,cACf,QAAQ,EAAI,MAAZ;EACI,KAAK;EACL,KAAK,iBACD,OAAO;GACH,MAAM;GACN,SAAS;EACb;EACJ,KAAK;EACL,KAAK,wBACD,OAAO;GACH,MAAM;GACN,SAAS;EACb;EACJ,KAAK;EACL,KAAK,cACD,OAAO;GACH,MAAM;GACN,SAAS;EACb;CACR;CAEJ,OAAO;EACH,MAAM;EACN,SACI,aAAe,QAAQ,EAAI,UAAU;CAC7C;AACJ;AAuBA,SAAgB,EAAgB,IAAkC,CAAC,GAAuB;CACtF,IAAM,CAAC,GAAQ,KAAa,EAA6B,SAAS,GAC5D,CAAC,GAAO,KAAY,EAAmC,IAAI,GAC3D,CAAC,GAAY,KAAiB,EAAS,CAAC,GACxC,IAAW,EAAgC,IAAI,GAC/C,IAAiB,EACnB,EAAQ,eAAe,CAC3B;CAmEA,OAlEA,EAAe,UAAU,EAAQ,eAAe,GAEhD,QAAgB;EACZ,IAAI,IAAY,IACZ,IAA6B,MAC7B,IAAyC;EAE7C,eAAe,IAAuB;GAIlC,IAHA,EAAU,SAAS,GACnB,EAAS,IAAI,GAGT,OAAO,YAAc,OACrB,CAAC,UAAU,gBACX,OAAO,UAAU,aAAa,gBAAiB,YACjD;IACE,AAAK,MACD,EACI,OAAO,SAAW,OAAe,CAAC,OAAO,kBACnC,EAAc,IAAI,IAClB;KACI,MAAM;KACN,SAAS;IACb,CACV,GACA,EAAU,OAAO;IAErB;GACJ;GAEA,IAAI;IAEA,IADA,IAAS,MAAM,UAAU,aAAa,aAAa,EAAe,OAAO,GACrE,GAAW;KACX,EAAO,UAAU,CAAC,CAAC,SAAS,MAAU,EAAM,KAAK,CAAC;KAClD;IACJ;IACA,IAAM,IAAQ,EAAS;IACvB,IAAI,CAAC,GAAO;KACR,EAAO,UAAU,CAAC,CAAC,SAAS,MAAU,EAAM,KAAK,CAAC;KAClD;IACJ;IAIA,AAHA,IAAgB,GAChB,EAAM,YAAY,GAClB,MAAM,EAAM,KAAK,CAAC,CAAC,YAAY,KAAA,CAAS,GACnC,KAAW,EAAU,OAAO;GACrC,SAAS,GAAK;IACV,AAAK,MACD,EAAS,EAAc,CAAG,CAAC,GAC3B,EAAU,OAAO;GAEzB;EACJ;EAIA,OAFA,EAAW,SAEE;GAKT,AAJA,IAAY,IACR,KACA,EAAO,UAAU,CAAC,CAAC,SAAS,MAAU,EAAM,KAAK,CAAC,GAElD,MACA,EAAc,YAAY;EAElC;CACJ,GAAG,CAAC,CAAU,CAAC,GAER;EACH;EACA;EACA;EACA,aAAa,GAAe,MAAM,IAAI,CAAC;CAC3C;AACJ"}
@@ -0,0 +1,2 @@
1
+ const e=require("./luminance.cjs");let t=require("react");function n(n,{enabled:r=!0,intervalMs:i=160}={}){let[a,o]=(0,t.useState)(0),s=(0,t.useRef)(null);return(0,t.useEffect)(()=>{if(!r||typeof window>`u`)return;s.current||=document.createElement(`canvas`);let t=0,a=0,c=r=>{let l=n.current;if(!l||l.readyState<2||l.videoWidth===0){t=window.requestAnimationFrame(c);return}r-a>=i&&(a=r,o(e.computeImageLuminance(l,s.current??void 0))),t=window.requestAnimationFrame(c)};return t=window.requestAnimationFrame(c),()=>window.cancelAnimationFrame(t)},[n,r,i]),a}exports.useLiveLuminance=n;
2
+ //# sourceMappingURL=use-live-luminance.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-live-luminance.cjs","names":[],"sources":["../../src/vision/use-live-luminance.ts"],"sourcesContent":["import { useEffect, useRef, useState, type RefObject } from \"react\";\nimport { computeImageLuminance } from \"./luminance\";\n\n/** Options for {@link useLiveLuminance}. */\nexport interface UseLiveLuminanceOptions {\n /** When `false` the loop is paused (e.g. while a capture is in flight). Default: `true`. */\n enabled?: boolean;\n /** Throttle measurements in milliseconds. Default: `160` (~6 fps), plenty for UX. */\n intervalMs?: number;\n}\n\n/**\n * Sample mean luminance from a `<video>` source on a `requestAnimationFrame`\n * loop and expose the rolling value. Sampling is throttled by `intervalMs` and\n * paused whenever `enabled` is `false` or the video is not ready yet\n * (`readyState < 2` or `videoWidth === 0`).\n *\n * One offscreen canvas is reused across frames to avoid GC pressure. Designed\n * to feed a live brightness bar / border color on a camera page.\n *\n * @param videoRef - ref to the `<video>` element to sample.\n * @param options - optional configuration (see {@link UseLiveLuminanceOptions}).\n * @returns The rolling mean luminance in `0..255` (`0` until the first sample).\n */\nexport function useLiveLuminance(\n videoRef: RefObject<HTMLVideoElement | null>,\n { enabled = true, intervalMs = 160 }: UseLiveLuminanceOptions = {},\n): number {\n const [luminance, setLuminance] = useState(0);\n const canvasRef = useRef<HTMLCanvasElement | null>(null);\n\n useEffect(() => {\n if (!enabled) return;\n if (typeof window === \"undefined\") return;\n if (!canvasRef.current) canvasRef.current = document.createElement(\"canvas\");\n\n let rafId = 0;\n let lastSampledAt = 0;\n\n const tick = (timestamp: number): void => {\n const video = videoRef.current;\n if (!video || video.readyState < 2 || video.videoWidth === 0) {\n rafId = window.requestAnimationFrame(tick);\n return;\n }\n if (timestamp - lastSampledAt >= intervalMs) {\n lastSampledAt = timestamp;\n setLuminance(computeImageLuminance(video, canvasRef.current ?? undefined));\n }\n rafId = window.requestAnimationFrame(tick);\n };\n\n rafId = window.requestAnimationFrame(tick);\n return () => window.cancelAnimationFrame(rafId);\n }, [videoRef, enabled, intervalMs]);\n\n return luminance;\n}\n"],"mappings":"0DAwBA,SAAgB,EACZ,EACA,CAAE,UAAU,GAAM,aAAa,KAAiC,CAAC,EAC3D,CACN,GAAM,CAAC,EAAW,IAAA,EAAA,EAAA,SAAA,CAAyB,CAAC,EACtC,GAAA,EAAA,EAAA,OAAA,CAA6C,IAAI,EA2BvD,OAzBA,EAAA,EAAA,UAAA,KAAgB,CAEZ,GADI,CAAC,GACD,OAAO,OAAW,IAAa,OACnC,AAAwB,EAAU,UAAU,SAAS,cAAc,QAAQ,EAE3E,IAAI,EAAQ,EACR,EAAgB,EAEd,EAAQ,GAA4B,CACtC,IAAM,EAAQ,EAAS,QACvB,GAAI,CAAC,GAAS,EAAM,WAAa,GAAK,EAAM,aAAe,EAAG,CAC1D,EAAQ,OAAO,sBAAsB,CAAI,EACzC,MACJ,CACI,EAAY,GAAiB,IAC7B,EAAgB,EAChB,EAAa,EAAA,sBAAsB,EAAO,EAAU,SAAW,IAAA,EAAS,CAAC,GAE7E,EAAQ,OAAO,sBAAsB,CAAI,CAC7C,EAGA,MADA,GAAQ,OAAO,sBAAsB,CAAI,MAC5B,OAAO,qBAAqB,CAAK,CAClD,EAAG,CAAC,EAAU,EAAS,CAAU,CAAC,EAE3B,CACX"}
@@ -0,0 +1,27 @@
1
+ import { computeImageLuminance as e } from "./luminance.js";
2
+ import { useEffect as t, useRef as n, useState as r } from "react";
3
+ //#region src/vision/use-live-luminance.ts
4
+ function i(i, { enabled: a = !0, intervalMs: o = 160 } = {}) {
5
+ let [s, c] = r(0), l = n(null);
6
+ return t(() => {
7
+ if (!a || typeof window > "u") return;
8
+ l.current ||= document.createElement("canvas");
9
+ let t = 0, n = 0, r = (a) => {
10
+ let s = i.current;
11
+ if (!s || s.readyState < 2 || s.videoWidth === 0) {
12
+ t = window.requestAnimationFrame(r);
13
+ return;
14
+ }
15
+ a - n >= o && (n = a, c(e(s, l.current ?? void 0))), t = window.requestAnimationFrame(r);
16
+ };
17
+ return t = window.requestAnimationFrame(r), () => window.cancelAnimationFrame(t);
18
+ }, [
19
+ i,
20
+ a,
21
+ o
22
+ ]), s;
23
+ }
24
+ //#endregion
25
+ export { i as useLiveLuminance };
26
+
27
+ //# sourceMappingURL=use-live-luminance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-live-luminance.js","names":[],"sources":["../../src/vision/use-live-luminance.ts"],"sourcesContent":["import { useEffect, useRef, useState, type RefObject } from \"react\";\nimport { computeImageLuminance } from \"./luminance\";\n\n/** Options for {@link useLiveLuminance}. */\nexport interface UseLiveLuminanceOptions {\n /** When `false` the loop is paused (e.g. while a capture is in flight). Default: `true`. */\n enabled?: boolean;\n /** Throttle measurements in milliseconds. Default: `160` (~6 fps), plenty for UX. */\n intervalMs?: number;\n}\n\n/**\n * Sample mean luminance from a `<video>` source on a `requestAnimationFrame`\n * loop and expose the rolling value. Sampling is throttled by `intervalMs` and\n * paused whenever `enabled` is `false` or the video is not ready yet\n * (`readyState < 2` or `videoWidth === 0`).\n *\n * One offscreen canvas is reused across frames to avoid GC pressure. Designed\n * to feed a live brightness bar / border color on a camera page.\n *\n * @param videoRef - ref to the `<video>` element to sample.\n * @param options - optional configuration (see {@link UseLiveLuminanceOptions}).\n * @returns The rolling mean luminance in `0..255` (`0` until the first sample).\n */\nexport function useLiveLuminance(\n videoRef: RefObject<HTMLVideoElement | null>,\n { enabled = true, intervalMs = 160 }: UseLiveLuminanceOptions = {},\n): number {\n const [luminance, setLuminance] = useState(0);\n const canvasRef = useRef<HTMLCanvasElement | null>(null);\n\n useEffect(() => {\n if (!enabled) return;\n if (typeof window === \"undefined\") return;\n if (!canvasRef.current) canvasRef.current = document.createElement(\"canvas\");\n\n let rafId = 0;\n let lastSampledAt = 0;\n\n const tick = (timestamp: number): void => {\n const video = videoRef.current;\n if (!video || video.readyState < 2 || video.videoWidth === 0) {\n rafId = window.requestAnimationFrame(tick);\n return;\n }\n if (timestamp - lastSampledAt >= intervalMs) {\n lastSampledAt = timestamp;\n setLuminance(computeImageLuminance(video, canvasRef.current ?? undefined));\n }\n rafId = window.requestAnimationFrame(tick);\n };\n\n rafId = window.requestAnimationFrame(tick);\n return () => window.cancelAnimationFrame(rafId);\n }, [videoRef, enabled, intervalMs]);\n\n return luminance;\n}\n"],"mappings":";;;AAwBA,SAAgB,EACZ,GACA,EAAE,aAAU,IAAM,gBAAa,QAAiC,CAAC,GAC3D;CACN,IAAM,CAAC,GAAW,KAAgB,EAAS,CAAC,GACtC,IAAY,EAAiC,IAAI;CA2BvD,OAzBA,QAAgB;EAEZ,IADI,CAAC,KACD,OAAO,SAAW,KAAa;EACnC,AAAwB,EAAU,YAAU,SAAS,cAAc,QAAQ;EAE3E,IAAI,IAAQ,GACR,IAAgB,GAEd,KAAQ,MAA4B;GACtC,IAAM,IAAQ,EAAS;GACvB,IAAI,CAAC,KAAS,EAAM,aAAa,KAAK,EAAM,eAAe,GAAG;IAC1D,IAAQ,OAAO,sBAAsB,CAAI;IACzC;GACJ;GAKA,AAJI,IAAY,KAAiB,MAC7B,IAAgB,GAChB,EAAa,EAAsB,GAAO,EAAU,WAAW,KAAA,CAAS,CAAC,IAE7E,IAAQ,OAAO,sBAAsB,CAAI;EAC7C;EAGA,OADA,IAAQ,OAAO,sBAAsB,CAAI,SAC5B,OAAO,qBAAqB,CAAK;CAClD,GAAG;EAAC;EAAU;EAAS;CAAU,CAAC,GAE3B;AACX"}
package/dist/vision.cjs CHANGED
@@ -1,2 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("react"),qt=require("onnxruntime-web");function Qt(o){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const e in o)if(e!=="default"){const s=Object.getOwnPropertyDescriptor(o,e);Object.defineProperty(t,e,s.get?s:{enumerable:!0,get:()=>o[e]})}}return t.default=o,Object.freeze(t)}const Q=Qt(qt);class B extends Error{constructor(t,e){super(t,e),this.name=new.target.name}}class Ct extends B{}class at extends B{}class Wt extends B{}class T extends B{}class j extends B{}class F{constructor(t,e,s){if(this.data=t,this.width=e,this.height=s,t.length!==e*s*3)throw new T(`RGBImage data length ${t.length} does not match width * height * 3 = ${e*s*3}.`)}data;width;height}class ht{constructor(t,e,s,n){this.x1=t,this.y1=e,this.x2=s,this.y2=n}x1;y1;x2;y2;get width(){return Math.max(0,this.x2-this.x1)}get height(){return Math.max(0,this.y2-this.y1)}get area(){return this.width*this.height}get xyxy(){return[this.x1,this.y1,this.x2,this.y2]}get xywh(){return[(this.x1+this.x2)/2,(this.y1+this.y2)/2,this.width,this.height]}xyxyn(t){const[e,s]=t;return s<=0||e<=0?[0,0,0,0]:[this.x1/s,this.y1/e,this.x2/s,this.y2/e]}xywhn(t){const[e,s]=t;if(s<=0||e<=0)return[0,0,0,0];const[n,r,a,i]=this.xywh;return[n/s,r/e,a/s,i/e]}asXyxy(){return[this.x1,this.y1,this.x2,this.y2]}asXywh(){return[this.x1,this.y1,this.width,this.height]}asIntXyxy(){return[Math.trunc(this.x1),Math.trunc(this.y1),Math.trunc(this.x2),Math.trunc(this.y2)]}}class U{constructor(t,e,s){if(this.data=t,this.width=e,this.height=s,t.length!==e*s)throw new T(`Mask data length ${t.length} does not match width * height = ${e*s}.`)}data;width;height}class dt{constructor(t,e,s,n){this.xyxy=t,this.cls=e,this.conf=s,this.origShape=n}xyxy;cls;conf;origShape;get length(){return this.cls.length}get shape(){return[this.length,4]}get xywh(){const t=new Float32Array(this.xyxy.length);for(let e=0;e<this.length;e++){const s=this.xyxy[e*4],n=this.xyxy[e*4+1],r=this.xyxy[e*4+2],a=this.xyxy[e*4+3];t[e*4]=(s+r)/2,t[e*4+1]=(n+a)/2,t[e*4+2]=r-s,t[e*4+3]=a-n}return t}get xyxyn(){const[t,e]=this.origShape,s=new Float32Array(this.xyxy.length);if(this.length===0||e<=0||t<=0)return s;for(let n=0;n<this.length;n++)s[n*4]=this.xyxy[n*4]/e,s[n*4+1]=this.xyxy[n*4+1]/t,s[n*4+2]=this.xyxy[n*4+2]/e,s[n*4+3]=this.xyxy[n*4+3]/t;return s}get xywhn(){const t=this.xywh,[e,s]=this.origShape;if(this.length===0||s<=0||e<=0)return t;for(let n=0;n<this.length;n++)t[n*4]=t[n*4]/s,t[n*4+1]=t[n*4+1]/e,t[n*4+2]=t[n*4+2]/s,t[n*4+3]=t[n*4+3]/e;return t}get data(){const t=new Float32Array(this.length*6);for(let e=0;e<this.length;e++)t[e*6]=this.xyxy[e*4],t[e*6+1]=this.xyxy[e*4+1],t[e*6+2]=this.xyxy[e*4+2],t[e*6+3]=this.xyxy[e*4+3],t[e*6+4]=this.conf[e],t[e*6+5]=this.cls[e];return t}}class kt{constructor(t){this.data=t}data;get length(){return this.data.length}get shape(){return[this.length]}get top1(){if(this.data.length===0)return 0;let t=0,e=this.data[0];for(let s=1;s<this.data.length;s++){const n=this.data[s];n>e&&(t=s,e=n)}return t}get top1conf(){return this.data.length===0?0:this.data[this.top1]}get top5(){return this._topK(5).indices}get top5conf(){return this._topK(5).values}_topK(t){const e=Math.min(t,this.data.length),s=[];for(let a=0;a<this.data.length;a++)s.push(a);s.sort((a,i)=>this.data[i]-this.data[a]);const n=new Int32Array(e),r=new Float32Array(e);for(let a=0;a<e;a++)n[a]=s[a],r[a]=this.data[s[a]];return{indices:n,values:r}}}class $t{constructor(t,e,s){this.data=t,this.xyxy=e,this.origShape=s}data;xyxy;origShape;get length(){return this.data.length}get shape(){return[this.length]}[Symbol.iterator](){return this.data[Symbol.iterator]()}}class Lt{constructor(t,e,s,n,r,a=null,i={}){this.boxes=t,this.detections=e,this.names=s,this.origImg=n,this.origShape=r,this.path=a,this.speed=i}boxes;detections;names;origImg;origShape;path;speed;get length(){return this.detections.length}get(t){return this.detections[t]}[Symbol.iterator](){return this.detections[Symbol.iterator]()}}class Nt{constructor(t,e,s,n,r,a=null,i={}){this.probs=t,this.result=e,this.names=s,this.origImg=n,this.origShape=r,this.path=a,this.speed=i}probs;result;names;origImg;origShape;path;speed;get cls(){return this.probs.top1}get conf(){return this.probs.top1conf}get name(){return this.names[this.cls]??`class_${this.cls}`}get probabilities(){return this.result.probabilities}}class Ot{constructor(t,e,s,n,r,a,i=null,c={}){this.boxes=t,this.masks=e,this.detections=s,this.names=n,this.origImg=r,this.origShape=a,this.path=i,this.speed=c}boxes;masks;detections;names;origImg;origShape;path;speed;get length(){return this.detections.length}get(t){return this.detections[t]}[Symbol.iterator](){return this.detections[Symbol.iterator]()}}const Ft=Object.freeze(["person","bicycle","car","motorcycle","airplane","bus","train","truck","boat","traffic light","fire hydrant","stop sign","parking meter","bench","bird","cat","dog","horse","sheep","cow","elephant","bear","zebra","giraffe","backpack","umbrella","handbag","tie","suitcase","frisbee","skis","snowboard","sports ball","kite","baseball bat","baseball glove","skateboard","surfboard","tennis racket","bottle","wine glass","cup","fork","knife","spoon","bowl","banana","apple","sandwich","orange","broccoli","carrot","hot dog","pizza","donut","cake","chair","couch","potted plant","bed","dining table","toilet","tv","laptop","mouse","remote","keyboard","cell phone","microwave","oven","toaster","sink","refrigerator","book","clock","vase","scissors","teddy bear","hair drier","toothbrush"]),vt={coco:Ft};function W(o,t={}){const e=Zt(o,t.numClasses);if(t.numClasses!==void 0&&e.length!==t.numClasses)throw new j(`Resolved ${e.length} labels but the model has ${t.numClasses} classes.`);return e}function Zt(o,t){if(o==null){if(t===void 0)throw new j("Cannot auto-generate labels without numClasses. Pass an explicit labels spec or numClasses.");return Array.from({length:t},(e,s)=>`class_${s}`)}if(Array.isArray(o))return[...o];if(typeof o=="string"){const e=vt[o];if(e!==void 0)return e;throw new j(`Unknown labels preset: ${JSON.stringify(o)}. Known presets: ${Object.keys(vt).join(", ")}.`)}if(typeof o=="object"){const e=o,s=Object.keys(e).map(r=>Number(r));if(s.length===0)return[];const n=Math.max(...s);return Array.from({length:n+1},(r,a)=>e[a]??`class_${a}`)}throw new j(`Unsupported labels spec type: ${typeof o}.`)}const it=["webgpu","wasm"];function Dt(o){return o===void 0?[...it]:o.length===0?[...it]:[...o]}class V{constructor(t,e){this._session=t,this.providers=e}_session;providers;static async create(t,e={}){const s=Dt(e.providers),n={...e.sessionOptions??{},executionProviders:s};let r;try{typeof t=="string"?r=await Q.InferenceSession.create(t,n):t instanceof Uint8Array?r=await Q.InferenceSession.create(t,n):r=await Q.InferenceSession.create(t,n)}catch(a){throw new Ct(`Failed to load ONNX model: ${a.message}`,{cause:a})}return new V(r,s)}get inputNames(){return this._session.inputNames}get inputName(){const t=this._session.inputNames[0];if(t===void 0)throw new at("Model has no inputs.");return t}get outputNames(){return this._session.outputNames}get raw(){return this._session}async run(t){try{return await this._session.run(t)}catch(e){throw new at(`Inference failed: ${e.message}`,{cause:e})}}}function ct(o,t){if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(o,t);if(typeof document<"u"){const e=document.createElement("canvas");return e.width=o,e.height=t,e}throw new T("No canvas implementation available in this environment.")}function lt(o){const t=o.getContext("2d");if(t===null)throw new T("Failed to obtain 2D rendering context.");return t}function ut(o){const{data:t,width:e,height:s}=o;if(t.length!==e*s*4)throw new T(`Unexpected ImageData length ${t.length} for ${e}x${s} (expected ${e*s*4}).`);const n=new Uint8Array(e*s*3);for(let r=0,a=0;r<t.length;r+=4,a+=3)n[a]=t[r],n[a+1]=t[r+1],n[a+2]=t[r+2];return new F(n,e,s)}function te(o){const t=new Uint8ClampedArray(o.width*o.height*4);for(let e=0,s=0;e<o.data.length;e+=3,s+=4)t[s]=o.data[e],t[s+1]=o.data[e+1],t[s+2]=o.data[e+2],t[s+3]=255;return new ImageData(t,o.width,o.height)}async function Z(o){if(o instanceof F)return o;if(typeof ImageData<"u"&&o instanceof ImageData)return ut(o);if(typeof o=="string")return ee(o);if(typeof Blob<"u"&&o instanceof Blob)return Rt(o);if(typeof HTMLImageElement<"u"&&o instanceof HTMLImageElement)return await ne(o),P(o,o.naturalWidth,o.naturalHeight);if(typeof HTMLCanvasElement<"u"&&o instanceof HTMLCanvasElement||typeof OffscreenCanvas<"u"&&o instanceof OffscreenCanvas||typeof ImageBitmap<"u"&&o instanceof ImageBitmap)return P(o,o.width,o.height);throw new T(`Unsupported image source type: ${Object.prototype.toString.call(o)}`)}async function ee(o){let t;try{t=await fetch(o)}catch(s){throw new T(`Failed to fetch image from ${o}: ${s.message}`,{cause:s})}if(!t.ok)throw new T(`Failed to fetch image from ${o}: HTTP ${t.status} ${t.statusText}`);const e=await t.blob();return Rt(e)}async function Rt(o){let t;try{t=await createImageBitmap(o)}catch(e){throw new T(`Failed to decode image blob: ${e.message}`,{cause:e})}try{return P(t,t.width,t.height)}finally{t.close()}}function ne(o){return o.complete&&o.naturalWidth>0?Promise.resolve():new Promise((t,e)=>{const s=()=>{r(),t()},n=()=>{r(),e(new T("Failed to load HTMLImageElement (load event errored)"))},r=()=>{o.removeEventListener("load",s),o.removeEventListener("error",n)};o.addEventListener("load",s,{once:!0}),o.addEventListener("error",n,{once:!0})})}function P(o,t,e){if(t===0||e===0)throw new T(`Cannot load image with zero dimension (${t}x${e}).`);const s=ct(t,e),n=lt(s);n.drawImage(o,0,0);const r=n.getImageData(0,0,t,e);return ut(r)}function ft(o,t,e){if(t<=0||e<=0)throw new Error(`Invalid resize target ${t}x${e}.`);if(t===o.width&&e===o.height)return o;const s=ct(o.width,o.height);lt(s).putImageData(te(o),0,0);const r=ct(t,e),a=lt(r);a.imageSmoothingEnabled=!0,a.imageSmoothingQuality="high",a.drawImage(s,0,0,t,e);const i=a.getImageData(0,0,t,e);return ut(i)}function zt(o,t,e,s=1/255){const n=new Float32Array(o.data.length),r=o.data,a=t[0],i=t[1],c=t[2],l=e[0],u=e[1],d=e[2];for(let h=0;h<r.length;h+=3)n[h]=(r[h]*s-a)/l,n[h+1]=(r[h+1]*s-i)/u,n[h+2]=(r[h+2]*s-c)/d;return n}function tt(o,t=1/255){const e=new Float32Array(o.data.length),s=o.data;for(let n=0;n<s.length;n++)e[n]=s[n]*t;return e}function X(o,t,e,s=3){const n=t*e*s;if(o.length!==n)throw new Error(`toCHW: expected length ${n} for ${t}x${e}x${s}, got ${o.length}.`);const r=new Float32Array(n),a=t*e;for(let i=0;i<e;i++)for(let c=0;c<t;c++){const l=(i*t+c)*s,u=i*t+c;for(let d=0;d<s;d++)r[d*a+u]=o[l+d]}return r}function et(o,t){return new Q.Tensor("float32",o,t)}function se(o){const t=tt(o);return X(t,o.width,o.height,3)}function oe(o,t,e){if(o.length!==t*e*3)throw new Error(`fromCv2: data length ${o.length} does not match width * height * 3 = ${t*e*3}.`);const s=new Uint8Array(o.length);for(let n=0;n<o.length;n+=3)s[n]=o[n+2],s[n+1]=o[n+1],s[n+2]=o[n];return new F(s,t,e)}function re(o){const t=o.data,e=new Uint8Array(t.length);for(let s=0;s<t.length;s+=3)e[s]=t[s+2],e[s+1]=t[s+1],e[s+2]=t[s];return e}function mt(o,t,e,s=[114,114,114]){const n=Math.min(t/o.width,e/o.height),r=Math.round(o.width*n),a=Math.round(o.height*n),i=ft(o,r,a),c=new Uint8Array(t*e*3),l=s[0],u=s[1],d=s[2];for(let f=0;f<c.length;f+=3)c[f]=l,c[f+1]=u,c[f+2]=d;const h=Math.floor((t-r)/2),w=Math.floor((e-a)/2),g=r*3;for(let f=0;f<a;f++){const m=f*g,x=((w+f)*t+h)*3;c.set(i.data.subarray(m,m+g),x)}return{image:new F(c,t,e),scale:n,padLeft:h,padTop:w}}function Yt(o){const t=o.length,e=new Float32Array(t);let s=-1/0;for(let r=0;r<t;r++){const a=o[r];a>s&&(s=a)}let n=0;for(let r=0;r<t;r++){const a=Math.exp(o[r]-s);e[r]=a,n+=a}for(let r=0;r<t;r++)e[r]=e[r]/n;return e}function Ut(o,t){const e=o.length,s=t===null?e:Math.min(Math.max(0,t),e),n=new Array(e);for(let i=0;i<e;i++)n[i]=i;n.sort((i,c)=>o[c]-o[i]);const r=new Int32Array(s),a=new Float32Array(s);for(let i=0;i<s;i++){const c=n[i];r[i]=c,a[i]=o[c]}return{indices:r,values:a}}function Bt(o,t,e){const s=t.length;if(s===0)return new Int32Array(0);const n=new Float32Array(s);for(let c=0;c<s;c++){const l=o[c*4],u=o[c*4+1],d=o[c*4+2],h=o[c*4+3];n[c]=Math.max(0,d-l)*Math.max(0,h-u)}const r=new Array(s);for(let c=0;c<s;c++)r[c]=c;r.sort((c,l)=>t[l]-t[c]);const a=new Uint8Array(s),i=[];for(let c=0;c<r.length;c++){const l=r[c];if(a[l])continue;i.push(l);const u=o[l*4],d=o[l*4+1],h=o[l*4+2],w=o[l*4+3],g=n[l];for(let f=c+1;f<r.length;f++){const m=r[f];if(a[m])continue;const x=o[m*4],_=o[m*4+1],p=o[m*4+2],E=o[m*4+3],S=Math.max(u,x),M=Math.max(d,_),v=Math.min(h,p),C=Math.min(w,E),k=Math.max(0,v-S),y=Math.max(0,C-M),b=k*y,A=g+n[m]-b;(A>0?b/A:0)>e&&(a[m]=1)}}return Int32Array.from(i)}function Vt(o,t,e,s){if(t.length===0)return new Int32Array(0);const n=new Map;for(let a=0;a<e.length;a++){const i=e[a],c=n.get(i);c===void 0?n.set(i,[a]):c.push(a)}const r=[];for(const a of n.values()){const i=a.length,c=new Float32Array(i*4),l=new Float32Array(i);for(let d=0;d<i;d++){const h=a[d];c[d*4]=o[h*4],c[d*4+1]=o[h*4+1],c[d*4+2]=o[h*4+2],c[d*4+3]=o[h*4+3],l[d]=t[h]}const u=Bt(c,l,s);for(let d=0;d<u.length;d++)r.push(a[u[d]])}return r.sort((a,i)=>t[i]-t[a]),Int32Array.from(r)}function nt(o,t,e){let s=t;if(s.length===3){if(s[0]!==1)throw new Error(`decodeYoloAnchors: expected batch size 1, got ${s[0]}.`);s=[s[1],s[2]]}if(s.length!==2)throw new Error(`decodeYoloAnchors: expected 2-D output after batch removal, got dims=${JSON.stringify(t)}.`);const n=s[0],r=s[1],{numClasses:a,originalWidth:i,originalHeight:c,padLeft:l,padTop:u,scale:d,confThreshold:h,iouThreshold:w,maxDetections:g}=e;if(a<1||a+4>n)throw new Error(`decodeYoloAnchors: invalid numClasses=${a} for channels=${n}.`);if(o.length!==n*r)throw new Error(`decodeYoloAnchors: data length ${o.length} does not match channels*numAnchors=${n*r}.`);const f=[];for(let y=0;y<r;y++){let b=0,A=-1/0;for(let Y=0;Y<a;Y++){const R=o[(4+Y)*r+y];R!==void 0&&R>A&&(A=R,b=Y)}if(A<h)continue;const I=o[y],H=o[r+y],G=o[2*r+y],K=o[3*r+y];let z=I-G/2,$=H-K/2,L=I+G/2,D=H+K/2;z=(z-l)/d,$=($-u)/d,L=(L-l)/d,D=(D-u)/d,z=Math.max(0,Math.min(i,z)),$=Math.max(0,Math.min(c,$)),L=Math.max(0,Math.min(i,L)),D=Math.max(0,Math.min(c,D)),f.push({anchorIdx:y,x1:z,y1:$,x2:L,y2:D,classId:b,confidence:A})}if(f.length===0)return Mt();const m=new Float32Array(f.length*4),x=new Float32Array(f.length),_=new Int32Array(f.length);for(let y=0;y<f.length;y++){const b=f[y];m[y*4]=b.x1,m[y*4+1]=b.y1,m[y*4+2]=b.x2,m[y*4+3]=b.y2,x[y]=b.confidence,_[y]=b.classId}const p=Vt(m,x,_,w);if(p.length===0)return Mt();const E=Array.from(p).slice(0,g),S=E.length,M=new Int32Array(S),v=new Float32Array(S*4),C=new Int32Array(S),k=new Float32Array(S);for(let y=0;y<S;y++){const b=f[E[y]];M[y]=b.anchorIdx,v[y*4]=b.x1,v[y*4+1]=b.y1,v[y*4+2]=b.x2,v[y*4+3]=b.y2,C[y]=b.classId,k[y]=b.confidence}return{anchorIndices:M,boxesXyxy:v,classIds:C,confidences:k}}function Mt(){return{anchorIndices:new Int32Array(0),boxesXyxy:new Float32Array(0),classIds:new Int32Array(0),confidences:new Float32Array(0)}}function yt(o,t,e){const s=t.length===3?t[1]:t[0];if(s===void 0||s<5)throw new Error(`decodeYolo: invalid output channel count ${s} (expected >= 5).`);const n=s-4,r=nt(o,t,{numClasses:n,...e}),a=[];for(let i=0;i<r.classIds.length;i++)a.push({bbox:new ht(r.boxesXyxy[i*4],r.boxesXyxy[i*4+1],r.boxesXyxy[i*4+2],r.boxesXyxy[i*4+3]),classId:r.classIds[i],confidence:r.confidences[i]});return a}let St=!1,At=!1;function ae(o,t,e){return St||(St=!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.")),yt(o,t,e)}function ie(o,t,e){return At||(At=!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.")),nt(o,t,e)}function wt(o,t,e,s,n){let r=s;if(r.length===4){if(r[0]!==1)throw new Error(`decodeYoloSeg: expected batch size 1 in prototypes, got ${r[0]}.`);r=[r[1],r[2],r[3]]}if(r.length!==3)throw new Error(`decodeYoloSeg: expected 3-D prototypes after batch removal, got dims=${JSON.stringify(s)}.`);const a=r[0],i=r[1],c=r[2],l=t.length===3?t[1]:t[0],u=t.length===3?t[2]:t[1];if(l===void 0||u===void 0)throw new Error(`decodeYoloSeg: cannot read channels/numAnchors from dims=${JSON.stringify(t)}.`);const d=4+n.numClasses+a;if(l!==d)throw new Error(`decodeYoloSeg: channels=${l} does not match 4 + numClasses(${n.numClasses}) + numMaskCoefs(${a}) = ${d}.`);if(e.length!==a*i*c)throw new Error(`decodeYoloSeg: prototype length ${e.length} does not match dims=${JSON.stringify(s)}.`);const h=nt(o,t,{numClasses:n.numClasses,originalWidth:n.originalWidth,originalHeight:n.originalHeight,padLeft:n.padLeft,padTop:n.padTop,scale:n.scale,confThreshold:n.confThreshold,iouThreshold:n.iouThreshold,maxDetections:n.maxDetections});if(h.anchorIndices.length===0)return[];const w=n.maskThreshold??.5,g=c/n.inputWidth,f=i/n.inputHeight,m=i*c,x=(4+n.numClasses)*u,_=[];for(let p=0;p<h.anchorIndices.length;p++){const E=h.anchorIndices[p],S=h.boxesXyxy[p*4],M=h.boxesXyxy[p*4+1],v=h.boxesXyxy[p*4+2],C=h.boxesXyxy[p*4+3],k=new ht(S,M,v,C),y=h.classIds[p],b=h.confidences[p],A=Math.max(0,Math.trunc(v)-Math.trunc(S)),I=Math.max(0,Math.trunc(C)-Math.trunc(M));if(A===0||I===0){_.push({bbox:k,classId:y,confidence:b,mask:new U(new Uint8Array(0),0,0)});continue}const H=S*n.scale+n.padLeft,G=M*n.scale+n.padTop,K=v*n.scale+n.padLeft,z=C*n.scale+n.padTop,$=Math.max(0,Math.floor(H*g)),L=Math.max(0,Math.floor(G*f)),D=Math.min(c,Math.ceil(K*g)),Y=Math.min(i,Math.ceil(z*f));if(D<=$||Y<=L){_.push({bbox:k,classId:y,confidence:b,mask:new U(new Uint8Array(A*I),A,I)});continue}const R=D-$,ot=Y-L,bt=new Float32Array(R*ot);for(let N=0;N<ot;N++){const Ht=L+N;for(let J=0;J<R;J++){const Gt=$+J;let _t=0;for(let q=0;q<a;q++){const Kt=o[x+q*u+E],Jt=e[q*m+Ht*c+Gt];_t+=Kt*Jt}bt[N*R+J]=ce(_t)}}const Xt=he(bt,R,ot,A,I),rt=new Uint8Array(A*I);for(let N=0;N<rt.length;N++)rt[N]=Xt[N]>=w?255:0;_.push({bbox:k,classId:y,confidence:b,mask:new U(rt,A,I)})}return _}function ce(o){if(o>=0)return 1/(1+Math.exp(-o));const t=Math.exp(o);return t/(1+t)}let Et=!1;function le(o,t,e,s,n){return Et||(Et=!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.")),wt(o,t,e,s,n)}function he(o,t,e,s,n){const r=new Float32Array(s*n);if(s===0||n===0||t===0||e===0)return r;if(s===t&&n===e)return r.set(o),r;const a=t/s,i=e/n;for(let c=0;c<n;c++){const l=(c+.5)*i-.5,u=Math.max(0,Math.floor(l)),d=Math.min(e-1,u+1),h=Math.max(0,Math.min(1,l-u));for(let w=0;w<s;w++){const g=(w+.5)*a-.5,f=Math.max(0,Math.floor(g)),m=Math.min(t-1,f+1),x=Math.max(0,Math.min(1,g-f)),_=o[u*t+f],p=o[u*t+m],E=o[d*t+f],S=o[d*t+m],M=_*(1-x)+p*x,v=E*(1-x)+S*x;r[c*s+w]=M*(1-h)+v*h}}return r}class st{constructor(t){this._session=t}_session;get session(){return this._session}}const de=[.485,.456,.406],ue=[.229,.224,.225];class gt extends st{constructor(t,e,s,n,r,a,i){super(t),this._labels=e,this._names=s,this._inputSize=n,this._mean=r,this._std=a,this._applySoftmax=i}_labels;_names;_inputSize;_mean;_std;_applySoftmax;static async create(t,e){const s=await V.create(t,e),n=W(e.labels,{numClasses:e.numClasses}),r={};for(let a=0;a<n.length;a++)r[a]=n[a];return new gt(s,n,r,e.inputSize??[224,224],e.mean??de,e.std??ue,e.applySoftmax??!0)}get labels(){return this._labels}get names(){return this._names}get numClasses(){return this._labels.length}async call(t,e={}){return this.predict(t,e)}async predict(t,e={}){const s=typeof t=="string"?t:null,n=await Z(t),r=this._preprocess(n),a=await this._session.run({[this._session.inputName]:r}),i=this._session.outputNames[0];if(i===void 0)throw new Error("Classifier model has no outputs.");const c=a[i];if(c===void 0)throw new Error(`Classifier model output ${i} missing from run() result.`);const l=this._postprocess(c.data),{indices:u,values:d}=Ut(l,e.topK??null),h=[];for(let m=0;m<u.length;m++){const x=u[m],_=this._labels[x]??`class_${x}`;h.push({classId:x,className:_,probability:d[m],cls:x,name:_,conf:d[m]})}if(h.length===0)throw new Error("Classifier produced no probabilities (empty output).");const w=h[0],g={classId:w.classId,className:w.className,confidence:w.probability,cls:w.classId,name:w.className,conf:w.probability,image:n,probabilities:h},f=[n.height,n.width];return[new Nt(new kt(l),g,this._names,n,f,s)]}_preprocess(t){const[e,s]=this._inputSize,n=ft(t,e,s),r=zt(n,this._mean,this._std),a=X(r,n.width,n.height,3);return et(a,[1,3,n.height,n.width])}_postprocess(t){return this._applySoftmax?Yt(t):new Float32Array(t)}}class pt extends st{constructor(t,e,s,n,r,a,i,c){super(t),this._head=e,this._labels=s,this._names=n,this._inputSize=r,this._confThreshold=a,this._iouThreshold=i,this._maxDetections=c}_head;_labels;_names;_inputSize;_confThreshold;_iouThreshold;_maxDetections;static async create(t,e={}){const s=e.head??"yolo";if(s!=="yolo")throw new Error(`Unsupported detector head '${s}'. Supported: 'yolo'.`);const n=await V.create(t,e),r=W(e.labels??"coco",{numClasses:e.numClasses}),a={};for(let i=0;i<r.length;i++)a[i]=r[i];return new pt(n,s,r,a,e.inputSize??[640,640],e.confThreshold??.25,e.iouThreshold??.45,e.maxDetections??300)}get head(){return this._head}get labels(){return this._labels}get names(){return this._names}get numClasses(){return this._labels.length}async call(t,e={}){return this.predict(t,e)}async predict(t,e={}){const s=typeof t=="string"?t:null,n=await Z(t),{tensor:r,scale:a,padLeft:i,padTop:c}=this._preprocess(n),l=await this._session.run({[this._session.inputName]:r}),u=this._session.outputNames[0];if(u===void 0)throw new Error("Detector model has no outputs.");const d=l[u];if(d===void 0)throw new Error(`Detector model output ${u} missing from run() result.`);const h=yt(d.data,d.dims,{originalWidth:n.width,originalHeight:n.height,padLeft:i,padTop:c,scale:a,confThreshold:e.confThreshold??this._confThreshold,iouThreshold:e.iouThreshold??this._iouThreshold,maxDetections:this._maxDetections}),g=(e.classes!==void 0?(()=>{const m=new Set(e.classes);return h.filter(x=>m.has(x.classId))})():h).map(m=>this._buildResult(n,m.bbox,m.classId,m.confidence)),f=[n.height,n.width];return[new Lt(this._buildBoxes(g,f),g,this._names,n,f,s)]}_preprocess(t){const[e,s]=this._inputSize,n=mt(t,e,s),r=tt(n.image),a=X(r,n.image.width,n.image.height,3);return{tensor:et(a,[1,3,n.image.height,n.image.width]),scale:n.scale,padLeft:n.padLeft,padTop:n.padTop}}_buildResult(t,e,s,n){const[r,a,i,c]=e.asIntXyxy(),l=Math.max(0,r),u=Math.max(0,a),d=Math.min(t.width,i),h=Math.min(t.height,c);let w;if(d>l&&h>u){const f=d-l,m=h-u,x=new Uint8Array(f*m*3);for(let _=0;_<m;_++){const p=((u+_)*t.width+l)*3;x.set(t.data.subarray(p,p+f*3),_*f*3)}w=new F(x,f,m)}else w=new F(new Uint8Array(0),0,0);const g=this._names[s]??`class_${s}`;return{classId:s,className:g,confidence:n,bbox:e,cls:s,name:g,conf:n,box:e,croppedImage:w}}_buildBoxes(t,e){const s=t.length,n=new Float32Array(s*4),r=new Int32Array(s),a=new Float32Array(s);for(let i=0;i<s;i++){const c=t[i];n[i*4]=c.bbox.x1,n[i*4+1]=c.bbox.y1,n[i*4+2]=c.bbox.x2,n[i*4+3]=c.bbox.y2,r[i]=c.classId,a[i]=c.confidence}return new dt(n,r,a,e)}}class xt extends st{constructor(t,e,s,n,r,a,i,c,l){super(t),this._head=e,this._labels=s,this._names=n,this._inputSize=r,this._confThreshold=a,this._iouThreshold=i,this._maxDetections=c,this._maskThreshold=l}_head;_labels;_names;_inputSize;_confThreshold;_iouThreshold;_maxDetections;_maskThreshold;static async create(t,e={}){const s=e.head??"yolo-seg";if(s!=="yolo-seg")throw new Error(`Unsupported segmenter head '${s}'. Supported: 'yolo-seg'.`);const n=await V.create(t,e),r=W(e.labels??"coco",{numClasses:e.numClasses}),a={};for(let i=0;i<r.length;i++)a[i]=r[i];return new xt(n,s,r,a,e.inputSize??[640,640],e.confThreshold??.25,e.iouThreshold??.45,e.maxDetections??300,e.maskThreshold??.5)}get head(){return this._head}get labels(){return this._labels}get names(){return this._names}get numClasses(){return this._labels.length}async call(t,e={}){return this.predict(t,e)}async predict(t,e={}){const s=typeof t=="string"?t:null,n=await Z(t),{tensor:r,scale:a,padLeft:i,padTop:c}=this._preprocess(n),l=await this._session.run({[this._session.inputName]:r}),{perAnchor:u,prototypes:d}=this._splitOutputs(l),h=wt(u.data,u.dims,d.data,d.dims,{numClasses:this._labels.length,inputWidth:this._inputSize[0],inputHeight:this._inputSize[1],originalWidth:n.width,originalHeight:n.height,padLeft:i,padTop:c,scale:a,confThreshold:e.confThreshold??this._confThreshold,iouThreshold:e.iouThreshold??this._iouThreshold,maxDetections:this._maxDetections,maskThreshold:this._maskThreshold}),g=(e.classes!==void 0?(()=>{const m=new Set(e.classes);return h.filter(x=>m.has(x.classId))})():h).map(m=>this._buildResult(n,m.bbox,m.classId,m.confidence,m.mask)),f=[n.height,n.width];return[new Ot(this._buildBoxes(g,f),this._buildMasks(g,f),g,this._names,n,f,s)]}_preprocess(t){const[e,s]=this._inputSize,n=mt(t,e,s),r=tt(n.image),a=X(r,n.image.width,n.image.height,3);return{tensor:et(a,[1,3,n.image.height,n.image.width]),scale:n.scale,padLeft:n.padLeft,padTop:n.padTop}}_splitOutputs(t){let e,s;for(const n of this._session.outputNames){const r=t[n];r!==void 0&&(r.dims.length===3&&e===void 0?e=r:r.dims.length===4&&s===void 0&&(s=r))}if(e===void 0||s===void 0){const n=this._session.outputNames.map(r=>`${r}: ${JSON.stringify(t[r]?.dims??[])}`);throw new Error(`Segmenter expected one 3-D and one 4-D output, got [${n.join(", ")}].`)}return{perAnchor:e,prototypes:s}}_buildResult(t,e,s,n,r){const[a,i,c,l]=e.asIntXyxy(),u=Math.max(0,a),d=Math.max(0,i),h=Math.min(t.width,c),w=Math.min(t.height,l);let g,f=r;if(h>u&&w>d&&r.data.length>0){const x=h-u,_=w-d,p=Math.min(r.width,x),E=Math.min(r.height,_),S=new Uint8Array(p*E*3);for(let M=0;M<E;M++){const v=((d+M)*t.width+u)*3,C=M*p*3,k=M*r.width;for(let y=0;y<p;y++)if(r.data[k+y]!==0){const A=v+y*3,I=C+y*3;S[I]=t.data[A],S[I+1]=t.data[A+1],S[I+2]=t.data[A+2]}}if(g=new F(S,p,E),p!==r.width||E!==r.height){const M=new Uint8Array(p*E);for(let v=0;v<E;v++)M.set(r.data.subarray(v*r.width,v*r.width+p),v*p);f=new U(M,p,E)}}else f=new U(new Uint8Array(0),0,0),g=new F(new Uint8Array(0),0,0);const m=this._names[s]??`class_${s}`;return{classId:s,className:m,confidence:n,bbox:e,cls:s,name:m,conf:n,box:e,mask:f,segmentedImage:g}}_buildBoxes(t,e){const s=t.length,n=new Float32Array(s*4),r=new Int32Array(s),a=new Float32Array(s);for(let i=0;i<s;i++){const c=t[i];n[i*4]=c.bbox.x1,n[i*4+1]=c.bbox.y1,n[i*4+2]=c.bbox.x2,n[i*4+3]=c.bbox.y2,r[i]=c.classId,a[i]=c.confidence}return new dt(n,r,a,e)}_buildMasks(t,e){const s=new Float32Array(t.length*4);for(let n=0;n<t.length;n++){const r=t[n];s[n*4]=r.bbox.x1,s[n*4+1]=r.bbox.y1,s[n*4+2]=r.bbox.x2,s[n*4+3]=r.bbox.y2}return new $t(t.map(n=>n.mask),s,e)}}const fe="0.2.1",It={video:{facingMode:{ideal:"environment"},width:{ideal:1920},height:{ideal:1080}},audio:!1};function Tt(o){if(typeof window>"u")return{kind:"unsupported",message:"Camera is unavailable in this environment."};if(!window.isSecureContext)return{kind:"insecure",message:"Camera access requires a secure (HTTPS) connection."};if(o instanceof DOMException)switch(o.name){case"NotAllowedError":case"SecurityError":return{kind:"permission-denied",message:"Camera permission denied. Enable access in your browser settings."};case"NotFoundError":case"OverconstrainedError":return{kind:"no-camera",message:"No camera available on this device."};case"NotReadableError":case"AbortError":return{kind:"in-use",message:"The camera is in use by another app. Close it and try again."}}return{kind:"unknown",message:o instanceof Error?o.message:"Unexpected error while accessing the camera."}}function me(o={}){const[t,e]=O.useState("loading"),[s,n]=O.useState(null),[r,a]=O.useState(0),i=O.useRef(null),c=O.useRef(o.constraints??It);return c.current=o.constraints??It,O.useEffect(()=>{let l=!1,u=null,d=null;async function h(){if(e("loading"),n(null),typeof navigator>"u"||!navigator.mediaDevices||typeof navigator.mediaDevices.getUserMedia!="function"){l||(n(typeof window<"u"&&!window.isSecureContext?Tt(null):{kind:"unsupported",message:"Camera capture is not supported in this browser."}),e("error"));return}try{if(u=await navigator.mediaDevices.getUserMedia(c.current),l){u.getTracks().forEach(g=>g.stop());return}const w=i.current;if(!w){u.getTracks().forEach(g=>g.stop());return}d=w,w.srcObject=u,await w.play().catch(()=>{}),l||e("ready")}catch(w){l||(n(Tt(w)),e("error"))}}return h(),()=>{l=!0,u&&u.getTracks().forEach(w=>w.stop()),d&&(d.srcObject=null)}},[r]),{status:t,error:s,videoRef:i,retry:()=>a(l=>l+1)}}const Pt=256;function ye(o){return o instanceof HTMLVideoElement?{width:o.videoWidth,height:o.videoHeight}:o instanceof HTMLCanvasElement?{width:o.width,height:o.height}:{width:o.naturalWidth||o.width,height:o.naturalHeight||o.height}}function jt(o,t){const{width:e,height:s}=ye(o);if(e===0||s===0)return 0;const n=Math.min(1,Pt/Math.max(e,s)),r=Math.max(1,Math.round(e*n)),a=Math.max(1,Math.round(s*n)),i=t??document.createElement("canvas");i.width=r,i.height=a;const c=i.getContext("2d",{willReadFrequently:!0});if(!c)return 0;c.drawImage(o,0,0,r,a);const l=c.getImageData(0,0,r,a).data;let u=0;const d=r*a;for(let h=0;h<l.length;h+=4)u+=.2126*l[h]+.7152*l[h+1]+.0722*l[h+2];return u/d}function we(o,t){return o>=t}class ge extends Error{luminance;threshold;constructor(t,e){super("Image is too dark to analyse. Capture again in a brighter environment."),this.name="LowLuminanceError",this.luminance=t,this.threshold=e}}function pe(o,{enabled:t=!0,intervalMs:e=160}={}){const[s,n]=O.useState(0),r=O.useRef(null);return O.useEffect(()=>{if(!t||typeof window>"u")return;r.current||(r.current=document.createElement("canvas"));let a=0,i=0;const c=l=>{const u=o.current;if(!u||u.readyState<2||u.videoWidth===0){a=window.requestAnimationFrame(c);return}l-i>=e&&(i=l,n(jt(u,r.current??void 0))),a=window.requestAnimationFrame(c)};return a=window.requestAnimationFrame(c),()=>window.cancelAnimationFrame(a)},[o,t,e]),s}exports.BoundingBox=ht;exports.Boxes=dt;exports.COCO_CLASSES=Ft;exports.ClassificationResults=Nt;exports.Classifier=gt;exports.DEFAULT_PROVIDERS=it;exports.DetectionResults=Lt;exports.Detector=pt;exports.ImageLoadError=T;exports.InferenceError=at;exports.LUMINANCE_SAMPLE_MAX_EDGE=Pt;exports.LabelMapError=j;exports.LowLuminanceError=ge;exports.Mask=U;exports.Masks=$t;exports.ModelLoadError=Ct;exports.OrtSession=V;exports.OrtVisionError=B;exports.Probs=kt;exports.ProviderNotAvailableError=Wt;exports.RGBImage=F;exports.SegmentationResults=Ot;exports.Segmenter=xt;exports.VERSION=fe;exports.VisionTask=st;exports.batchedNms=Vt;exports.computeImageLuminance=jt;exports.decodeYolo=yt;exports.decodeYoloAnchors=nt;exports.decodeYoloSeg=wt;exports.decodeYoloV8=ae;exports.decodeYoloV8Anchors=ie;exports.decodeYoloV8Seg=le;exports.fromCv2=oe;exports.isLuminanceAcceptable=we;exports.letterbox=mt;exports.loadImage=Z;exports.nms=Bt;exports.normalize=zt;exports.resize=ft;exports.resolveLabels=W;exports.resolveProviders=Dt;exports.softmax=Yt;exports.toCHW=X;exports.toCv2=re;exports.toFloat32=tt;exports.toFloat32Tensor=et;exports.toTensor=se;exports.topK=Ut;exports.useCameraStream=me;exports.useLiveLuminance=pe;
2
- //# sourceMappingURL=vision.cjs.map
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./vision/core/exceptions.cjs"),t=require("./vision/types.cjs"),n=require("./vision/results.cjs"),r=require("./vision/labels.cjs"),i=require("./vision/core/providers.cjs"),a=require("./vision/core/session.cjs"),o=require("./vision/io/image.cjs"),s=require("./vision/preprocess/image.cjs"),c=require("./vision/postprocess/classification.cjs"),l=require("./vision/postprocess/detection.cjs"),u=require("./vision/postprocess/segmentation.cjs"),d=require("./vision/tasks/base.cjs"),f=require("./vision/tasks/classifier.cjs"),p=require("./vision/tasks/detector.cjs"),m=require("./vision/tasks/segmenter.cjs"),h=require("./vision/index.cjs"),g=require("./vision/use-camera-stream.cjs"),_=require("./vision/luminance.cjs"),v=require("./vision/use-live-luminance.cjs");exports.BoundingBox=t.BoundingBox,exports.Boxes=n.Boxes,exports.COCO_CLASSES=r.COCO_CLASSES,exports.ClassificationResults=n.ClassificationResults,exports.Classifier=f.Classifier,exports.DEFAULT_PROVIDERS=i.DEFAULT_PROVIDERS,exports.DetectionResults=n.DetectionResults,exports.Detector=p.Detector,exports.ImageLoadError=e.ImageLoadError,exports.InferenceError=e.InferenceError,exports.LUMINANCE_SAMPLE_MAX_EDGE=_.LUMINANCE_SAMPLE_MAX_EDGE,exports.LabelMapError=e.LabelMapError,exports.LowLuminanceError=_.LowLuminanceError,exports.Mask=t.Mask,exports.Masks=n.Masks,exports.ModelLoadError=e.ModelLoadError,exports.OrtSession=a.OrtSession,exports.OrtVisionError=e.OrtVisionError,exports.Probs=n.Probs,exports.ProviderNotAvailableError=e.ProviderNotAvailableError,exports.RGBImage=t.RGBImage,exports.SegmentationResults=n.SegmentationResults,exports.Segmenter=m.Segmenter,exports.VERSION=h.VERSION,exports.VisionTask=d.VisionTask,exports.batchedNms=l.batchedNms,exports.computeImageLuminance=_.computeImageLuminance,exports.decodeYolo=l.decodeYolo,exports.decodeYoloAnchors=l.decodeYoloAnchors,exports.decodeYoloSeg=u.decodeYoloSeg,exports.decodeYoloV8=l.decodeYoloV8,exports.decodeYoloV8Anchors=l.decodeYoloV8Anchors,exports.decodeYoloV8Seg=u.decodeYoloV8Seg,exports.fromCv2=s.fromCv2,exports.isLuminanceAcceptable=_.isLuminanceAcceptable,exports.letterbox=s.letterbox,exports.loadImage=o.loadImage,exports.nms=l.nms,exports.normalize=s.normalize,exports.resize=s.resize,exports.resolveLabels=r.resolveLabels,exports.resolveProviders=i.resolveProviders,exports.softmax=c.softmax,exports.toCHW=s.toCHW,exports.toCv2=s.toCv2,exports.toFloat32=s.toFloat32,exports.toFloat32Tensor=s.toFloat32Tensor,exports.toTensor=s.toTensor,exports.topK=c.topK,exports.useCameraStream=g.useCameraStream,exports.useLiveLuminance=v.useLiveLuminance;