tempest-react-sdk 0.22.0 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1887) hide show
  1. package/README.md +67 -64
  2. package/dist/access/Can.cjs +2 -0
  3. package/dist/access/Can.cjs.map +1 -0
  4. package/dist/access/Can.js +10 -0
  5. package/dist/access/Can.js.map +1 -0
  6. package/dist/access/access-control-context.cjs +2 -0
  7. package/dist/access/access-control-context.cjs.map +1 -0
  8. package/dist/access/access-control-context.js +14 -0
  9. package/dist/access/access-control-context.js.map +1 -0
  10. package/dist/access/create-role-access-control.cjs +2 -0
  11. package/dist/access/create-role-access-control.cjs.map +1 -0
  12. package/dist/access/create-role-access-control.js +19 -0
  13. package/dist/access/create-role-access-control.js.map +1 -0
  14. package/dist/access/permissions-from-token.cjs +2 -0
  15. package/dist/access/permissions-from-token.cjs.map +1 -0
  16. package/dist/access/permissions-from-token.js +21 -0
  17. package/dist/access/permissions-from-token.js.map +1 -0
  18. package/dist/access/use-can.cjs +2 -0
  19. package/dist/access/use-can.cjs.map +1 -0
  20. package/dist/access/use-can.js +34 -0
  21. package/dist/access/use-can.js.map +1 -0
  22. package/dist/app/AppProviders.cjs +2 -0
  23. package/dist/app/AppProviders.cjs.map +1 -0
  24. package/dist/app/AppProviders.js +13 -0
  25. package/dist/app/AppProviders.js.map +1 -0
  26. package/dist/audio/audio-player.cjs +2 -0
  27. package/dist/audio/audio-player.cjs.map +1 -0
  28. package/dist/audio/audio-player.js +39 -0
  29. package/dist/audio/audio-player.js.map +1 -0
  30. package/dist/audio/use-audio.cjs +2 -0
  31. package/dist/audio/use-audio.cjs.map +1 -0
  32. package/dist/audio/use-audio.js +18 -0
  33. package/dist/audio/use-audio.js.map +1 -0
  34. package/dist/auth/AuthGuard.cjs +2 -0
  35. package/dist/auth/AuthGuard.cjs.map +1 -0
  36. package/dist/auth/AuthGuard.js +8 -0
  37. package/dist/auth/AuthGuard.js.map +1 -0
  38. package/dist/auth/create-auth-store.cjs +2 -0
  39. package/dist/auth/create-auth-store.cjs.map +1 -0
  40. package/dist/auth/create-auth-store.js +30 -0
  41. package/dist/auth/create-auth-store.js.map +1 -0
  42. package/dist/auth/create-tempest-auth.cjs +2 -0
  43. package/dist/auth/create-tempest-auth.cjs.map +1 -0
  44. package/dist/auth/create-tempest-auth.js +70 -0
  45. package/dist/auth/create-tempest-auth.js.map +1 -0
  46. package/dist/auth/jwt.cjs +2 -0
  47. package/dist/auth/jwt.cjs.map +1 -0
  48. package/dist/auth/jwt.js +33 -0
  49. package/dist/auth/jwt.js.map +1 -0
  50. package/dist/auth/lazy-with-retry.cjs +2 -0
  51. package/dist/auth/lazy-with-retry.cjs.map +1 -0
  52. package/dist/auth/lazy-with-retry.js +18 -0
  53. package/dist/auth/lazy-with-retry.js.map +1 -0
  54. package/dist/auth/refresh-queue.cjs +2 -0
  55. package/dist/auth/refresh-queue.cjs.map +1 -0
  56. package/dist/auth/refresh-queue.js +14 -0
  57. package/dist/auth/refresh-queue.js.map +1 -0
  58. package/dist/br/BrazilMap.cjs +2 -0
  59. package/dist/br/BrazilMap.cjs.map +1 -0
  60. package/dist/br/BrazilMap.js +195 -0
  61. package/dist/br/BrazilMap.js.map +1 -0
  62. package/dist/br/BrazilMap.module.css.cjs +2 -0
  63. package/dist/br/BrazilMap.module.css.cjs.map +1 -0
  64. package/dist/br/BrazilMap.module.css.js +28 -0
  65. package/dist/br/BrazilMap.module.css.js.map +1 -0
  66. package/dist/br/BrazilStateCitySelect.cjs +2 -0
  67. package/dist/br/BrazilStateCitySelect.cjs.map +1 -0
  68. package/dist/br/BrazilStateCitySelect.js +69 -0
  69. package/dist/br/BrazilStateCitySelect.js.map +1 -0
  70. package/dist/br/BrazilStateMap.cjs +2 -0
  71. package/dist/br/BrazilStateMap.cjs.map +1 -0
  72. package/dist/br/BrazilStateMap.js +181 -0
  73. package/dist/br/BrazilStateMap.js.map +1 -0
  74. package/dist/br/MapLegend.cjs +2 -0
  75. package/dist/br/MapLegend.cjs.map +1 -0
  76. package/dist/br/MapLegend.js +39 -0
  77. package/dist/br/MapLegend.js.map +1 -0
  78. package/dist/br/MapLegend.module.css.cjs +2 -0
  79. package/dist/br/MapLegend.module.css.cjs.map +1 -0
  80. package/dist/br/MapLegend.module.css.js +22 -0
  81. package/dist/br/MapLegend.module.css.js.map +1 -0
  82. package/dist/br/MapMarkers.cjs +2 -0
  83. package/dist/br/MapMarkers.cjs.map +1 -0
  84. package/dist/br/MapMarkers.js +31 -0
  85. package/dist/br/MapMarkers.js.map +1 -0
  86. package/dist/br/MapTooltip.cjs +2 -0
  87. package/dist/br/MapTooltip.cjs.map +1 -0
  88. package/dist/br/MapTooltip.js +19 -0
  89. package/dist/br/MapTooltip.js.map +1 -0
  90. package/dist/br/MunicipalitySearch.cjs +2 -0
  91. package/dist/br/MunicipalitySearch.cjs.map +1 -0
  92. package/dist/br/MunicipalitySearch.js +75 -0
  93. package/dist/br/MunicipalitySearch.js.map +1 -0
  94. package/dist/br/MunicipalitySearch.module.css.cjs +2 -0
  95. package/dist/br/MunicipalitySearch.module.css.cjs.map +1 -0
  96. package/dist/br/MunicipalitySearch.module.css.js +14 -0
  97. package/dist/br/MunicipalitySearch.module.css.js.map +1 -0
  98. package/dist/br/br-geo.cjs +2 -0
  99. package/dist/br/br-geo.cjs.map +1 -0
  100. package/dist/br/br-geo.js +6 -0
  101. package/dist/br/br-geo.js.map +1 -0
  102. package/dist/br/data/br-centroids.json.cjs +2 -0
  103. package/dist/br/data/br-centroids.json.cjs.map +1 -0
  104. package/dist/br/data/br-centroids.json.js +10 -0
  105. package/dist/br/data/br-centroids.json.js.map +1 -0
  106. package/dist/br/data/br-locations.json.cjs +2 -0
  107. package/dist/br/data/br-locations.json.cjs.map +1 -0
  108. package/dist/br/data/br-locations.json.js +8 -0
  109. package/dist/br/data/br-locations.json.js.map +1 -0
  110. package/dist/br/data/br-uf-geo.json.cjs +2 -0
  111. package/dist/br/data/br-uf-geo.json.cjs.map +1 -0
  112. package/dist/br/data/br-uf-geo.json.js +10 -0
  113. package/dist/br/data/br-uf-geo.json.js.map +1 -0
  114. package/dist/br/data/mun/AC.json.cjs +2 -0
  115. package/dist/br/data/mun/AC.json.cjs.map +1 -0
  116. package/dist/br/data/mun/AC.json.js +12 -0
  117. package/dist/br/data/mun/AC.json.js.map +1 -0
  118. package/dist/br/data/mun/AL.json.cjs +2 -0
  119. package/dist/br/data/mun/AL.json.cjs.map +1 -0
  120. package/dist/br/data/mun/AL.json.js +12 -0
  121. package/dist/br/data/mun/AL.json.js.map +1 -0
  122. package/dist/br/data/mun/AM.json.cjs +2 -0
  123. package/dist/br/data/mun/AM.json.cjs.map +1 -0
  124. package/dist/br/data/mun/AM.json.js +12 -0
  125. package/dist/br/data/mun/AM.json.js.map +1 -0
  126. package/dist/br/data/mun/AP.json.cjs +2 -0
  127. package/dist/br/data/mun/AP.json.cjs.map +1 -0
  128. package/dist/br/data/mun/AP.json.js +12 -0
  129. package/dist/br/data/mun/AP.json.js.map +1 -0
  130. package/dist/br/data/mun/BA.json.cjs +2 -0
  131. package/dist/br/data/mun/BA.json.cjs.map +1 -0
  132. package/dist/br/data/mun/BA.json.js +12 -0
  133. package/dist/br/data/mun/BA.json.js.map +1 -0
  134. package/dist/br/data/mun/CE.json.cjs +2 -0
  135. package/dist/br/data/mun/CE.json.cjs.map +1 -0
  136. package/dist/br/data/mun/CE.json.js +12 -0
  137. package/dist/br/data/mun/CE.json.js.map +1 -0
  138. package/dist/br/data/mun/DF.json.cjs +2 -0
  139. package/dist/br/data/mun/DF.json.cjs.map +1 -0
  140. package/dist/br/data/mun/DF.json.js +12 -0
  141. package/dist/br/data/mun/DF.json.js.map +1 -0
  142. package/dist/br/data/mun/ES.json.cjs +2 -0
  143. package/dist/br/data/mun/ES.json.cjs.map +1 -0
  144. package/dist/br/data/mun/ES.json.js +12 -0
  145. package/dist/br/data/mun/ES.json.js.map +1 -0
  146. package/dist/br/data/mun/GO.json.cjs +2 -0
  147. package/dist/br/data/mun/GO.json.cjs.map +1 -0
  148. package/dist/br/data/mun/GO.json.js +12 -0
  149. package/dist/br/data/mun/GO.json.js.map +1 -0
  150. package/dist/br/data/mun/MA.json.cjs +2 -0
  151. package/dist/br/data/mun/MA.json.cjs.map +1 -0
  152. package/dist/br/data/mun/MA.json.js +12 -0
  153. package/dist/br/data/mun/MA.json.js.map +1 -0
  154. package/dist/br/data/mun/MG.json.cjs +2 -0
  155. package/dist/br/data/mun/MG.json.cjs.map +1 -0
  156. package/dist/br/data/mun/MG.json.js +12 -0
  157. package/dist/br/data/mun/MG.json.js.map +1 -0
  158. package/dist/br/data/mun/MS.json.cjs +2 -0
  159. package/dist/br/data/mun/MS.json.cjs.map +1 -0
  160. package/dist/br/data/mun/MS.json.js +12 -0
  161. package/dist/br/data/mun/MS.json.js.map +1 -0
  162. package/dist/br/data/mun/MT.json.cjs +2 -0
  163. package/dist/br/data/mun/MT.json.cjs.map +1 -0
  164. package/dist/br/data/mun/MT.json.js +12 -0
  165. package/dist/br/data/mun/MT.json.js.map +1 -0
  166. package/dist/br/data/mun/PA.json.cjs +2 -0
  167. package/dist/br/data/mun/PA.json.cjs.map +1 -0
  168. package/dist/br/data/mun/PA.json.js +12 -0
  169. package/dist/br/data/mun/PA.json.js.map +1 -0
  170. package/dist/br/data/mun/PB.json.cjs +2 -0
  171. package/dist/br/data/mun/PB.json.cjs.map +1 -0
  172. package/dist/br/data/mun/PB.json.js +12 -0
  173. package/dist/br/data/mun/PB.json.js.map +1 -0
  174. package/dist/br/data/mun/PE.json.cjs +2 -0
  175. package/dist/br/data/mun/PE.json.cjs.map +1 -0
  176. package/dist/br/data/mun/PE.json.js +12 -0
  177. package/dist/br/data/mun/PE.json.js.map +1 -0
  178. package/dist/br/data/mun/PI.json.cjs +2 -0
  179. package/dist/br/data/mun/PI.json.cjs.map +1 -0
  180. package/dist/br/data/mun/PI.json.js +12 -0
  181. package/dist/br/data/mun/PI.json.js.map +1 -0
  182. package/dist/br/data/mun/PR.json.cjs +2 -0
  183. package/dist/br/data/mun/PR.json.cjs.map +1 -0
  184. package/dist/br/data/mun/PR.json.js +12 -0
  185. package/dist/br/data/mun/PR.json.js.map +1 -0
  186. package/dist/br/data/mun/RJ.json.cjs +2 -0
  187. package/dist/br/data/mun/RJ.json.cjs.map +1 -0
  188. package/dist/br/data/mun/RJ.json.js +12 -0
  189. package/dist/br/data/mun/RJ.json.js.map +1 -0
  190. package/dist/br/data/mun/RN.json.cjs +2 -0
  191. package/dist/br/data/mun/RN.json.cjs.map +1 -0
  192. package/dist/br/data/mun/RN.json.js +12 -0
  193. package/dist/br/data/mun/RN.json.js.map +1 -0
  194. package/dist/br/data/mun/RO.json.cjs +2 -0
  195. package/dist/br/data/mun/RO.json.cjs.map +1 -0
  196. package/dist/br/data/mun/RO.json.js +12 -0
  197. package/dist/br/data/mun/RO.json.js.map +1 -0
  198. package/dist/br/data/mun/RR.json.cjs +2 -0
  199. package/dist/br/data/mun/RR.json.cjs.map +1 -0
  200. package/dist/br/data/mun/RR.json.js +12 -0
  201. package/dist/br/data/mun/RR.json.js.map +1 -0
  202. package/dist/br/data/mun/RS.json.cjs +2 -0
  203. package/dist/br/data/mun/RS.json.cjs.map +1 -0
  204. package/dist/br/data/mun/RS.json.js +12 -0
  205. package/dist/br/data/mun/RS.json.js.map +1 -0
  206. package/dist/br/data/mun/SC.json.cjs +2 -0
  207. package/dist/br/data/mun/SC.json.cjs.map +1 -0
  208. package/dist/br/data/mun/SC.json.js +12 -0
  209. package/dist/br/data/mun/SC.json.js.map +1 -0
  210. package/dist/br/data/mun/SE.json.cjs +2 -0
  211. package/dist/br/data/mun/SE.json.cjs.map +1 -0
  212. package/dist/br/data/mun/SE.json.js +12 -0
  213. package/dist/br/data/mun/SE.json.js.map +1 -0
  214. package/dist/br/data/mun/SP.json.cjs +2 -0
  215. package/dist/br/data/mun/SP.json.cjs.map +1 -0
  216. package/dist/br/data/mun/SP.json.js +12 -0
  217. package/dist/br/data/mun/SP.json.js.map +1 -0
  218. package/dist/br/data/mun/TO.json.cjs +2 -0
  219. package/dist/br/data/mun/TO.json.cjs.map +1 -0
  220. package/dist/br/data/mun/TO.json.js +12 -0
  221. package/dist/br/data/mun/TO.json.js.map +1 -0
  222. package/dist/br/geocode.cjs +2 -0
  223. package/dist/br/geocode.cjs.map +1 -0
  224. package/dist/br/geocode.js +89 -0
  225. package/dist/br/geocode.js.map +1 -0
  226. package/dist/br/locations.cjs +2 -0
  227. package/dist/br/locations.cjs.map +1 -0
  228. package/dist/br/locations.js +80 -0
  229. package/dist/br/locations.js.map +1 -0
  230. package/dist/br/regions.cjs +2 -0
  231. package/dist/br/regions.cjs.map +1 -0
  232. package/dist/br/regions.js +18 -0
  233. package/dist/br/regions.js.map +1 -0
  234. package/dist/br/scales.cjs +2 -0
  235. package/dist/br/scales.cjs.map +1 -0
  236. package/dist/br/scales.js +65 -0
  237. package/dist/br/scales.js.map +1 -0
  238. package/dist/br/state-geo.cjs +2 -0
  239. package/dist/br/state-geo.cjs.map +1 -0
  240. package/dist/br/state-geo.js +39 -0
  241. package/dist/br/state-geo.js.map +1 -0
  242. package/dist/br/svg-utils.cjs +2 -0
  243. package/dist/br/svg-utils.cjs.map +1 -0
  244. package/dist/br/svg-utils.js +46 -0
  245. package/dist/br/svg-utils.js.map +1 -0
  246. package/dist/br/use-map-hover.cjs +2 -0
  247. package/dist/br/use-map-hover.cjs.map +1 -0
  248. package/dist/br/use-map-hover.js +15 -0
  249. package/dist/br/use-map-hover.js.map +1 -0
  250. package/dist/br/use-map-zoom.cjs +2 -0
  251. package/dist/br/use-map-zoom.cjs.map +1 -0
  252. package/dist/br/use-map-zoom.js +48 -0
  253. package/dist/br/use-map-zoom.js.map +1 -0
  254. package/dist/br.cjs +1 -1
  255. package/dist/br.cjs.map +1 -1
  256. package/dist/br.js +46 -945
  257. package/dist/br.js.map +1 -1
  258. package/dist/charts/AreaChart.cjs +2 -0
  259. package/dist/charts/AreaChart.cjs.map +1 -0
  260. package/dist/charts/AreaChart.js +47 -0
  261. package/dist/charts/AreaChart.js.map +1 -0
  262. package/dist/charts/BarChart.cjs +2 -0
  263. package/dist/charts/BarChart.cjs.map +1 -0
  264. package/dist/charts/BarChart.js +41 -0
  265. package/dist/charts/BarChart.js.map +1 -0
  266. package/dist/charts/LineChart.cjs +2 -0
  267. package/dist/charts/LineChart.cjs.map +1 -0
  268. package/dist/charts/LineChart.js +41 -0
  269. package/dist/charts/LineChart.js.map +1 -0
  270. package/dist/charts/PieChart.cjs +2 -0
  271. package/dist/charts/PieChart.cjs.map +1 -0
  272. package/dist/charts/PieChart.js +39 -0
  273. package/dist/charts/PieChart.js.map +1 -0
  274. package/dist/charts/RadarChart.cjs +2 -0
  275. package/dist/charts/RadarChart.cjs.map +1 -0
  276. package/dist/charts/RadarChart.js +43 -0
  277. package/dist/charts/RadarChart.js.map +1 -0
  278. package/dist/charts/palette.cjs +2 -0
  279. package/dist/charts/palette.cjs.map +1 -0
  280. package/dist/charts/palette.js +18 -0
  281. package/dist/charts/palette.js.map +1 -0
  282. package/dist/charts/types.cjs +2 -0
  283. package/dist/charts/types.cjs.map +1 -0
  284. package/dist/charts/types.js +8 -0
  285. package/dist/charts/types.js.map +1 -0
  286. package/dist/charts.cjs +1 -1
  287. package/dist/charts.cjs.map +1 -1
  288. package/dist/charts.js +12 -193
  289. package/dist/charts.js.map +1 -1
  290. package/dist/components/Accordion/Accordion.cjs +2 -0
  291. package/dist/components/Accordion/Accordion.cjs.map +1 -0
  292. package/dist/components/Accordion/Accordion.js +78 -0
  293. package/dist/components/Accordion/Accordion.js.map +1 -0
  294. package/dist/components/Accordion/Accordion.module.css.cjs +2 -0
  295. package/dist/components/Accordion/Accordion.module.css.cjs.map +1 -0
  296. package/dist/components/Accordion/Accordion.module.css.js +20 -0
  297. package/dist/components/Accordion/Accordion.module.css.js.map +1 -0
  298. package/dist/components/Alert/Alert.cjs +2 -0
  299. package/dist/components/Alert/Alert.cjs.map +1 -0
  300. package/dist/components/Alert/Alert.js +63 -0
  301. package/dist/components/Alert/Alert.js.map +1 -0
  302. package/dist/components/Alert/Alert.module.css.cjs +2 -0
  303. package/dist/components/Alert/Alert.module.css.cjs.map +1 -0
  304. package/dist/components/Alert/Alert.module.css.js +32 -0
  305. package/dist/components/Alert/Alert.module.css.js.map +1 -0
  306. package/dist/components/AppBar/AppBar.cjs +2 -0
  307. package/dist/components/AppBar/AppBar.cjs.map +1 -0
  308. package/dist/components/AppBar/AppBar.js +59 -0
  309. package/dist/components/AppBar/AppBar.js.map +1 -0
  310. package/dist/components/AppBar/AppBar.module.css.cjs +2 -0
  311. package/dist/components/AppBar/AppBar.module.css.cjs.map +1 -0
  312. package/dist/components/AppBar/AppBar.module.css.js +32 -0
  313. package/dist/components/AppBar/AppBar.module.css.js.map +1 -0
  314. package/dist/components/AppShell/AppShell.cjs +2 -0
  315. package/dist/components/AppShell/AppShell.cjs.map +1 -0
  316. package/dist/components/AppShell/AppShell.js +29 -0
  317. package/dist/components/AppShell/AppShell.js.map +1 -0
  318. package/dist/components/AppShell/AppShell.module.css.cjs +2 -0
  319. package/dist/components/AppShell/AppShell.module.css.cjs.map +1 -0
  320. package/dist/components/AppShell/AppShell.module.css.js +20 -0
  321. package/dist/components/AppShell/AppShell.module.css.js.map +1 -0
  322. package/dist/components/AspectRatio/AspectRatio.cjs +2 -0
  323. package/dist/components/AspectRatio/AspectRatio.cjs.map +1 -0
  324. package/dist/components/AspectRatio/AspectRatio.js +17 -0
  325. package/dist/components/AspectRatio/AspectRatio.js.map +1 -0
  326. package/dist/components/AspectRatio/AspectRatio.module.css.cjs +2 -0
  327. package/dist/components/AspectRatio/AspectRatio.module.css.cjs.map +1 -0
  328. package/dist/components/AspectRatio/AspectRatio.module.css.js +8 -0
  329. package/dist/components/AspectRatio/AspectRatio.module.css.js.map +1 -0
  330. package/dist/components/Avatar/Avatar.cjs +2 -0
  331. package/dist/components/Avatar/Avatar.cjs.map +1 -0
  332. package/dist/components/Avatar/Avatar.js +47 -0
  333. package/dist/components/Avatar/Avatar.js.map +1 -0
  334. package/dist/components/Avatar/Avatar.module.css.cjs +2 -0
  335. package/dist/components/Avatar/Avatar.module.css.cjs.map +1 -0
  336. package/dist/components/Avatar/Avatar.module.css.js +30 -0
  337. package/dist/components/Avatar/Avatar.module.css.js.map +1 -0
  338. package/dist/components/Badge/Badge.cjs +2 -0
  339. package/dist/components/Badge/Badge.cjs.map +1 -0
  340. package/dist/components/Badge/Badge.js +37 -0
  341. package/dist/components/Badge/Badge.js.map +1 -0
  342. package/dist/components/Badge/Badge.module.css.cjs +2 -0
  343. package/dist/components/Badge/Badge.module.css.cjs.map +1 -0
  344. package/dist/components/Badge/Badge.module.css.js +34 -0
  345. package/dist/components/Badge/Badge.module.css.js.map +1 -0
  346. package/dist/components/Banner/Banner.cjs +2 -0
  347. package/dist/components/Banner/Banner.cjs.map +1 -0
  348. package/dist/components/Banner/Banner.js +41 -0
  349. package/dist/components/Banner/Banner.js.map +1 -0
  350. package/dist/components/Banner/Banner.module.css.cjs +2 -0
  351. package/dist/components/Banner/Banner.module.css.cjs.map +1 -0
  352. package/dist/components/Banner/Banner.module.css.js +28 -0
  353. package/dist/components/Banner/Banner.module.css.js.map +1 -0
  354. package/dist/components/BottomNavigation/BottomNavigation.cjs +2 -0
  355. package/dist/components/BottomNavigation/BottomNavigation.cjs.map +1 -0
  356. package/dist/components/BottomNavigation/BottomNavigation.js +37 -0
  357. package/dist/components/BottomNavigation/BottomNavigation.js.map +1 -0
  358. package/dist/components/BottomNavigation/BottomNavigation.module.css.cjs +2 -0
  359. package/dist/components/BottomNavigation/BottomNavigation.module.css.cjs.map +1 -0
  360. package/dist/components/BottomNavigation/BottomNavigation.module.css.js +20 -0
  361. package/dist/components/BottomNavigation/BottomNavigation.module.css.js.map +1 -0
  362. package/dist/components/BottomSheet/BottomSheet.cjs +2 -0
  363. package/dist/components/BottomSheet/BottomSheet.cjs.map +1 -0
  364. package/dist/components/BottomSheet/BottomSheet.js +60 -0
  365. package/dist/components/BottomSheet/BottomSheet.js.map +1 -0
  366. package/dist/components/BottomSheet/BottomSheet.module.css.cjs +2 -0
  367. package/dist/components/BottomSheet/BottomSheet.module.css.cjs.map +1 -0
  368. package/dist/components/BottomSheet/BottomSheet.module.css.js +20 -0
  369. package/dist/components/BottomSheet/BottomSheet.module.css.js.map +1 -0
  370. package/dist/components/Breadcrumbs/Breadcrumbs.cjs +2 -0
  371. package/dist/components/Breadcrumbs/Breadcrumbs.cjs.map +1 -0
  372. package/dist/components/Breadcrumbs/Breadcrumbs.js +34 -0
  373. package/dist/components/Breadcrumbs/Breadcrumbs.js.map +1 -0
  374. package/dist/components/Breadcrumbs/Breadcrumbs.module.css.cjs +2 -0
  375. package/dist/components/Breadcrumbs/Breadcrumbs.module.css.cjs.map +1 -0
  376. package/dist/components/Breadcrumbs/Breadcrumbs.module.css.js +16 -0
  377. package/dist/components/Breadcrumbs/Breadcrumbs.module.css.js.map +1 -0
  378. package/dist/components/Button/Button.cjs +2 -0
  379. package/dist/components/Button/Button.cjs.map +1 -0
  380. package/dist/components/Button/Button.js +68 -0
  381. package/dist/components/Button/Button.js.map +1 -0
  382. package/dist/components/Button/Button.module.css.cjs +2 -0
  383. package/dist/components/Button/Button.module.css.cjs.map +1 -0
  384. package/dist/components/Button/Button.module.css.js +50 -0
  385. package/dist/components/Button/Button.module.css.js.map +1 -0
  386. package/dist/components/Calendar/Calendar.cjs +2 -0
  387. package/dist/components/Calendar/Calendar.cjs.map +1 -0
  388. package/dist/components/Calendar/Calendar.js +156 -0
  389. package/dist/components/Calendar/Calendar.js.map +1 -0
  390. package/dist/components/Calendar/Calendar.module.css.cjs +2 -0
  391. package/dist/components/Calendar/Calendar.module.css.cjs.map +1 -0
  392. package/dist/components/Calendar/Calendar.module.css.js +28 -0
  393. package/dist/components/Calendar/Calendar.module.css.js.map +1 -0
  394. package/dist/components/Card/Card.cjs +2 -0
  395. package/dist/components/Card/Card.cjs.map +1 -0
  396. package/dist/components/Card/Card.js +45 -0
  397. package/dist/components/Card/Card.js.map +1 -0
  398. package/dist/components/Card/Card.module.css.cjs +2 -0
  399. package/dist/components/Card/Card.module.css.cjs.map +1 -0
  400. package/dist/components/Card/Card.module.css.js +28 -0
  401. package/dist/components/Card/Card.module.css.js.map +1 -0
  402. package/dist/components/Carousel/Carousel.cjs +2 -0
  403. package/dist/components/Carousel/Carousel.cjs.map +1 -0
  404. package/dist/components/Carousel/Carousel.js +97 -0
  405. package/dist/components/Carousel/Carousel.js.map +1 -0
  406. package/dist/components/Carousel/Carousel.module.css.cjs +2 -0
  407. package/dist/components/Carousel/Carousel.module.css.cjs.map +1 -0
  408. package/dist/components/Carousel/Carousel.module.css.js +26 -0
  409. package/dist/components/Carousel/Carousel.module.css.js.map +1 -0
  410. package/dist/components/Center/Center.cjs +2 -0
  411. package/dist/components/Center/Center.cjs.map +1 -0
  412. package/dist/components/Center/Center.js +23 -0
  413. package/dist/components/Center/Center.js.map +1 -0
  414. package/dist/components/Center/Center.module.css.cjs +2 -0
  415. package/dist/components/Center/Center.module.css.cjs.map +1 -0
  416. package/dist/components/Center/Center.module.css.js +14 -0
  417. package/dist/components/Center/Center.module.css.js.map +1 -0
  418. package/dist/components/Checkbox/Checkbox.cjs +2 -0
  419. package/dist/components/Checkbox/Checkbox.cjs.map +1 -0
  420. package/dist/components/Checkbox/Checkbox.js +49 -0
  421. package/dist/components/Checkbox/Checkbox.js.map +1 -0
  422. package/dist/components/Checkbox/Checkbox.module.css.cjs +2 -0
  423. package/dist/components/Checkbox/Checkbox.module.css.cjs.map +1 -0
  424. package/dist/components/Checkbox/Checkbox.module.css.js +20 -0
  425. package/dist/components/Checkbox/Checkbox.module.css.js.map +1 -0
  426. package/dist/components/ChipInput/ChipInput.cjs +2 -0
  427. package/dist/components/ChipInput/ChipInput.cjs.map +1 -0
  428. package/dist/components/ChipInput/ChipInput.js +79 -0
  429. package/dist/components/ChipInput/ChipInput.js.map +1 -0
  430. package/dist/components/ChipInput/ChipInput.module.css.cjs +2 -0
  431. package/dist/components/ChipInput/ChipInput.module.css.cjs.map +1 -0
  432. package/dist/components/ChipInput/ChipInput.module.css.js +24 -0
  433. package/dist/components/ChipInput/ChipInput.module.css.js.map +1 -0
  434. package/dist/components/ClickOutside/ClickOutside.cjs +2 -0
  435. package/dist/components/ClickOutside/ClickOutside.cjs.map +1 -0
  436. package/dist/components/ClickOutside/ClickOutside.js +20 -0
  437. package/dist/components/ClickOutside/ClickOutside.js.map +1 -0
  438. package/dist/components/Collapsible/Collapsible.cjs +2 -0
  439. package/dist/components/Collapsible/Collapsible.cjs.map +1 -0
  440. package/dist/components/Collapsible/Collapsible.js +47 -0
  441. package/dist/components/Collapsible/Collapsible.js.map +1 -0
  442. package/dist/components/Collapsible/Collapsible.module.css.cjs +2 -0
  443. package/dist/components/Collapsible/Collapsible.module.css.cjs.map +1 -0
  444. package/dist/components/Collapsible/Collapsible.module.css.js +12 -0
  445. package/dist/components/Collapsible/Collapsible.module.css.js.map +1 -0
  446. package/dist/components/Combobox/Combobox.cjs +2 -0
  447. package/dist/components/Combobox/Combobox.cjs.map +1 -0
  448. package/dist/components/Combobox/Combobox.js +103 -0
  449. package/dist/components/Combobox/Combobox.js.map +1 -0
  450. package/dist/components/Combobox/Combobox.module.css.cjs +2 -0
  451. package/dist/components/Combobox/Combobox.module.css.cjs.map +1 -0
  452. package/dist/components/Combobox/Combobox.module.css.js +32 -0
  453. package/dist/components/Combobox/Combobox.module.css.js.map +1 -0
  454. package/dist/components/Command/Command.cjs +2 -0
  455. package/dist/components/Command/Command.cjs.map +1 -0
  456. package/dist/components/Command/Command.js +143 -0
  457. package/dist/components/Command/Command.js.map +1 -0
  458. package/dist/components/Command/Command.module.css.cjs +2 -0
  459. package/dist/components/Command/Command.module.css.cjs.map +1 -0
  460. package/dist/components/Command/Command.module.css.js +34 -0
  461. package/dist/components/Command/Command.module.css.js.map +1 -0
  462. package/dist/components/ConditionalWrapper/ConditionalWrapper.cjs +2 -0
  463. package/dist/components/ConditionalWrapper/ConditionalWrapper.cjs.map +1 -0
  464. package/dist/components/ConditionalWrapper/ConditionalWrapper.js +12 -0
  465. package/dist/components/ConditionalWrapper/ConditionalWrapper.js.map +1 -0
  466. package/dist/components/ConfirmDialog/ConfirmDialog.cjs +2 -0
  467. package/dist/components/ConfirmDialog/ConfirmDialog.cjs.map +1 -0
  468. package/dist/components/ConfirmDialog/ConfirmDialog.js +35 -0
  469. package/dist/components/ConfirmDialog/ConfirmDialog.js.map +1 -0
  470. package/dist/components/ContextMenu/ContextMenu.cjs +2 -0
  471. package/dist/components/ContextMenu/ContextMenu.cjs.map +1 -0
  472. package/dist/components/ContextMenu/ContextMenu.js +86 -0
  473. package/dist/components/ContextMenu/ContextMenu.js.map +1 -0
  474. package/dist/components/ContextMenu/ContextMenu.module.css.cjs +2 -0
  475. package/dist/components/ContextMenu/ContextMenu.module.css.cjs.map +1 -0
  476. package/dist/components/ContextMenu/ContextMenu.module.css.js +18 -0
  477. package/dist/components/ContextMenu/ContextMenu.module.css.js.map +1 -0
  478. package/dist/components/CopyButton/CopyButton.cjs +2 -0
  479. package/dist/components/CopyButton/CopyButton.cjs.map +1 -0
  480. package/dist/components/CopyButton/CopyButton.js +43 -0
  481. package/dist/components/CopyButton/CopyButton.js.map +1 -0
  482. package/dist/components/CopyButton/CopyButton.module.css.cjs +2 -0
  483. package/dist/components/CopyButton/CopyButton.module.css.cjs.map +1 -0
  484. package/dist/components/CopyButton/CopyButton.module.css.js +10 -0
  485. package/dist/components/CopyButton/CopyButton.module.css.js.map +1 -0
  486. package/dist/components/DataList/DataList.cjs +2 -0
  487. package/dist/components/DataList/DataList.cjs.map +1 -0
  488. package/dist/components/DataList/DataList.js +17 -0
  489. package/dist/components/DataList/DataList.js.map +1 -0
  490. package/dist/components/DataList/DataList.module.css.cjs +2 -0
  491. package/dist/components/DataList/DataList.module.css.cjs.map +1 -0
  492. package/dist/components/DataList/DataList.module.css.js +10 -0
  493. package/dist/components/DataList/DataList.module.css.js.map +1 -0
  494. package/dist/components/DataTable/DataTable.cjs +2 -0
  495. package/dist/components/DataTable/DataTable.cjs.map +1 -0
  496. package/dist/components/DataTable/DataTable.js +111 -0
  497. package/dist/components/DataTable/DataTable.js.map +1 -0
  498. package/dist/components/DataTable/DataTable.module.css.cjs +2 -0
  499. package/dist/components/DataTable/DataTable.module.css.cjs.map +1 -0
  500. package/dist/components/DataTable/DataTable.module.css.js +14 -0
  501. package/dist/components/DataTable/DataTable.module.css.js.map +1 -0
  502. package/dist/components/DatePicker/DatePicker.cjs +2 -0
  503. package/dist/components/DatePicker/DatePicker.cjs.map +1 -0
  504. package/dist/components/DatePicker/DatePicker.js +19 -0
  505. package/dist/components/DatePicker/DatePicker.js.map +1 -0
  506. package/dist/components/DateRangePicker/DateRangePicker.cjs +2 -0
  507. package/dist/components/DateRangePicker/DateRangePicker.cjs.map +1 -0
  508. package/dist/components/DateRangePicker/DateRangePicker.js +152 -0
  509. package/dist/components/DateRangePicker/DateRangePicker.js.map +1 -0
  510. package/dist/components/DateRangePicker/DateRangePicker.module.css.cjs +2 -0
  511. package/dist/components/DateRangePicker/DateRangePicker.module.css.cjs.map +1 -0
  512. package/dist/components/DateRangePicker/DateRangePicker.module.css.js +40 -0
  513. package/dist/components/DateRangePicker/DateRangePicker.module.css.js.map +1 -0
  514. package/dist/components/DescriptionList/DescriptionList.cjs +2 -0
  515. package/dist/components/DescriptionList/DescriptionList.cjs.map +1 -0
  516. package/dist/components/DescriptionList/DescriptionList.js +14 -0
  517. package/dist/components/DescriptionList/DescriptionList.js.map +1 -0
  518. package/dist/components/DescriptionList/DescriptionList.module.css.cjs +2 -0
  519. package/dist/components/DescriptionList/DescriptionList.module.css.cjs.map +1 -0
  520. package/dist/components/DescriptionList/DescriptionList.module.css.js +12 -0
  521. package/dist/components/DescriptionList/DescriptionList.module.css.js.map +1 -0
  522. package/dist/components/Divider/Divider.cjs +2 -0
  523. package/dist/components/Divider/Divider.cjs.map +1 -0
  524. package/dist/components/Divider/Divider.js +57 -0
  525. package/dist/components/Divider/Divider.js.map +1 -0
  526. package/dist/components/Divider/Divider.module.css.cjs +2 -0
  527. package/dist/components/Divider/Divider.module.css.cjs.map +1 -0
  528. package/dist/components/Divider/Divider.module.css.js +20 -0
  529. package/dist/components/Divider/Divider.module.css.js.map +1 -0
  530. package/dist/components/Drawer/Drawer.cjs +2 -0
  531. package/dist/components/Drawer/Drawer.cjs.map +1 -0
  532. package/dist/components/Drawer/Drawer.js +96 -0
  533. package/dist/components/Drawer/Drawer.js.map +1 -0
  534. package/dist/components/Drawer/Drawer.module.css.cjs +2 -0
  535. package/dist/components/Drawer/Drawer.module.css.cjs.map +1 -0
  536. package/dist/components/Drawer/Drawer.module.css.js +42 -0
  537. package/dist/components/Drawer/Drawer.module.css.js.map +1 -0
  538. package/dist/components/DropdownMenu/DropdownMenu.cjs +2 -0
  539. package/dist/components/DropdownMenu/DropdownMenu.cjs.map +1 -0
  540. package/dist/components/DropdownMenu/DropdownMenu.js +109 -0
  541. package/dist/components/DropdownMenu/DropdownMenu.js.map +1 -0
  542. package/dist/components/DropdownMenu/DropdownMenu.module.css.cjs +2 -0
  543. package/dist/components/DropdownMenu/DropdownMenu.module.css.cjs.map +1 -0
  544. package/dist/components/DropdownMenu/DropdownMenu.module.css.js +28 -0
  545. package/dist/components/DropdownMenu/DropdownMenu.module.css.js.map +1 -0
  546. package/dist/components/Dropzone/Dropzone.cjs +2 -0
  547. package/dist/components/Dropzone/Dropzone.cjs.map +1 -0
  548. package/dist/components/Dropzone/Dropzone.js +80 -0
  549. package/dist/components/Dropzone/Dropzone.js.map +1 -0
  550. package/dist/components/Dropzone/Dropzone.module.css.cjs +2 -0
  551. package/dist/components/Dropzone/Dropzone.module.css.cjs.map +1 -0
  552. package/dist/components/Dropzone/Dropzone.module.css.js +16 -0
  553. package/dist/components/Dropzone/Dropzone.module.css.js.map +1 -0
  554. package/dist/components/EmptyState/EmptyState.cjs +2 -0
  555. package/dist/components/EmptyState/EmptyState.cjs.map +1 -0
  556. package/dist/components/EmptyState/EmptyState.js +15 -0
  557. package/dist/components/EmptyState/EmptyState.js.map +1 -0
  558. package/dist/components/EmptyState/EmptyState.module.css.cjs +2 -0
  559. package/dist/components/EmptyState/EmptyState.module.css.cjs.map +1 -0
  560. package/dist/components/EmptyState/EmptyState.module.css.js +16 -0
  561. package/dist/components/EmptyState/EmptyState.module.css.js.map +1 -0
  562. package/dist/components/ErrorState/ErrorState.cjs +2 -0
  563. package/dist/components/ErrorState/ErrorState.cjs.map +1 -0
  564. package/dist/components/ErrorState/ErrorState.js +35 -0
  565. package/dist/components/ErrorState/ErrorState.js.map +1 -0
  566. package/dist/components/ErrorState/ErrorState.module.css.cjs +2 -0
  567. package/dist/components/ErrorState/ErrorState.module.css.cjs.map +1 -0
  568. package/dist/components/ErrorState/ErrorState.module.css.js +16 -0
  569. package/dist/components/ErrorState/ErrorState.module.css.js.map +1 -0
  570. package/dist/components/ErrorText/ErrorText.cjs +2 -0
  571. package/dist/components/ErrorText/ErrorText.cjs.map +1 -0
  572. package/dist/components/ErrorText/ErrorText.js +10 -0
  573. package/dist/components/ErrorText/ErrorText.js.map +1 -0
  574. package/dist/components/ErrorText/ErrorText.module.css.cjs +2 -0
  575. package/dist/components/ErrorText/ErrorText.module.css.cjs.map +1 -0
  576. package/dist/components/ErrorText/ErrorText.module.css.js +8 -0
  577. package/dist/components/ErrorText/ErrorText.module.css.js.map +1 -0
  578. package/dist/components/FileUpload/FileUpload.cjs +2 -0
  579. package/dist/components/FileUpload/FileUpload.cjs.map +1 -0
  580. package/dist/components/FileUpload/FileUpload.js +127 -0
  581. package/dist/components/FileUpload/FileUpload.js.map +1 -0
  582. package/dist/components/FileUpload/FileUpload.module.css.cjs +2 -0
  583. package/dist/components/FileUpload/FileUpload.module.css.cjs.map +1 -0
  584. package/dist/components/FileUpload/FileUpload.module.css.js +32 -0
  585. package/dist/components/FileUpload/FileUpload.module.css.js.map +1 -0
  586. package/dist/components/FloatingActionButton/FloatingActionButton.cjs +2 -0
  587. package/dist/components/FloatingActionButton/FloatingActionButton.cjs.map +1 -0
  588. package/dist/components/FloatingActionButton/FloatingActionButton.js +39 -0
  589. package/dist/components/FloatingActionButton/FloatingActionButton.js.map +1 -0
  590. package/dist/components/FloatingActionButton/FloatingActionButton.module.css.cjs +2 -0
  591. package/dist/components/FloatingActionButton/FloatingActionButton.module.css.cjs.map +1 -0
  592. package/dist/components/FloatingActionButton/FloatingActionButton.module.css.js +32 -0
  593. package/dist/components/FloatingActionButton/FloatingActionButton.module.css.js.map +1 -0
  594. package/dist/components/For/For.cjs +2 -0
  595. package/dist/components/For/For.cjs.map +1 -0
  596. package/dist/components/For/For.js +9 -0
  597. package/dist/components/For/For.js.map +1 -0
  598. package/dist/components/Form/Form.cjs +2 -0
  599. package/dist/components/Form/Form.cjs.map +1 -0
  600. package/dist/components/Form/Form.js +72 -0
  601. package/dist/components/Form/Form.js.map +1 -0
  602. package/dist/components/Form/Form.module.css.cjs +2 -0
  603. package/dist/components/Form/Form.module.css.cjs.map +1 -0
  604. package/dist/components/Form/Form.module.css.js +36 -0
  605. package/dist/components/Form/Form.module.css.js.map +1 -0
  606. package/dist/components/HoverCard/HoverCard.cjs +2 -0
  607. package/dist/components/HoverCard/HoverCard.cjs.map +1 -0
  608. package/dist/components/HoverCard/HoverCard.js +48 -0
  609. package/dist/components/HoverCard/HoverCard.js.map +1 -0
  610. package/dist/components/HoverCard/HoverCard.module.css.cjs +2 -0
  611. package/dist/components/HoverCard/HoverCard.module.css.cjs.map +1 -0
  612. package/dist/components/HoverCard/HoverCard.module.css.js +22 -0
  613. package/dist/components/HoverCard/HoverCard.module.css.js.map +1 -0
  614. package/dist/components/Image/Image.cjs +2 -0
  615. package/dist/components/Image/Image.cjs.map +1 -0
  616. package/dist/components/Image/Image.js +32 -0
  617. package/dist/components/Image/Image.js.map +1 -0
  618. package/dist/components/Image/Image.module.css.cjs +2 -0
  619. package/dist/components/Image/Image.module.css.cjs.map +1 -0
  620. package/dist/components/Image/Image.module.css.js +8 -0
  621. package/dist/components/Image/Image.module.css.js.map +1 -0
  622. package/dist/components/Input/Input.cjs +2 -0
  623. package/dist/components/Input/Input.cjs.map +1 -0
  624. package/dist/components/Input/Input.js +52 -0
  625. package/dist/components/Input/Input.js.map +1 -0
  626. package/dist/components/Input/Input.module.css.cjs +2 -0
  627. package/dist/components/Input/Input.module.css.cjs.map +1 -0
  628. package/dist/components/Input/Input.module.css.js +36 -0
  629. package/dist/components/Input/Input.module.css.js.map +1 -0
  630. package/dist/components/InstallBanner/InstallBanner.cjs +2 -0
  631. package/dist/components/InstallBanner/InstallBanner.cjs.map +1 -0
  632. package/dist/components/InstallBanner/InstallBanner.js +66 -0
  633. package/dist/components/InstallBanner/InstallBanner.js.map +1 -0
  634. package/dist/components/InstallBanner/InstallBanner.module.css.cjs +2 -0
  635. package/dist/components/InstallBanner/InstallBanner.module.css.cjs.map +1 -0
  636. package/dist/components/InstallBanner/InstallBanner.module.css.js +18 -0
  637. package/dist/components/InstallBanner/InstallBanner.module.css.js.map +1 -0
  638. package/dist/components/InstallButton/InstallButton.cjs +2 -0
  639. package/dist/components/InstallButton/InstallButton.cjs.map +1 -0
  640. package/dist/components/InstallButton/InstallButton.js +20 -0
  641. package/dist/components/InstallButton/InstallButton.js.map +1 -0
  642. package/dist/components/Kbd/Kbd.cjs +2 -0
  643. package/dist/components/Kbd/Kbd.cjs.map +1 -0
  644. package/dist/components/Kbd/Kbd.js +10 -0
  645. package/dist/components/Kbd/Kbd.js.map +1 -0
  646. package/dist/components/Kbd/Kbd.module.css.cjs +2 -0
  647. package/dist/components/Kbd/Kbd.module.css.cjs.map +1 -0
  648. package/dist/components/Kbd/Kbd.module.css.js +14 -0
  649. package/dist/components/Kbd/Kbd.module.css.js.map +1 -0
  650. package/dist/components/Label/Label.cjs +2 -0
  651. package/dist/components/Label/Label.cjs.map +1 -0
  652. package/dist/components/Label/Label.js +14 -0
  653. package/dist/components/Label/Label.js.map +1 -0
  654. package/dist/components/Label/Label.module.css.cjs +2 -0
  655. package/dist/components/Label/Label.module.css.cjs.map +1 -0
  656. package/dist/components/Label/Label.module.css.js +10 -0
  657. package/dist/components/Label/Label.module.css.js.map +1 -0
  658. package/dist/components/Layout/Layout.cjs +2 -0
  659. package/dist/components/Layout/Layout.cjs.map +1 -0
  660. package/dist/components/Layout/Layout.js +72 -0
  661. package/dist/components/Layout/Layout.js.map +1 -0
  662. package/dist/components/Layout/Layout.module.css.cjs +2 -0
  663. package/dist/components/Layout/Layout.module.css.cjs.map +1 -0
  664. package/dist/components/Layout/Layout.module.css.js +44 -0
  665. package/dist/components/Layout/Layout.module.css.js.map +1 -0
  666. package/dist/components/ListTile/ListTile.cjs +2 -0
  667. package/dist/components/ListTile/ListTile.cjs.map +1 -0
  668. package/dist/components/ListTile/ListTile.js +42 -0
  669. package/dist/components/ListTile/ListTile.js.map +1 -0
  670. package/dist/components/ListTile/ListTile.module.css.cjs +2 -0
  671. package/dist/components/ListTile/ListTile.module.css.cjs.map +1 -0
  672. package/dist/components/ListTile/ListTile.module.css.js +24 -0
  673. package/dist/components/ListTile/ListTile.module.css.js.map +1 -0
  674. package/dist/components/Menubar/Menubar.cjs +2 -0
  675. package/dist/components/Menubar/Menubar.cjs.map +1 -0
  676. package/dist/components/Menubar/Menubar.js +84 -0
  677. package/dist/components/Menubar/Menubar.js.map +1 -0
  678. package/dist/components/Menubar/Menubar.module.css.cjs +2 -0
  679. package/dist/components/Menubar/Menubar.module.css.cjs.map +1 -0
  680. package/dist/components/Menubar/Menubar.module.css.js +24 -0
  681. package/dist/components/Menubar/Menubar.module.css.js.map +1 -0
  682. package/dist/components/Modal/Modal.cjs +2 -0
  683. package/dist/components/Modal/Modal.cjs.map +1 -0
  684. package/dist/components/Modal/Modal.js +97 -0
  685. package/dist/components/Modal/Modal.js.map +1 -0
  686. package/dist/components/Modal/Modal.module.css.cjs +2 -0
  687. package/dist/components/Modal/Modal.module.css.cjs.map +1 -0
  688. package/dist/components/Modal/Modal.module.css.js +40 -0
  689. package/dist/components/Modal/Modal.module.css.js.map +1 -0
  690. package/dist/components/ModalsManager/ModalsManager.cjs +2 -0
  691. package/dist/components/ModalsManager/ModalsManager.cjs.map +1 -0
  692. package/dist/components/ModalsManager/ModalsManager.js +88 -0
  693. package/dist/components/ModalsManager/ModalsManager.js.map +1 -0
  694. package/dist/components/ModalsManager/ModalsManager.module.css.cjs +2 -0
  695. package/dist/components/ModalsManager/ModalsManager.module.css.cjs.map +1 -0
  696. package/dist/components/ModalsManager/ModalsManager.module.css.js +8 -0
  697. package/dist/components/ModalsManager/ModalsManager.module.css.js.map +1 -0
  698. package/dist/components/Money/Money.cjs +2 -0
  699. package/dist/components/Money/Money.cjs.map +1 -0
  700. package/dist/components/Money/Money.js +12 -0
  701. package/dist/components/Money/Money.js.map +1 -0
  702. package/dist/components/MultiSelect/MultiSelect.cjs +2 -0
  703. package/dist/components/MultiSelect/MultiSelect.cjs.map +1 -0
  704. package/dist/components/MultiSelect/MultiSelect.js +155 -0
  705. package/dist/components/MultiSelect/MultiSelect.js.map +1 -0
  706. package/dist/components/MultiSelect/MultiSelect.module.css.cjs +2 -0
  707. package/dist/components/MultiSelect/MultiSelect.module.css.cjs.map +1 -0
  708. package/dist/components/MultiSelect/MultiSelect.module.css.js +38 -0
  709. package/dist/components/MultiSelect/MultiSelect.module.css.js.map +1 -0
  710. package/dist/components/NProgress/NProgress.cjs +2 -0
  711. package/dist/components/NProgress/NProgress.cjs.map +1 -0
  712. package/dist/components/NProgress/NProgress.js +66 -0
  713. package/dist/components/NProgress/NProgress.js.map +1 -0
  714. package/dist/components/NProgress/NProgress.module.css.cjs +2 -0
  715. package/dist/components/NProgress/NProgress.module.css.cjs.map +1 -0
  716. package/dist/components/NProgress/NProgress.module.css.js +8 -0
  717. package/dist/components/NProgress/NProgress.module.css.js.map +1 -0
  718. package/dist/components/Navbar/Navbar.cjs +2 -0
  719. package/dist/components/Navbar/Navbar.cjs.map +1 -0
  720. package/dist/components/Navbar/Navbar.js +36 -0
  721. package/dist/components/Navbar/Navbar.js.map +1 -0
  722. package/dist/components/Navbar/Navbar.module.css.cjs +2 -0
  723. package/dist/components/Navbar/Navbar.module.css.cjs.map +1 -0
  724. package/dist/components/Navbar/Navbar.module.css.js +24 -0
  725. package/dist/components/Navbar/Navbar.module.css.js.map +1 -0
  726. package/dist/components/NavigationMenu/NavigationMenu.cjs +2 -0
  727. package/dist/components/NavigationMenu/NavigationMenu.cjs.map +1 -0
  728. package/dist/components/NavigationMenu/NavigationMenu.js +78 -0
  729. package/dist/components/NavigationMenu/NavigationMenu.js.map +1 -0
  730. package/dist/components/NavigationMenu/NavigationMenu.module.css.cjs +2 -0
  731. package/dist/components/NavigationMenu/NavigationMenu.module.css.cjs.map +1 -0
  732. package/dist/components/NavigationMenu/NavigationMenu.module.css.js +20 -0
  733. package/dist/components/NavigationMenu/NavigationMenu.module.css.js.map +1 -0
  734. package/dist/components/NavigationRail/NavigationRail.cjs +2 -0
  735. package/dist/components/NavigationRail/NavigationRail.cjs.map +1 -0
  736. package/dist/components/NavigationRail/NavigationRail.js +42 -0
  737. package/dist/components/NavigationRail/NavigationRail.js.map +1 -0
  738. package/dist/components/NavigationRail/NavigationRail.module.css.cjs +2 -0
  739. package/dist/components/NavigationRail/NavigationRail.module.css.cjs.map +1 -0
  740. package/dist/components/NavigationRail/NavigationRail.module.css.js +26 -0
  741. package/dist/components/NavigationRail/NavigationRail.module.css.js.map +1 -0
  742. package/dist/components/OfflineIndicator/OfflineIndicator.cjs +2 -0
  743. package/dist/components/OfflineIndicator/OfflineIndicator.cjs.map +1 -0
  744. package/dist/components/OfflineIndicator/OfflineIndicator.js +50 -0
  745. package/dist/components/OfflineIndicator/OfflineIndicator.js.map +1 -0
  746. package/dist/components/OfflineIndicator/OfflineIndicator.module.css.cjs +2 -0
  747. package/dist/components/OfflineIndicator/OfflineIndicator.module.css.cjs.map +1 -0
  748. package/dist/components/OfflineIndicator/OfflineIndicator.module.css.js +18 -0
  749. package/dist/components/OfflineIndicator/OfflineIndicator.module.css.js.map +1 -0
  750. package/dist/components/Page/Page.cjs +2 -0
  751. package/dist/components/Page/Page.cjs.map +1 -0
  752. package/dist/components/Page/Page.js +34 -0
  753. package/dist/components/Page/Page.js.map +1 -0
  754. package/dist/components/Page/Page.module.css.cjs +2 -0
  755. package/dist/components/Page/Page.module.css.cjs.map +1 -0
  756. package/dist/components/Page/Page.module.css.js +28 -0
  757. package/dist/components/Page/Page.module.css.js.map +1 -0
  758. package/dist/components/Pagination/Pagination.cjs +2 -0
  759. package/dist/components/Pagination/Pagination.cjs.map +1 -0
  760. package/dist/components/Pagination/Pagination.js +97 -0
  761. package/dist/components/Pagination/Pagination.js.map +1 -0
  762. package/dist/components/Pagination/Pagination.module.css.cjs +2 -0
  763. package/dist/components/Pagination/Pagination.module.css.cjs.map +1 -0
  764. package/dist/components/Pagination/Pagination.module.css.js +22 -0
  765. package/dist/components/Pagination/Pagination.module.css.js.map +1 -0
  766. package/dist/components/PasswordInput/PasswordInput.cjs +2 -0
  767. package/dist/components/PasswordInput/PasswordInput.cjs.map +1 -0
  768. package/dist/components/PasswordInput/PasswordInput.js +76 -0
  769. package/dist/components/PasswordInput/PasswordInput.js.map +1 -0
  770. package/dist/components/PasswordInput/PasswordInput.module.css.cjs +2 -0
  771. package/dist/components/PasswordInput/PasswordInput.module.css.cjs.map +1 -0
  772. package/dist/components/PasswordInput/PasswordInput.module.css.js +44 -0
  773. package/dist/components/PasswordInput/PasswordInput.module.css.js.map +1 -0
  774. package/dist/components/PinInput/PinInput.cjs +2 -0
  775. package/dist/components/PinInput/PinInput.cjs.map +1 -0
  776. package/dist/components/PinInput/PinInput.js +86 -0
  777. package/dist/components/PinInput/PinInput.js.map +1 -0
  778. package/dist/components/PinInput/PinInput.module.css.cjs +2 -0
  779. package/dist/components/PinInput/PinInput.module.css.cjs.map +1 -0
  780. package/dist/components/PinInput/PinInput.module.css.js +26 -0
  781. package/dist/components/PinInput/PinInput.module.css.js.map +1 -0
  782. package/dist/components/Popover/Popover.cjs +2 -0
  783. package/dist/components/Popover/Popover.cjs.map +1 -0
  784. package/dist/components/Popover/Popover.js +60 -0
  785. package/dist/components/Popover/Popover.js.map +1 -0
  786. package/dist/components/Popover/Popover.module.css.cjs +2 -0
  787. package/dist/components/Popover/Popover.module.css.cjs.map +1 -0
  788. package/dist/components/Popover/Popover.module.css.js +20 -0
  789. package/dist/components/Popover/Popover.module.css.js.map +1 -0
  790. package/dist/components/Portal/Portal.cjs +2 -0
  791. package/dist/components/Portal/Portal.cjs.map +1 -0
  792. package/dist/components/Portal/Portal.js +10 -0
  793. package/dist/components/Portal/Portal.js.map +1 -0
  794. package/dist/components/Progress/Progress.cjs +2 -0
  795. package/dist/components/Progress/Progress.cjs.map +1 -0
  796. package/dist/components/Progress/Progress.js +48 -0
  797. package/dist/components/Progress/Progress.js.map +1 -0
  798. package/dist/components/Progress/Progress.module.css.cjs +2 -0
  799. package/dist/components/Progress/Progress.module.css.cjs.map +1 -0
  800. package/dist/components/Progress/Progress.module.css.js +24 -0
  801. package/dist/components/Progress/Progress.module.css.js.map +1 -0
  802. package/dist/components/Radio/Radio.cjs +2 -0
  803. package/dist/components/Radio/Radio.cjs.map +1 -0
  804. package/dist/components/Radio/Radio.js +82 -0
  805. package/dist/components/Radio/Radio.js.map +1 -0
  806. package/dist/components/Radio/Radio.module.css.cjs +2 -0
  807. package/dist/components/Radio/Radio.module.css.cjs.map +1 -0
  808. package/dist/components/Radio/Radio.module.css.js +24 -0
  809. package/dist/components/Radio/Radio.module.css.js.map +1 -0
  810. package/dist/components/RangeSlider/RangeSlider.cjs +2 -0
  811. package/dist/components/RangeSlider/RangeSlider.cjs.map +1 -0
  812. package/dist/components/RangeSlider/RangeSlider.js +79 -0
  813. package/dist/components/RangeSlider/RangeSlider.js.map +1 -0
  814. package/dist/components/RangeSlider/RangeSlider.module.css.cjs +2 -0
  815. package/dist/components/RangeSlider/RangeSlider.module.css.cjs.map +1 -0
  816. package/dist/components/RangeSlider/RangeSlider.module.css.js +22 -0
  817. package/dist/components/RangeSlider/RangeSlider.module.css.js.map +1 -0
  818. package/dist/components/RatingStars/RatingStars.cjs +2 -0
  819. package/dist/components/RatingStars/RatingStars.cjs.map +1 -0
  820. package/dist/components/RatingStars/RatingStars.js +71 -0
  821. package/dist/components/RatingStars/RatingStars.js.map +1 -0
  822. package/dist/components/RatingStars/RatingStars.module.css.cjs +2 -0
  823. package/dist/components/RatingStars/RatingStars.module.css.cjs.map +1 -0
  824. package/dist/components/RatingStars/RatingStars.module.css.js +22 -0
  825. package/dist/components/RatingStars/RatingStars.module.css.js.map +1 -0
  826. package/dist/components/RefreshIndicator/RefreshIndicator.cjs +2 -0
  827. package/dist/components/RefreshIndicator/RefreshIndicator.cjs.map +1 -0
  828. package/dist/components/RefreshIndicator/RefreshIndicator.js +90 -0
  829. package/dist/components/RefreshIndicator/RefreshIndicator.js.map +1 -0
  830. package/dist/components/RefreshIndicator/RefreshIndicator.module.css.cjs +2 -0
  831. package/dist/components/RefreshIndicator/RefreshIndicator.module.css.cjs.map +1 -0
  832. package/dist/components/RefreshIndicator/RefreshIndicator.module.css.js +14 -0
  833. package/dist/components/RefreshIndicator/RefreshIndicator.module.css.js.map +1 -0
  834. package/dist/components/RelativeTime/RelativeTime.cjs +2 -0
  835. package/dist/components/RelativeTime/RelativeTime.cjs.map +1 -0
  836. package/dist/components/RelativeTime/RelativeTime.js +10 -0
  837. package/dist/components/RelativeTime/RelativeTime.js.map +1 -0
  838. package/dist/components/Resizable/Resizable.cjs +2 -0
  839. package/dist/components/Resizable/Resizable.cjs.map +1 -0
  840. package/dist/components/Resizable/Resizable.js +89 -0
  841. package/dist/components/Resizable/Resizable.js.map +1 -0
  842. package/dist/components/Resizable/Resizable.module.css.cjs +2 -0
  843. package/dist/components/Resizable/Resizable.module.css.cjs.map +1 -0
  844. package/dist/components/Resizable/Resizable.module.css.js +18 -0
  845. package/dist/components/Resizable/Resizable.module.css.js.map +1 -0
  846. package/dist/components/Responsive/Responsive.cjs +2 -0
  847. package/dist/components/Responsive/Responsive.cjs.map +1 -0
  848. package/dist/components/Responsive/Responsive.js +17 -0
  849. package/dist/components/Responsive/Responsive.js.map +1 -0
  850. package/dist/components/SafeArea/SafeArea.cjs +2 -0
  851. package/dist/components/SafeArea/SafeArea.cjs.map +1 -0
  852. package/dist/components/SafeArea/SafeArea.js +33 -0
  853. package/dist/components/SafeArea/SafeArea.js.map +1 -0
  854. package/dist/components/SafeArea/SafeArea.module.css.cjs +2 -0
  855. package/dist/components/SafeArea/SafeArea.module.css.cjs.map +1 -0
  856. package/dist/components/SafeArea/SafeArea.module.css.js +18 -0
  857. package/dist/components/SafeArea/SafeArea.module.css.js.map +1 -0
  858. package/dist/components/ScrollArea/ScrollArea.cjs +2 -0
  859. package/dist/components/ScrollArea/ScrollArea.cjs.map +1 -0
  860. package/dist/components/ScrollArea/ScrollArea.js +17 -0
  861. package/dist/components/ScrollArea/ScrollArea.js.map +1 -0
  862. package/dist/components/ScrollArea/ScrollArea.module.css.cjs +2 -0
  863. package/dist/components/ScrollArea/ScrollArea.module.css.cjs.map +1 -0
  864. package/dist/components/ScrollArea/ScrollArea.module.css.js +8 -0
  865. package/dist/components/ScrollArea/ScrollArea.module.css.js.map +1 -0
  866. package/dist/components/SearchBar/SearchBar.cjs +2 -0
  867. package/dist/components/SearchBar/SearchBar.cjs.map +1 -0
  868. package/dist/components/SearchBar/SearchBar.js +55 -0
  869. package/dist/components/SearchBar/SearchBar.js.map +1 -0
  870. package/dist/components/SearchBar/SearchBar.module.css.cjs +2 -0
  871. package/dist/components/SearchBar/SearchBar.module.css.cjs.map +1 -0
  872. package/dist/components/SearchBar/SearchBar.module.css.js +14 -0
  873. package/dist/components/SearchBar/SearchBar.module.css.js.map +1 -0
  874. package/dist/components/SegmentedControl/SegmentedControl.cjs +2 -0
  875. package/dist/components/SegmentedControl/SegmentedControl.cjs.map +1 -0
  876. package/dist/components/SegmentedControl/SegmentedControl.js +46 -0
  877. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -0
  878. package/dist/components/SegmentedControl/SegmentedControl.module.css.cjs +2 -0
  879. package/dist/components/SegmentedControl/SegmentedControl.module.css.cjs.map +1 -0
  880. package/dist/components/SegmentedControl/SegmentedControl.module.css.js +24 -0
  881. package/dist/components/SegmentedControl/SegmentedControl.module.css.js.map +1 -0
  882. package/dist/components/Select/Select.cjs +2 -0
  883. package/dist/components/Select/Select.cjs.map +1 -0
  884. package/dist/components/Select/Select.js +61 -0
  885. package/dist/components/Select/Select.js.map +1 -0
  886. package/dist/components/Select/Select.module.css.cjs +2 -0
  887. package/dist/components/Select/Select.module.css.cjs.map +1 -0
  888. package/dist/components/Select/Select.module.css.js +24 -0
  889. package/dist/components/Select/Select.module.css.js.map +1 -0
  890. package/dist/components/Sidebar/Sidebar.cjs +2 -0
  891. package/dist/components/Sidebar/Sidebar.cjs.map +1 -0
  892. package/dist/components/Sidebar/Sidebar.js +54 -0
  893. package/dist/components/Sidebar/Sidebar.js.map +1 -0
  894. package/dist/components/Sidebar/Sidebar.module.css.cjs +2 -0
  895. package/dist/components/Sidebar/Sidebar.module.css.cjs.map +1 -0
  896. package/dist/components/Sidebar/Sidebar.module.css.js +26 -0
  897. package/dist/components/Sidebar/Sidebar.module.css.js.map +1 -0
  898. package/dist/components/Skeleton/Skeleton.cjs +2 -0
  899. package/dist/components/Skeleton/Skeleton.cjs.map +1 -0
  900. package/dist/components/Skeleton/Skeleton.js +22 -0
  901. package/dist/components/Skeleton/Skeleton.js.map +1 -0
  902. package/dist/components/Skeleton/Skeleton.module.css.cjs +2 -0
  903. package/dist/components/Skeleton/Skeleton.module.css.cjs.map +1 -0
  904. package/dist/components/Skeleton/Skeleton.module.css.js +12 -0
  905. package/dist/components/Skeleton/Skeleton.module.css.js.map +1 -0
  906. package/dist/components/Slider/Slider.cjs +2 -0
  907. package/dist/components/Slider/Slider.cjs.map +1 -0
  908. package/dist/components/Slider/Slider.js +56 -0
  909. package/dist/components/Slider/Slider.js.map +1 -0
  910. package/dist/components/Slider/Slider.module.css.cjs +2 -0
  911. package/dist/components/Slider/Slider.module.css.cjs.map +1 -0
  912. package/dist/components/Slider/Slider.module.css.js +22 -0
  913. package/dist/components/Slider/Slider.module.css.js.map +1 -0
  914. package/dist/components/Spacer/Spacer.cjs +2 -0
  915. package/dist/components/Spacer/Spacer.cjs.map +1 -0
  916. package/dist/components/Spacer/Spacer.js +10 -0
  917. package/dist/components/Spacer/Spacer.js.map +1 -0
  918. package/dist/components/Spacer/Spacer.module.css.cjs +2 -0
  919. package/dist/components/Spacer/Spacer.module.css.cjs.map +1 -0
  920. package/dist/components/Spacer/Spacer.module.css.js +14 -0
  921. package/dist/components/Spacer/Spacer.module.css.js.map +1 -0
  922. package/dist/components/Spinner/Spinner.cjs +2 -0
  923. package/dist/components/Spinner/Spinner.cjs.map +1 -0
  924. package/dist/components/Spinner/Spinner.js +36 -0
  925. package/dist/components/Spinner/Spinner.js.map +1 -0
  926. package/dist/components/Spinner/Spinner.module.css.cjs +2 -0
  927. package/dist/components/Spinner/Spinner.module.css.cjs.map +1 -0
  928. package/dist/components/Spinner/Spinner.module.css.js +26 -0
  929. package/dist/components/Spinner/Spinner.module.css.js.map +1 -0
  930. package/dist/components/Stat/Stat.cjs +2 -0
  931. package/dist/components/Stat/Stat.cjs.map +1 -0
  932. package/dist/components/Stat/Stat.js +38 -0
  933. package/dist/components/Stat/Stat.js.map +1 -0
  934. package/dist/components/Stat/Stat.module.css.cjs +2 -0
  935. package/dist/components/Stat/Stat.module.css.cjs.map +1 -0
  936. package/dist/components/Stat/Stat.module.css.js +28 -0
  937. package/dist/components/Stat/Stat.module.css.js.map +1 -0
  938. package/dist/components/Stepper/Stepper.cjs +2 -0
  939. package/dist/components/Stepper/Stepper.cjs.map +1 -0
  940. package/dist/components/Stepper/Stepper.js +43 -0
  941. package/dist/components/Stepper/Stepper.js.map +1 -0
  942. package/dist/components/Stepper/Stepper.module.css.cjs +2 -0
  943. package/dist/components/Stepper/Stepper.module.css.cjs.map +1 -0
  944. package/dist/components/Stepper/Stepper.module.css.js +22 -0
  945. package/dist/components/Stepper/Stepper.module.css.js.map +1 -0
  946. package/dist/components/StepperInput/StepperInput.cjs +2 -0
  947. package/dist/components/StepperInput/StepperInput.cjs.map +1 -0
  948. package/dist/components/StepperInput/StepperInput.js +56 -0
  949. package/dist/components/StepperInput/StepperInput.js.map +1 -0
  950. package/dist/components/StepperInput/StepperInput.module.css.cjs +2 -0
  951. package/dist/components/StepperInput/StepperInput.module.css.cjs.map +1 -0
  952. package/dist/components/StepperInput/StepperInput.module.css.js +24 -0
  953. package/dist/components/StepperInput/StepperInput.module.css.js.map +1 -0
  954. package/dist/components/Switch/Switch.cjs +2 -0
  955. package/dist/components/Switch/Switch.cjs.map +1 -0
  956. package/dist/components/Switch/Switch.js +25 -0
  957. package/dist/components/Switch/Switch.js.map +1 -0
  958. package/dist/components/Switch/Switch.module.css.cjs +2 -0
  959. package/dist/components/Switch/Switch.module.css.cjs.map +1 -0
  960. package/dist/components/Switch/Switch.module.css.js +18 -0
  961. package/dist/components/Switch/Switch.module.css.js.map +1 -0
  962. package/dist/components/SyncStatusBadge/SyncStatusBadge.cjs +2 -0
  963. package/dist/components/SyncStatusBadge/SyncStatusBadge.cjs.map +1 -0
  964. package/dist/components/SyncStatusBadge/SyncStatusBadge.js +62 -0
  965. package/dist/components/SyncStatusBadge/SyncStatusBadge.js.map +1 -0
  966. package/dist/components/SyncStatusBadge/SyncStatusBadge.module.css.cjs +2 -0
  967. package/dist/components/SyncStatusBadge/SyncStatusBadge.module.css.cjs.map +1 -0
  968. package/dist/components/SyncStatusBadge/SyncStatusBadge.module.css.js +28 -0
  969. package/dist/components/SyncStatusBadge/SyncStatusBadge.module.css.js.map +1 -0
  970. package/dist/components/Table/Table.cjs +2 -0
  971. package/dist/components/Table/Table.cjs.map +1 -0
  972. package/dist/components/Table/Table.js +67 -0
  973. package/dist/components/Table/Table.js.map +1 -0
  974. package/dist/components/Table/Table.module.css.cjs +2 -0
  975. package/dist/components/Table/Table.module.css.cjs.map +1 -0
  976. package/dist/components/Table/Table.module.css.js +34 -0
  977. package/dist/components/Table/Table.module.css.js.map +1 -0
  978. package/dist/components/Tabs/Tabs.cjs +2 -0
  979. package/dist/components/Tabs/Tabs.cjs.map +1 -0
  980. package/dist/components/Tabs/Tabs.js +51 -0
  981. package/dist/components/Tabs/Tabs.js.map +1 -0
  982. package/dist/components/Tabs/Tabs.module.css.cjs +2 -0
  983. package/dist/components/Tabs/Tabs.module.css.cjs.map +1 -0
  984. package/dist/components/Tabs/Tabs.module.css.js +16 -0
  985. package/dist/components/Tabs/Tabs.module.css.js.map +1 -0
  986. package/dist/components/Tag/Tag.cjs +2 -0
  987. package/dist/components/Tag/Tag.cjs.map +1 -0
  988. package/dist/components/Tag/Tag.js +30 -0
  989. package/dist/components/Tag/Tag.js.map +1 -0
  990. package/dist/components/Tag/Tag.module.css.cjs +2 -0
  991. package/dist/components/Tag/Tag.module.css.cjs.map +1 -0
  992. package/dist/components/Tag/Tag.module.css.js +30 -0
  993. package/dist/components/Tag/Tag.module.css.js.map +1 -0
  994. package/dist/components/Textarea/Textarea.cjs +2 -0
  995. package/dist/components/Textarea/Textarea.cjs.map +1 -0
  996. package/dist/components/Textarea/Textarea.js +29 -0
  997. package/dist/components/Textarea/Textarea.js.map +1 -0
  998. package/dist/components/Textarea/Textarea.module.css.cjs +2 -0
  999. package/dist/components/Textarea/Textarea.module.css.cjs.map +1 -0
  1000. package/dist/components/Textarea/Textarea.module.css.js +20 -0
  1001. package/dist/components/Textarea/Textarea.module.css.js.map +1 -0
  1002. package/dist/components/TimePicker/TimePicker.cjs +2 -0
  1003. package/dist/components/TimePicker/TimePicker.cjs.map +1 -0
  1004. package/dist/components/TimePicker/TimePicker.js +107 -0
  1005. package/dist/components/TimePicker/TimePicker.js.map +1 -0
  1006. package/dist/components/TimePicker/TimePicker.module.css.cjs +2 -0
  1007. package/dist/components/TimePicker/TimePicker.module.css.cjs.map +1 -0
  1008. package/dist/components/TimePicker/TimePicker.module.css.js +24 -0
  1009. package/dist/components/TimePicker/TimePicker.module.css.js.map +1 -0
  1010. package/dist/components/Timeline/Timeline.cjs +2 -0
  1011. package/dist/components/Timeline/Timeline.cjs.map +1 -0
  1012. package/dist/components/Timeline/Timeline.js +35 -0
  1013. package/dist/components/Timeline/Timeline.js.map +1 -0
  1014. package/dist/components/Timeline/Timeline.module.css.cjs +2 -0
  1015. package/dist/components/Timeline/Timeline.module.css.cjs.map +1 -0
  1016. package/dist/components/Timeline/Timeline.module.css.js +36 -0
  1017. package/dist/components/Timeline/Timeline.module.css.js.map +1 -0
  1018. package/dist/components/Toast/Toast.module.css.cjs +2 -0
  1019. package/dist/components/Toast/Toast.module.css.cjs.map +1 -0
  1020. package/dist/components/Toast/Toast.module.css.js +38 -0
  1021. package/dist/components/Toast/Toast.module.css.js.map +1 -0
  1022. package/dist/components/Toast/ToastProvider.cjs +2 -0
  1023. package/dist/components/Toast/ToastProvider.cjs.map +1 -0
  1024. package/dist/components/Toast/ToastProvider.js +114 -0
  1025. package/dist/components/Toast/ToastProvider.js.map +1 -0
  1026. package/dist/components/Toggle/Toggle.cjs +2 -0
  1027. package/dist/components/Toggle/Toggle.cjs.map +1 -0
  1028. package/dist/components/Toggle/Toggle.js +49 -0
  1029. package/dist/components/Toggle/Toggle.js.map +1 -0
  1030. package/dist/components/Toggle/Toggle.module.css.cjs +2 -0
  1031. package/dist/components/Toggle/Toggle.module.css.cjs.map +1 -0
  1032. package/dist/components/Toggle/Toggle.module.css.js +18 -0
  1033. package/dist/components/Toggle/Toggle.module.css.js.map +1 -0
  1034. package/dist/components/ToggleGroup/ToggleGroup.cjs +2 -0
  1035. package/dist/components/ToggleGroup/ToggleGroup.cjs.map +1 -0
  1036. package/dist/components/ToggleGroup/ToggleGroup.js +74 -0
  1037. package/dist/components/ToggleGroup/ToggleGroup.js.map +1 -0
  1038. package/dist/components/ToggleGroup/ToggleGroup.module.css.cjs +2 -0
  1039. package/dist/components/ToggleGroup/ToggleGroup.module.css.cjs.map +1 -0
  1040. package/dist/components/ToggleGroup/ToggleGroup.module.css.js +12 -0
  1041. package/dist/components/ToggleGroup/ToggleGroup.module.css.js.map +1 -0
  1042. package/dist/components/Tooltip/Tooltip.cjs +2 -0
  1043. package/dist/components/Tooltip/Tooltip.cjs.map +1 -0
  1044. package/dist/components/Tooltip/Tooltip.js +43 -0
  1045. package/dist/components/Tooltip/Tooltip.js.map +1 -0
  1046. package/dist/components/Tooltip/Tooltip.module.css.cjs +2 -0
  1047. package/dist/components/Tooltip/Tooltip.module.css.cjs.map +1 -0
  1048. package/dist/components/Tooltip/Tooltip.module.css.js +20 -0
  1049. package/dist/components/Tooltip/Tooltip.module.css.js.map +1 -0
  1050. package/dist/components/TruncateText/TruncateText.cjs +2 -0
  1051. package/dist/components/TruncateText/TruncateText.cjs.map +1 -0
  1052. package/dist/components/TruncateText/TruncateText.js +20 -0
  1053. package/dist/components/TruncateText/TruncateText.js.map +1 -0
  1054. package/dist/components/TruncateText/TruncateText.module.css.cjs +2 -0
  1055. package/dist/components/TruncateText/TruncateText.module.css.cjs.map +1 -0
  1056. package/dist/components/TruncateText/TruncateText.module.css.js +8 -0
  1057. package/dist/components/TruncateText/TruncateText.module.css.js.map +1 -0
  1058. package/dist/components/UpdatePrompt/UpdatePrompt.cjs +2 -0
  1059. package/dist/components/UpdatePrompt/UpdatePrompt.cjs.map +1 -0
  1060. package/dist/components/UpdatePrompt/UpdatePrompt.js +43 -0
  1061. package/dist/components/UpdatePrompt/UpdatePrompt.js.map +1 -0
  1062. package/dist/components/UpdatePrompt/UpdatePrompt.module.css.cjs +2 -0
  1063. package/dist/components/UpdatePrompt/UpdatePrompt.module.css.cjs.map +1 -0
  1064. package/dist/components/UpdatePrompt/UpdatePrompt.module.css.js +20 -0
  1065. package/dist/components/UpdatePrompt/UpdatePrompt.module.css.js.map +1 -0
  1066. package/dist/components/VirtualList/VirtualList.cjs +2 -0
  1067. package/dist/components/VirtualList/VirtualList.cjs.map +1 -0
  1068. package/dist/components/VirtualList/VirtualList.js +50 -0
  1069. package/dist/components/VirtualList/VirtualList.js.map +1 -0
  1070. package/dist/components/VirtualList/VirtualList.module.css.cjs +2 -0
  1071. package/dist/components/VirtualList/VirtualList.module.css.cjs.map +1 -0
  1072. package/dist/components/VirtualList/VirtualList.module.css.js +12 -0
  1073. package/dist/components/VirtualList/VirtualList.module.css.js.map +1 -0
  1074. package/dist/components/VisuallyHidden/VisuallyHidden.cjs +2 -0
  1075. package/dist/components/VisuallyHidden/VisuallyHidden.cjs.map +1 -0
  1076. package/dist/components/VisuallyHidden/VisuallyHidden.js +15 -0
  1077. package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -0
  1078. package/dist/components/VisuallyHidden/VisuallyHidden.module.css.cjs +2 -0
  1079. package/dist/components/VisuallyHidden/VisuallyHidden.module.css.cjs.map +1 -0
  1080. package/dist/components/VisuallyHidden/VisuallyHidden.module.css.js +8 -0
  1081. package/dist/components/VisuallyHidden/VisuallyHidden.module.css.js.map +1 -0
  1082. package/dist/data/create-data-provider.cjs +2 -0
  1083. package/dist/data/create-data-provider.cjs.map +1 -0
  1084. package/dist/data/create-data-provider.js +46 -0
  1085. package/dist/data/create-data-provider.js.map +1 -0
  1086. package/dist/data/data-provider-context.cjs +2 -0
  1087. package/dist/data/data-provider-context.cjs.map +1 -0
  1088. package/dist/data/data-provider-context.js +17 -0
  1089. package/dist/data/data-provider-context.js.map +1 -0
  1090. package/dist/data/use-resource.cjs +2 -0
  1091. package/dist/data/use-resource.cjs.map +1 -0
  1092. package/dist/data/use-resource.js +66 -0
  1093. package/dist/data/use-resource.js.map +1 -0
  1094. package/dist/editor/RichTextEditor.cjs +2 -0
  1095. package/dist/editor/RichTextEditor.cjs.map +1 -0
  1096. package/dist/editor/RichTextEditor.js +183 -0
  1097. package/dist/editor/RichTextEditor.js.map +1 -0
  1098. package/dist/editor/RichTextEditor.module.css.cjs +2 -0
  1099. package/dist/editor/RichTextEditor.module.css.cjs.map +1 -0
  1100. package/dist/editor/RichTextEditor.module.css.js +18 -0
  1101. package/dist/editor/RichTextEditor.module.css.js.map +1 -0
  1102. package/dist/editor.cjs +1 -1
  1103. package/dist/editor.cjs.map +1 -1
  1104. package/dist/editor.js +2 -187
  1105. package/dist/editor.js.map +1 -1
  1106. package/dist/error-boundary/ErrorBoundary.cjs +2 -0
  1107. package/dist/error-boundary/ErrorBoundary.cjs.map +1 -0
  1108. package/dist/error-boundary/ErrorBoundary.js +32 -0
  1109. package/dist/error-boundary/ErrorBoundary.js.map +1 -0
  1110. package/dist/error-boundary/use-error-handler.cjs +2 -0
  1111. package/dist/error-boundary/use-error-handler.cjs.map +1 -0
  1112. package/dist/error-boundary/use-error-handler.js +13 -0
  1113. package/dist/error-boundary/use-error-handler.js.map +1 -0
  1114. package/dist/feature-flags/FeatureFlagsProvider.cjs +2 -0
  1115. package/dist/feature-flags/FeatureFlagsProvider.cjs.map +1 -0
  1116. package/dist/feature-flags/FeatureFlagsProvider.js +29 -0
  1117. package/dist/feature-flags/FeatureFlagsProvider.js.map +1 -0
  1118. package/dist/feature-flags/growthbook-adapter.cjs +2 -0
  1119. package/dist/feature-flags/growthbook-adapter.cjs.map +1 -0
  1120. package/dist/feature-flags/growthbook-adapter.js +27 -0
  1121. package/dist/feature-flags/growthbook-adapter.js.map +1 -0
  1122. package/dist/feature-flags/in-memory-adapter.cjs +2 -0
  1123. package/dist/feature-flags/in-memory-adapter.cjs.map +1 -0
  1124. package/dist/feature-flags/in-memory-adapter.js +24 -0
  1125. package/dist/feature-flags/in-memory-adapter.js.map +1 -0
  1126. package/dist/feature-flags/launchdarkly-adapter.cjs +2 -0
  1127. package/dist/feature-flags/launchdarkly-adapter.cjs.map +1 -0
  1128. package/dist/feature-flags/launchdarkly-adapter.js +21 -0
  1129. package/dist/feature-flags/launchdarkly-adapter.js.map +1 -0
  1130. package/dist/forms/FormField.cjs +2 -0
  1131. package/dist/forms/FormField.cjs.map +1 -0
  1132. package/dist/forms/FormField.js +37 -0
  1133. package/dist/forms/FormField.js.map +1 -0
  1134. package/dist/forms/br-validators.cjs +2 -0
  1135. package/dist/forms/br-validators.cjs.map +1 -0
  1136. package/dist/forms/br-validators.js +44 -0
  1137. package/dist/forms/br-validators.js.map +1 -0
  1138. package/dist/forms/masked-inputs.cjs +2 -0
  1139. package/dist/forms/masked-inputs.cjs.map +1 -0
  1140. package/dist/forms/masked-inputs.js +48 -0
  1141. package/dist/forms/masked-inputs.js.map +1 -0
  1142. package/dist/forms/use-viacep.cjs +2 -0
  1143. package/dist/forms/use-viacep.cjs.map +1 -0
  1144. package/dist/forms/use-viacep.js +24 -0
  1145. package/dist/forms/use-viacep.js.map +1 -0
  1146. package/dist/forms/use-zod-form.cjs +2 -0
  1147. package/dist/forms/use-zod-form.cjs.map +1 -0
  1148. package/dist/forms/use-zod-form.js +12 -0
  1149. package/dist/forms/use-zod-form.js.map +1 -0
  1150. package/dist/forms/validate-form.cjs +2 -0
  1151. package/dist/forms/validate-form.cjs.map +1 -0
  1152. package/dist/forms/validate-form.js +15 -0
  1153. package/dist/forms/validate-form.js.map +1 -0
  1154. package/dist/forms/zod-resolver.cjs +2 -0
  1155. package/dist/forms/zod-resolver.cjs.map +1 -0
  1156. package/dist/forms/zod-resolver.js +17 -0
  1157. package/dist/forms/zod-resolver.js.map +1 -0
  1158. package/dist/geo/TrajectoryMap.cjs +2 -0
  1159. package/dist/geo/TrajectoryMap.cjs.map +1 -0
  1160. package/dist/geo/TrajectoryMap.js +216 -0
  1161. package/dist/geo/TrajectoryMap.js.map +1 -0
  1162. package/dist/geo/TrajectoryMap.module.css.cjs +2 -0
  1163. package/dist/geo/TrajectoryMap.module.css.cjs.map +1 -0
  1164. package/dist/geo/TrajectoryMap.module.css.js +30 -0
  1165. package/dist/geo/TrajectoryMap.module.css.js.map +1 -0
  1166. package/dist/geo/bounds.cjs +2 -0
  1167. package/dist/geo/bounds.cjs.map +1 -0
  1168. package/dist/geo/bounds.js +28 -0
  1169. package/dist/geo/bounds.js.map +1 -0
  1170. package/dist/geo/create-position-tracker.cjs +2 -0
  1171. package/dist/geo/create-position-tracker.cjs.map +1 -0
  1172. package/dist/geo/create-position-tracker.js +65 -0
  1173. package/dist/geo/create-position-tracker.js.map +1 -0
  1174. package/dist/geo/distance.cjs +2 -0
  1175. package/dist/geo/distance.cjs.map +1 -0
  1176. package/dist/geo/distance.js +26 -0
  1177. package/dist/geo/distance.js.map +1 -0
  1178. package/dist/geo/estimate.cjs +2 -0
  1179. package/dist/geo/estimate.cjs.map +1 -0
  1180. package/dist/geo/estimate.js +35 -0
  1181. package/dist/geo/estimate.js.map +1 -0
  1182. package/dist/geo/leaflet-map.cjs +2 -0
  1183. package/dist/geo/leaflet-map.cjs.map +1 -0
  1184. package/dist/geo/leaflet-map.js +51 -0
  1185. package/dist/geo/leaflet-map.js.map +1 -0
  1186. package/dist/geo/projection.cjs +2 -0
  1187. package/dist/geo/projection.cjs.map +1 -0
  1188. package/dist/geo/projection.js +36 -0
  1189. package/dist/geo/projection.js.map +1 -0
  1190. package/dist/geo/routing.cjs +2 -0
  1191. package/dist/geo/routing.cjs.map +1 -0
  1192. package/dist/geo/routing.js +29 -0
  1193. package/dist/geo/routing.js.map +1 -0
  1194. package/dist/geo/types.cjs +2 -0
  1195. package/dist/geo/types.cjs.map +1 -0
  1196. package/dist/geo/types.js +25 -0
  1197. package/dist/geo/types.js.map +1 -0
  1198. package/dist/geo/use-position-tracker.cjs +2 -0
  1199. package/dist/geo/use-position-tracker.cjs.map +1 -0
  1200. package/dist/geo/use-position-tracker.js +35 -0
  1201. package/dist/geo/use-position-tracker.js.map +1 -0
  1202. package/dist/hooks/pwa-env.cjs +2 -0
  1203. package/dist/hooks/pwa-env.cjs.map +1 -0
  1204. package/dist/hooks/pwa-env.js +31 -0
  1205. package/dist/hooks/pwa-env.js.map +1 -0
  1206. package/dist/hooks/use-async.cjs +2 -0
  1207. package/dist/hooks/use-async.cjs.map +1 -0
  1208. package/dist/hooks/use-async.js +38 -0
  1209. package/dist/hooks/use-async.js.map +1 -0
  1210. package/dist/hooks/use-before-install-prompt.cjs +2 -0
  1211. package/dist/hooks/use-before-install-prompt.cjs.map +1 -0
  1212. package/dist/hooks/use-before-install-prompt.js +38 -0
  1213. package/dist/hooks/use-before-install-prompt.js.map +1 -0
  1214. package/dist/hooks/use-breakpoint.cjs +2 -0
  1215. package/dist/hooks/use-breakpoint.cjs.map +1 -0
  1216. package/dist/hooks/use-breakpoint.js +40 -0
  1217. package/dist/hooks/use-breakpoint.js.map +1 -0
  1218. package/dist/hooks/use-click-outside.cjs +2 -0
  1219. package/dist/hooks/use-click-outside.cjs.map +1 -0
  1220. package/dist/hooks/use-click-outside.js +18 -0
  1221. package/dist/hooks/use-click-outside.js.map +1 -0
  1222. package/dist/hooks/use-client-filter.cjs +2 -0
  1223. package/dist/hooks/use-client-filter.cjs.map +1 -0
  1224. package/dist/hooks/use-client-filter.js +16 -0
  1225. package/dist/hooks/use-client-filter.js.map +1 -0
  1226. package/dist/hooks/use-clipboard.cjs +2 -0
  1227. package/dist/hooks/use-clipboard.cjs.map +1 -0
  1228. package/dist/hooks/use-clipboard.js +29 -0
  1229. package/dist/hooks/use-clipboard.js.map +1 -0
  1230. package/dist/hooks/use-counter.cjs +2 -0
  1231. package/dist/hooks/use-counter.cjs.map +1 -0
  1232. package/dist/hooks/use-counter.js +27 -0
  1233. package/dist/hooks/use-counter.js.map +1 -0
  1234. package/dist/hooks/use-debounce.cjs +2 -0
  1235. package/dist/hooks/use-debounce.cjs.map +1 -0
  1236. package/dist/hooks/use-debounce.js +12 -0
  1237. package/dist/hooks/use-debounce.js.map +1 -0
  1238. package/dist/hooks/use-deep-memo.cjs +2 -0
  1239. package/dist/hooks/use-deep-memo.cjs.map +1 -0
  1240. package/dist/hooks/use-deep-memo.js +19 -0
  1241. package/dist/hooks/use-deep-memo.js.map +1 -0
  1242. package/dist/hooks/use-disclosure.cjs +2 -0
  1243. package/dist/hooks/use-disclosure.cjs.map +1 -0
  1244. package/dist/hooks/use-disclosure.js +12 -0
  1245. package/dist/hooks/use-disclosure.js.map +1 -0
  1246. package/dist/hooks/use-document-title.cjs +2 -0
  1247. package/dist/hooks/use-document-title.cjs.map +1 -0
  1248. package/dist/hooks/use-document-title.js +14 -0
  1249. package/dist/hooks/use-document-title.js.map +1 -0
  1250. package/dist/hooks/use-document-visibility.cjs +2 -0
  1251. package/dist/hooks/use-document-visibility.cjs.map +1 -0
  1252. package/dist/hooks/use-document-visibility.js +15 -0
  1253. package/dist/hooks/use-document-visibility.js.map +1 -0
  1254. package/dist/hooks/use-event-listener.cjs +2 -0
  1255. package/dist/hooks/use-event-listener.cjs.map +1 -0
  1256. package/dist/hooks/use-event-listener.js +14 -0
  1257. package/dist/hooks/use-event-listener.js.map +1 -0
  1258. package/dist/hooks/use-favicon.cjs +2 -0
  1259. package/dist/hooks/use-favicon.cjs.map +1 -0
  1260. package/dist/hooks/use-favicon.js +12 -0
  1261. package/dist/hooks/use-favicon.js.map +1 -0
  1262. package/dist/hooks/use-focus-trap.cjs +2 -0
  1263. package/dist/hooks/use-focus-trap.cjs.map +1 -0
  1264. package/dist/hooks/use-focus-trap.js +43 -0
  1265. package/dist/hooks/use-focus-trap.js.map +1 -0
  1266. package/dist/hooks/use-geolocation.cjs +2 -0
  1267. package/dist/hooks/use-geolocation.cjs.map +1 -0
  1268. package/dist/hooks/use-geolocation.js +44 -0
  1269. package/dist/hooks/use-geolocation.js.map +1 -0
  1270. package/dist/hooks/use-hover.cjs +2 -0
  1271. package/dist/hooks/use-hover.cjs.map +1 -0
  1272. package/dist/hooks/use-hover.js +16 -0
  1273. package/dist/hooks/use-hover.js.map +1 -0
  1274. package/dist/hooks/use-idle.cjs +2 -0
  1275. package/dist/hooks/use-idle.cjs.map +1 -0
  1276. package/dist/hooks/use-idle.js +30 -0
  1277. package/dist/hooks/use-idle.js.map +1 -0
  1278. package/dist/hooks/use-install-prompt.cjs +2 -0
  1279. package/dist/hooks/use-install-prompt.cjs.map +1 -0
  1280. package/dist/hooks/use-install-prompt.js +69 -0
  1281. package/dist/hooks/use-install-prompt.js.map +1 -0
  1282. package/dist/hooks/use-intersection-observer.cjs +2 -0
  1283. package/dist/hooks/use-intersection-observer.cjs.map +1 -0
  1284. package/dist/hooks/use-intersection-observer.js +19 -0
  1285. package/dist/hooks/use-intersection-observer.js.map +1 -0
  1286. package/dist/hooks/use-interval.cjs +2 -0
  1287. package/dist/hooks/use-interval.cjs.map +1 -0
  1288. package/dist/hooks/use-interval.js +13 -0
  1289. package/dist/hooks/use-interval.js.map +1 -0
  1290. package/dist/hooks/use-is-first-render.cjs +2 -0
  1291. package/dist/hooks/use-is-first-render.cjs.map +1 -0
  1292. package/dist/hooks/use-is-first-render.js +9 -0
  1293. package/dist/hooks/use-is-first-render.js.map +1 -0
  1294. package/dist/hooks/use-keyboard-shortcut.cjs +2 -0
  1295. package/dist/hooks/use-keyboard-shortcut.cjs.map +1 -0
  1296. package/dist/hooks/use-keyboard-shortcut.js +38 -0
  1297. package/dist/hooks/use-keyboard-shortcut.js.map +1 -0
  1298. package/dist/hooks/use-list-state.cjs +2 -0
  1299. package/dist/hooks/use-list-state.cjs.map +1 -0
  1300. package/dist/hooks/use-list-state.js +40 -0
  1301. package/dist/hooks/use-list-state.js.map +1 -0
  1302. package/dist/hooks/use-local-storage.cjs +2 -0
  1303. package/dist/hooks/use-local-storage.cjs.map +1 -0
  1304. package/dist/hooks/use-local-storage.js +55 -0
  1305. package/dist/hooks/use-local-storage.js.map +1 -0
  1306. package/dist/hooks/use-long-press-handlers.cjs +2 -0
  1307. package/dist/hooks/use-long-press-handlers.cjs.map +1 -0
  1308. package/dist/hooks/use-long-press-handlers.js +31 -0
  1309. package/dist/hooks/use-long-press-handlers.js.map +1 -0
  1310. package/dist/hooks/use-long-press.cjs +2 -0
  1311. package/dist/hooks/use-long-press.cjs.map +1 -0
  1312. package/dist/hooks/use-long-press.js +27 -0
  1313. package/dist/hooks/use-long-press.js.map +1 -0
  1314. package/dist/hooks/use-map.cjs +2 -0
  1315. package/dist/hooks/use-map.cjs.map +1 -0
  1316. package/dist/hooks/use-map.js +33 -0
  1317. package/dist/hooks/use-map.js.map +1 -0
  1318. package/dist/hooks/use-media-query.cjs +2 -0
  1319. package/dist/hooks/use-media-query.cjs.map +1 -0
  1320. package/dist/hooks/use-media-query.js +13 -0
  1321. package/dist/hooks/use-media-query.js.map +1 -0
  1322. package/dist/hooks/use-object-url.cjs +2 -0
  1323. package/dist/hooks/use-object-url.cjs.map +1 -0
  1324. package/dist/hooks/use-object-url.js +16 -0
  1325. package/dist/hooks/use-object-url.js.map +1 -0
  1326. package/dist/hooks/use-online.cjs +2 -0
  1327. package/dist/hooks/use-online.cjs.map +1 -0
  1328. package/dist/hooks/use-online.js +47 -0
  1329. package/dist/hooks/use-online.js.map +1 -0
  1330. package/dist/hooks/use-pagination.cjs +2 -0
  1331. package/dist/hooks/use-pagination.cjs.map +1 -0
  1332. package/dist/hooks/use-pagination.js +9 -0
  1333. package/dist/hooks/use-pagination.js.map +1 -0
  1334. package/dist/hooks/use-previous.cjs +2 -0
  1335. package/dist/hooks/use-previous.cjs.map +1 -0
  1336. package/dist/hooks/use-previous.js +11 -0
  1337. package/dist/hooks/use-previous.js.map +1 -0
  1338. package/dist/hooks/use-queue.cjs +2 -0
  1339. package/dist/hooks/use-queue.cjs.map +1 -0
  1340. package/dist/hooks/use-queue.js +48 -0
  1341. package/dist/hooks/use-queue.js.map +1 -0
  1342. package/dist/hooks/use-resize-observer.cjs +2 -0
  1343. package/dist/hooks/use-resize-observer.cjs.map +1 -0
  1344. package/dist/hooks/use-resize-observer.js +19 -0
  1345. package/dist/hooks/use-resize-observer.js.map +1 -0
  1346. package/dist/hooks/use-scroll-lock.cjs +2 -0
  1347. package/dist/hooks/use-scroll-lock.cjs.map +1 -0
  1348. package/dist/hooks/use-scroll-lock.js +14 -0
  1349. package/dist/hooks/use-scroll-lock.js.map +1 -0
  1350. package/dist/hooks/use-service-worker-update.cjs +2 -0
  1351. package/dist/hooks/use-service-worker-update.cjs.map +1 -0
  1352. package/dist/hooks/use-service-worker-update.js +34 -0
  1353. package/dist/hooks/use-service-worker-update.js.map +1 -0
  1354. package/dist/hooks/use-set.cjs +2 -0
  1355. package/dist/hooks/use-set.cjs.map +1 -0
  1356. package/dist/hooks/use-set.js +39 -0
  1357. package/dist/hooks/use-set.js.map +1 -0
  1358. package/dist/hooks/use-stable-callback.cjs +2 -0
  1359. package/dist/hooks/use-stable-callback.cjs.map +1 -0
  1360. package/dist/hooks/use-stable-callback.js +9 -0
  1361. package/dist/hooks/use-stable-callback.js.map +1 -0
  1362. package/dist/hooks/use-storage-estimate.cjs +2 -0
  1363. package/dist/hooks/use-storage-estimate.cjs.map +1 -0
  1364. package/dist/hooks/use-storage-estimate.js +54 -0
  1365. package/dist/hooks/use-storage-estimate.js.map +1 -0
  1366. package/dist/hooks/use-throttle.cjs +2 -0
  1367. package/dist/hooks/use-throttle.cjs.map +1 -0
  1368. package/dist/hooks/use-throttle.js +16 -0
  1369. package/dist/hooks/use-throttle.js.map +1 -0
  1370. package/dist/hooks/use-timeout.cjs +2 -0
  1371. package/dist/hooks/use-timeout.cjs.map +1 -0
  1372. package/dist/hooks/use-timeout.js +13 -0
  1373. package/dist/hooks/use-timeout.js.map +1 -0
  1374. package/dist/hooks/use-toggle.cjs +2 -0
  1375. package/dist/hooks/use-toggle.cjs.map +1 -0
  1376. package/dist/hooks/use-toggle.js +9 -0
  1377. package/dist/hooks/use-toggle.js.map +1 -0
  1378. package/dist/hooks/use-window-size.cjs +2 -0
  1379. package/dist/hooks/use-window-size.cjs.map +1 -0
  1380. package/dist/hooks/use-window-size.js +15 -0
  1381. package/dist/hooks/use-window-size.js.map +1 -0
  1382. package/dist/http/api-client.cjs +2 -0
  1383. package/dist/http/api-client.cjs.map +1 -0
  1384. package/dist/http/api-client.js +81 -0
  1385. package/dist/http/api-client.js.map +1 -0
  1386. package/dist/http/errors.cjs +2 -0
  1387. package/dist/http/errors.cjs.map +1 -0
  1388. package/dist/http/errors.js +39 -0
  1389. package/dist/http/errors.js.map +1 -0
  1390. package/dist/http/idempotency.cjs +2 -0
  1391. package/dist/http/idempotency.cjs.map +1 -0
  1392. package/dist/http/idempotency.js +10 -0
  1393. package/dist/http/idempotency.js.map +1 -0
  1394. package/dist/http/parse-response.cjs +6 -0
  1395. package/dist/http/parse-response.cjs.map +1 -0
  1396. package/dist/http/parse-response.js +20 -0
  1397. package/dist/http/parse-response.js.map +1 -0
  1398. package/dist/http/retry.cjs +2 -0
  1399. package/dist/http/retry.cjs.map +1 -0
  1400. package/dist/http/retry.js +44 -0
  1401. package/dist/http/retry.js.map +1 -0
  1402. package/dist/http/upload-with-progress.cjs +2 -0
  1403. package/dist/http/upload-with-progress.cjs.map +1 -0
  1404. package/dist/http/upload-with-progress.js +91 -0
  1405. package/dist/http/upload-with-progress.js.map +1 -0
  1406. package/dist/http/use-poll.cjs +2 -0
  1407. package/dist/http/use-poll.cjs.map +1 -0
  1408. package/dist/http/use-poll.js +41 -0
  1409. package/dist/http/use-poll.js.map +1 -0
  1410. package/dist/i18n/I18nProvider.cjs +2 -0
  1411. package/dist/i18n/I18nProvider.cjs.map +1 -0
  1412. package/dist/i18n/I18nProvider.js +52 -0
  1413. package/dist/i18n/I18nProvider.js.map +1 -0
  1414. package/dist/i18n/create-i18n.cjs +2 -0
  1415. package/dist/i18n/create-i18n.cjs.map +1 -0
  1416. package/dist/i18n/create-i18n.js +50 -0
  1417. package/dist/i18n/create-i18n.js.map +1 -0
  1418. package/dist/logger/logger.cjs +2 -0
  1419. package/dist/logger/logger.cjs.map +1 -0
  1420. package/dist/logger/logger.js +41 -0
  1421. package/dist/logger/logger.js.map +1 -0
  1422. package/dist/oauth/GoogleSignIn.cjs +2 -0
  1423. package/dist/oauth/GoogleSignIn.cjs.map +1 -0
  1424. package/dist/oauth/GoogleSignIn.js +50 -0
  1425. package/dist/oauth/GoogleSignIn.js.map +1 -0
  1426. package/dist/oauth/use-oauth-callback.cjs +2 -0
  1427. package/dist/oauth/use-oauth-callback.cjs.map +1 -0
  1428. package/dist/oauth/use-oauth-callback.js +21 -0
  1429. package/dist/oauth/use-oauth-callback.js.map +1 -0
  1430. package/dist/offline/conflict.cjs +2 -0
  1431. package/dist/offline/conflict.cjs.map +1 -0
  1432. package/dist/offline/conflict.js +17 -0
  1433. package/dist/offline/conflict.js.map +1 -0
  1434. package/dist/offline/create-offline-store.cjs +2 -0
  1435. package/dist/offline/create-offline-store.cjs.map +1 -0
  1436. package/dist/offline/create-offline-store.js +46 -0
  1437. package/dist/offline/create-offline-store.js.map +1 -0
  1438. package/dist/offline/create-offline-sync.cjs +2 -0
  1439. package/dist/offline/create-offline-sync.cjs.map +1 -0
  1440. package/dist/offline/create-offline-sync.js +146 -0
  1441. package/dist/offline/create-offline-sync.js.map +1 -0
  1442. package/dist/offline/use-offline-sync.cjs +2 -0
  1443. package/dist/offline/use-offline-sync.cjs.map +1 -0
  1444. package/dist/offline/use-offline-sync.js +42 -0
  1445. package/dist/offline/use-offline-sync.js.map +1 -0
  1446. package/dist/push/use-push-subscription.cjs +2 -0
  1447. package/dist/push/use-push-subscription.cjs.map +1 -0
  1448. package/dist/push/use-push-subscription.js +68 -0
  1449. package/dist/push/use-push-subscription.js.map +1 -0
  1450. package/dist/push/utils.cjs +2 -0
  1451. package/dist/push/utils.cjs.map +1 -0
  1452. package/dist/push/utils.js +14 -0
  1453. package/dist/push/utils.js.map +1 -0
  1454. package/dist/push/web-push-client.cjs +2 -0
  1455. package/dist/push/web-push-client.cjs.map +1 -0
  1456. package/dist/push/web-push-client.js +83 -0
  1457. package/dist/push/web-push-client.js.map +1 -0
  1458. package/dist/query/QueryProvider.cjs +2 -0
  1459. package/dist/query/QueryProvider.cjs.map +1 -0
  1460. package/dist/query/QueryProvider.js +28 -0
  1461. package/dist/query/QueryProvider.js.map +1 -0
  1462. package/dist/query/constants.cjs +2 -0
  1463. package/dist/query/constants.cjs.map +1 -0
  1464. package/dist/query/constants.js +21 -0
  1465. package/dist/query/constants.js.map +1 -0
  1466. package/dist/query/create-query-keys.cjs +2 -0
  1467. package/dist/query/create-query-keys.cjs.map +1 -0
  1468. package/dist/query/create-query-keys.js +10 -0
  1469. package/dist/query/create-query-keys.js.map +1 -0
  1470. package/dist/query/offline-persistence.cjs +2 -0
  1471. package/dist/query/offline-persistence.cjs.map +1 -0
  1472. package/dist/query/offline-persistence.js +40 -0
  1473. package/dist/query/offline-persistence.js.map +1 -0
  1474. package/dist/query/optimistic.cjs +2 -0
  1475. package/dist/query/optimistic.cjs.map +1 -0
  1476. package/dist/query/optimistic.js +19 -0
  1477. package/dist/query/optimistic.js.map +1 -0
  1478. package/dist/query/pagination.cjs +2 -0
  1479. package/dist/query/pagination.cjs.map +1 -0
  1480. package/dist/query/pagination.js +19 -0
  1481. package/dist/query/pagination.js.map +1 -0
  1482. package/dist/query/use-cursor-query.cjs +2 -0
  1483. package/dist/query/use-cursor-query.cjs.map +1 -0
  1484. package/dist/query/use-cursor-query.js +28 -0
  1485. package/dist/query/use-cursor-query.js.map +1 -0
  1486. package/dist/query/use-offline-mutation.cjs +2 -0
  1487. package/dist/query/use-offline-mutation.cjs.map +1 -0
  1488. package/dist/query/use-offline-mutation.js +30 -0
  1489. package/dist/query/use-offline-mutation.js.map +1 -0
  1490. package/dist/query/use-paginated-query.cjs +2 -0
  1491. package/dist/query/use-paginated-query.cjs.map +1 -0
  1492. package/dist/query/use-paginated-query.js +44 -0
  1493. package/dist/query/use-paginated-query.js.map +1 -0
  1494. package/dist/router/AppRouter.cjs +2 -0
  1495. package/dist/router/AppRouter.cjs.map +1 -0
  1496. package/dist/router/AppRouter.js +60 -0
  1497. package/dist/router/AppRouter.js.map +1 -0
  1498. package/dist/router/RouteGuard.cjs +2 -0
  1499. package/dist/router/RouteGuard.cjs.map +1 -0
  1500. package/dist/router/RouteGuard.js +9 -0
  1501. package/dist/router/RouteGuard.js.map +1 -0
  1502. package/dist/share/share-or-download.cjs +2 -0
  1503. package/dist/share/share-or-download.cjs.map +1 -0
  1504. package/dist/share/share-or-download.js +11 -0
  1505. package/dist/share/share-or-download.js.map +1 -0
  1506. package/dist/share/share.cjs +2 -0
  1507. package/dist/share/share.cjs.map +1 -0
  1508. package/dist/share/share.js +19 -0
  1509. package/dist/share/share.js.map +1 -0
  1510. package/dist/sse/create-event-stream.cjs +2 -0
  1511. package/dist/sse/create-event-stream.cjs.map +1 -0
  1512. package/dist/sse/create-event-stream.js +76 -0
  1513. package/dist/sse/create-event-stream.js.map +1 -0
  1514. package/dist/sse/use-event-stream.cjs +2 -0
  1515. package/dist/sse/use-event-stream.cjs.map +1 -0
  1516. package/dist/sse/use-event-stream.js +29 -0
  1517. package/dist/sse/use-event-stream.js.map +1 -0
  1518. package/dist/store/create-selectors.cjs +2 -0
  1519. package/dist/store/create-selectors.cjs.map +1 -0
  1520. package/dist/store/create-selectors.js +11 -0
  1521. package/dist/store/create-selectors.js.map +1 -0
  1522. package/dist/store/create-store.cjs +2 -0
  1523. package/dist/store/create-store.cjs.map +1 -0
  1524. package/dist/store/create-store.js +20 -0
  1525. package/dist/store/create-store.js.map +1 -0
  1526. package/dist/styles.css +1 -1
  1527. package/dist/sw/background-sync.cjs +2 -0
  1528. package/dist/sw/background-sync.cjs.map +1 -0
  1529. package/dist/sw/background-sync.js +106 -0
  1530. package/dist/sw/background-sync.js.map +1 -0
  1531. package/dist/sw/cache-inspect.cjs +2 -0
  1532. package/dist/sw/cache-inspect.cjs.map +1 -0
  1533. package/dist/sw/cache-inspect.js +47 -0
  1534. package/dist/sw/cache-inspect.js.map +1 -0
  1535. package/dist/sw/cache.cjs +2 -0
  1536. package/dist/sw/cache.cjs.map +1 -0
  1537. package/dist/sw/cache.js +176 -0
  1538. package/dist/sw/cache.js.map +1 -0
  1539. package/dist/sw/create-push-handler.cjs +2 -0
  1540. package/dist/sw/create-push-handler.cjs.map +1 -0
  1541. package/dist/sw/create-push-handler.js +64 -0
  1542. package/dist/sw/create-push-handler.js.map +1 -0
  1543. package/dist/sw/periodic-sync.cjs +2 -0
  1544. package/dist/sw/periodic-sync.cjs.map +1 -0
  1545. package/dist/sw/periodic-sync.js +18 -0
  1546. package/dist/sw/periodic-sync.js.map +1 -0
  1547. package/dist/sw/register-service-worker.cjs +2 -0
  1548. package/dist/sw/register-service-worker.cjs.map +1 -0
  1549. package/dist/sw/register-service-worker.js +50 -0
  1550. package/dist/sw/register-service-worker.js.map +1 -0
  1551. package/dist/sw.cjs +1 -1
  1552. package/dist/sw.cjs.map +1 -1
  1553. package/dist/sw.d.ts +99 -0
  1554. package/dist/sw.js +19 -374
  1555. package/dist/sw.js.map +1 -1
  1556. package/dist/telemetry/TelemetryProvider.cjs +2 -0
  1557. package/dist/telemetry/TelemetryProvider.cjs.map +1 -0
  1558. package/dist/telemetry/TelemetryProvider.js +18 -0
  1559. package/dist/telemetry/TelemetryProvider.js.map +1 -0
  1560. package/dist/telemetry/console-adapter.cjs +2 -0
  1561. package/dist/telemetry/console-adapter.cjs.map +1 -0
  1562. package/dist/telemetry/console-adapter.js +15 -0
  1563. package/dist/telemetry/console-adapter.js.map +1 -0
  1564. package/dist/telemetry/posthog-adapter.cjs +2 -0
  1565. package/dist/telemetry/posthog-adapter.cjs.map +1 -0
  1566. package/dist/telemetry/posthog-adapter.js +43 -0
  1567. package/dist/telemetry/posthog-adapter.js.map +1 -0
  1568. package/dist/telemetry/sentry-adapter.cjs +2 -0
  1569. package/dist/telemetry/sentry-adapter.cjs.map +1 -0
  1570. package/dist/telemetry/sentry-adapter.js +39 -0
  1571. package/dist/telemetry/sentry-adapter.js.map +1 -0
  1572. package/dist/tempest-react-sdk.cjs +1 -14
  1573. package/dist/tempest-react-sdk.cjs.map +1 -1
  1574. package/dist/tempest-react-sdk.d.ts +770 -8
  1575. package/dist/tempest-react-sdk.js +638 -9470
  1576. package/dist/tempest-react-sdk.js.map +1 -1
  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 +14 -0
  1580. package/dist/testing/create-mock-handlers.js.map +1 -0
  1581. package/dist/testing.cjs +1 -1
  1582. package/dist/testing.cjs.map +1 -1
  1583. package/dist/testing.js +1 -10
  1584. package/dist/testing.js.map +1 -1
  1585. package/dist/theme/ThemeProvider.cjs +2 -0
  1586. package/dist/theme/ThemeProvider.cjs.map +1 -0
  1587. package/dist/theme/ThemeProvider.js +78 -0
  1588. package/dist/theme/ThemeProvider.js.map +1 -0
  1589. package/dist/theme/initial-theme.cjs +11 -0
  1590. package/dist/theme/initial-theme.cjs.map +1 -0
  1591. package/dist/theme/initial-theme.js +31 -0
  1592. package/dist/theme/initial-theme.js.map +1 -0
  1593. package/dist/utils/arrays.cjs +2 -0
  1594. package/dist/utils/arrays.cjs.map +1 -0
  1595. package/dist/utils/arrays.js +40 -0
  1596. package/dist/utils/arrays.js.map +1 -0
  1597. package/dist/utils/cn.cjs +2 -0
  1598. package/dist/utils/cn.cjs.map +1 -0
  1599. package/dist/utils/cn.js +19 -0
  1600. package/dist/utils/cn.js.map +1 -0
  1601. package/dist/utils/format.cjs +2 -0
  1602. package/dist/utils/format.cjs.map +1 -0
  1603. package/dist/utils/format.js +40 -0
  1604. package/dist/utils/format.js.map +1 -0
  1605. package/dist/utils/functions.cjs +2 -0
  1606. package/dist/utils/functions.cjs.map +1 -0
  1607. package/dist/utils/functions.js +49 -0
  1608. package/dist/utils/functions.js.map +1 -0
  1609. package/dist/utils/guards.cjs +2 -0
  1610. package/dist/utils/guards.cjs.map +1 -0
  1611. package/dist/utils/guards.js +25 -0
  1612. package/dist/utils/guards.js.map +1 -0
  1613. package/dist/utils/ids.cjs +2 -0
  1614. package/dist/utils/ids.cjs.map +1 -0
  1615. package/dist/utils/ids.js +14 -0
  1616. package/dist/utils/ids.js.map +1 -0
  1617. package/dist/utils/numbers.cjs +2 -0
  1618. package/dist/utils/numbers.cjs.map +1 -0
  1619. package/dist/utils/numbers.js +27 -0
  1620. package/dist/utils/numbers.js.map +1 -0
  1621. package/dist/utils/objects.cjs +2 -0
  1622. package/dist/utils/objects.cjs.map +1 -0
  1623. package/dist/utils/objects.js +37 -0
  1624. package/dist/utils/objects.js.map +1 -0
  1625. package/dist/utils/promises.cjs +2 -0
  1626. package/dist/utils/promises.cjs.map +1 -0
  1627. package/dist/utils/promises.js +24 -0
  1628. package/dist/utils/promises.js.map +1 -0
  1629. package/dist/utils/relative-time.cjs +2 -0
  1630. package/dist/utils/relative-time.cjs.map +1 -0
  1631. package/dist/utils/relative-time.js +67 -0
  1632. package/dist/utils/relative-time.js.map +1 -0
  1633. package/dist/utils/storage.cjs +2 -0
  1634. package/dist/utils/storage.cjs.map +1 -0
  1635. package/dist/utils/storage.js +29 -0
  1636. package/dist/utils/storage.js.map +1 -0
  1637. package/dist/utils/strings.cjs +2 -0
  1638. package/dist/utils/strings.cjs.map +1 -0
  1639. package/dist/utils/strings.js +33 -0
  1640. package/dist/utils/strings.js.map +1 -0
  1641. package/dist/utils/xlsx.cjs +2 -0
  1642. package/dist/utils/xlsx.cjs.map +1 -0
  1643. package/dist/utils/xlsx.js +41 -0
  1644. package/dist/utils/xlsx.js.map +1 -0
  1645. package/dist/vision/core/canvas.cjs +2 -0
  1646. package/dist/vision/core/canvas.cjs.map +1 -0
  1647. package/dist/vision/core/canvas.js +41 -0
  1648. package/dist/vision/core/canvas.js.map +1 -0
  1649. package/dist/vision/core/exceptions.cjs +2 -0
  1650. package/dist/vision/core/exceptions.cjs.map +1 -0
  1651. package/dist/vision/core/exceptions.js +24 -0
  1652. package/dist/vision/core/exceptions.js.map +1 -0
  1653. package/dist/vision/core/providers.cjs +2 -0
  1654. package/dist/vision/core/providers.cjs.map +1 -0
  1655. package/dist/vision/core/providers.js +9 -0
  1656. package/dist/vision/core/providers.js.map +1 -0
  1657. package/dist/vision/core/session.cjs +2 -0
  1658. package/dist/vision/core/session.cjs.map +1 -0
  1659. package/dist/vision/core/session.js +71 -0
  1660. package/dist/vision/core/session.js.map +1 -0
  1661. package/dist/vision/index.cjs +2 -0
  1662. package/dist/vision/index.cjs.map +1 -0
  1663. package/dist/vision/index.js +5 -0
  1664. package/dist/vision/index.js.map +1 -0
  1665. package/dist/vision/io/image.cjs +2 -0
  1666. package/dist/vision/io/image.cjs.map +1 -0
  1667. package/dist/vision/io/image.js +75 -0
  1668. package/dist/vision/io/image.js.map +1 -0
  1669. package/dist/vision/labels.cjs +2 -0
  1670. package/dist/vision/labels.cjs.map +1 -0
  1671. package/dist/vision/labels.js +125 -0
  1672. package/dist/vision/labels.js.map +1 -0
  1673. package/dist/vision/luminance.cjs +2 -0
  1674. package/dist/vision/luminance.cjs.map +1 -0
  1675. package/dist/vision/luminance.js +45 -0
  1676. package/dist/vision/luminance.js.map +1 -0
  1677. package/dist/vision/postprocess/classification.cjs +2 -0
  1678. package/dist/vision/postprocess/classification.cjs.map +1 -0
  1679. package/dist/vision/postprocess/classification.js +32 -0
  1680. package/dist/vision/postprocess/classification.js.map +1 -0
  1681. package/dist/vision/postprocess/detection.cjs +2 -0
  1682. package/dist/vision/postprocess/detection.cjs.map +1 -0
  1683. package/dist/vision/postprocess/detection.js +153 -0
  1684. package/dist/vision/postprocess/detection.js.map +1 -0
  1685. package/dist/vision/postprocess/segmentation.cjs +2 -0
  1686. package/dist/vision/postprocess/segmentation.cjs.map +1 -0
  1687. package/dist/vision/postprocess/segmentation.js +109 -0
  1688. package/dist/vision/postprocess/segmentation.js.map +1 -0
  1689. package/dist/vision/preprocess/image.cjs +2 -0
  1690. package/dist/vision/preprocess/image.cjs.map +1 -0
  1691. package/dist/vision/preprocess/image.js +93 -0
  1692. package/dist/vision/preprocess/image.js.map +1 -0
  1693. package/dist/vision/results.cjs +2 -0
  1694. package/dist/vision/results.cjs.map +1 -0
  1695. package/dist/vision/results.js +213 -0
  1696. package/dist/vision/results.js.map +1 -0
  1697. package/dist/vision/tasks/base.cjs +2 -0
  1698. package/dist/vision/tasks/base.cjs.map +1 -0
  1699. package/dist/vision/tasks/base.js +14 -0
  1700. package/dist/vision/tasks/base.js.map +1 -0
  1701. package/dist/vision/tasks/classifier.cjs +2 -0
  1702. package/dist/vision/tasks/classifier.cjs.map +1 -0
  1703. package/dist/vision/tasks/classifier.js +106 -0
  1704. package/dist/vision/tasks/classifier.js.map +1 -0
  1705. package/dist/vision/tasks/detector.cjs +2 -0
  1706. package/dist/vision/tasks/detector.cjs.map +1 -0
  1707. package/dist/vision/tasks/detector.js +147 -0
  1708. package/dist/vision/tasks/detector.js.map +1 -0
  1709. package/dist/vision/tasks/segmenter.cjs +2 -0
  1710. package/dist/vision/tasks/segmenter.cjs.map +1 -0
  1711. package/dist/vision/tasks/segmenter.js +189 -0
  1712. package/dist/vision/tasks/segmenter.js.map +1 -0
  1713. package/dist/vision/types.cjs +2 -0
  1714. package/dist/vision/types.cjs.map +1 -0
  1715. package/dist/vision/types.js +100 -0
  1716. package/dist/vision/types.js.map +1 -0
  1717. package/dist/vision/use-camera-stream.cjs +2 -0
  1718. package/dist/vision/use-camera-stream.cjs.map +1 -0
  1719. package/dist/vision/use-camera-stream.js +89 -0
  1720. package/dist/vision/use-camera-stream.js.map +1 -0
  1721. package/dist/vision/use-live-luminance.cjs +2 -0
  1722. package/dist/vision/use-live-luminance.cjs.map +1 -0
  1723. package/dist/vision/use-live-luminance.js +23 -0
  1724. package/dist/vision/use-live-luminance.js.map +1 -0
  1725. package/dist/vision.cjs +1 -1
  1726. package/dist/vision.cjs.map +1 -1
  1727. package/dist/vision.js +70 -1558
  1728. package/dist/vision.js.map +1 -1
  1729. package/dist/vite/create-vite-config.cjs +2 -0
  1730. package/dist/vite/create-vite-config.cjs.map +1 -0
  1731. package/dist/vite/create-vite-config.js +46 -0
  1732. package/dist/vite/create-vite-config.js.map +1 -0
  1733. package/dist/vite/tempest-pwa-dev-sw.cjs +3 -0
  1734. package/dist/vite/tempest-pwa-dev-sw.cjs.map +1 -0
  1735. package/dist/vite/tempest-pwa-dev-sw.js +50 -0
  1736. package/dist/vite/tempest-pwa-dev-sw.js.map +1 -0
  1737. package/dist/vite/tempest-pwa-icons.cjs +2 -0
  1738. package/dist/vite/tempest-pwa-icons.cjs.map +1 -0
  1739. package/dist/vite/tempest-pwa-icons.js +137 -0
  1740. package/dist/vite/tempest-pwa-icons.js.map +1 -0
  1741. package/dist/vite/tempest-pwa-manifest.cjs +3 -0
  1742. package/dist/vite/tempest-pwa-manifest.cjs.map +1 -0
  1743. package/dist/vite/tempest-pwa-manifest.js +43 -0
  1744. package/dist/vite/tempest-pwa-manifest.js.map +1 -0
  1745. package/dist/vite.cjs +1 -3
  1746. package/dist/vite.cjs.map +1 -1
  1747. package/dist/vite.js +8 -262
  1748. package/dist/vite.js.map +1 -1
  1749. package/dist/ws/create-web-socket.cjs +2 -0
  1750. package/dist/ws/create-web-socket.cjs.map +1 -0
  1751. package/dist/ws/create-web-socket.js +83 -0
  1752. package/dist/ws/create-web-socket.js.map +1 -0
  1753. package/dist/ws/use-web-socket.cjs +2 -0
  1754. package/dist/ws/use-web-socket.cjs.map +1 -0
  1755. package/dist/ws/use-web-socket.js +32 -0
  1756. package/dist/ws/use-web-socket.js.map +1 -0
  1757. package/package.json +6 -2
  1758. package/template-pwa/src/main.tsx +11 -20
  1759. package/template-pwa/src/pwa.tsx +42 -0
  1760. package/dist/AC-Brw7ZrEs.cjs +0 -2
  1761. package/dist/AC-Brw7ZrEs.cjs.map +0 -1
  1762. package/dist/AC-DLl3Z4oj.js +0 -12
  1763. package/dist/AC-DLl3Z4oj.js.map +0 -1
  1764. package/dist/AL-DPGoZjht.cjs +0 -2
  1765. package/dist/AL-DPGoZjht.cjs.map +0 -1
  1766. package/dist/AL-gswGaWlj.js +0 -12
  1767. package/dist/AL-gswGaWlj.js.map +0 -1
  1768. package/dist/AM-QN1eL4Tn.js +0 -12
  1769. package/dist/AM-QN1eL4Tn.js.map +0 -1
  1770. package/dist/AM-VqNWvsI-.cjs +0 -2
  1771. package/dist/AM-VqNWvsI-.cjs.map +0 -1
  1772. package/dist/AP-CPvBa_FK.cjs +0 -2
  1773. package/dist/AP-CPvBa_FK.cjs.map +0 -1
  1774. package/dist/AP-CRAbh1js.js +0 -12
  1775. package/dist/AP-CRAbh1js.js.map +0 -1
  1776. package/dist/BA-CKy_HnnV.js +0 -12
  1777. package/dist/BA-CKy_HnnV.js.map +0 -1
  1778. package/dist/BA-DoMQ6slK.cjs +0 -2
  1779. package/dist/BA-DoMQ6slK.cjs.map +0 -1
  1780. package/dist/CE-Ca-XMDFW.js +0 -12
  1781. package/dist/CE-Ca-XMDFW.js.map +0 -1
  1782. package/dist/CE-as-pGPQa.cjs +0 -2
  1783. package/dist/CE-as-pGPQa.cjs.map +0 -1
  1784. package/dist/DF-8kzFoovF.js +0 -12
  1785. package/dist/DF-8kzFoovF.js.map +0 -1
  1786. package/dist/DF-Wr8WNxSX.cjs +0 -2
  1787. package/dist/DF-Wr8WNxSX.cjs.map +0 -1
  1788. package/dist/ES-B4uWNG6s.js +0 -12
  1789. package/dist/ES-B4uWNG6s.js.map +0 -1
  1790. package/dist/ES-wKVjD_TM.cjs +0 -2
  1791. package/dist/ES-wKVjD_TM.cjs.map +0 -1
  1792. package/dist/GO-D4m4rOqy.cjs +0 -2
  1793. package/dist/GO-D4m4rOqy.cjs.map +0 -1
  1794. package/dist/GO-DuaAgIfo.js +0 -12
  1795. package/dist/GO-DuaAgIfo.js.map +0 -1
  1796. package/dist/MA-BmaUZZKe.cjs +0 -2
  1797. package/dist/MA-BmaUZZKe.cjs.map +0 -1
  1798. package/dist/MA-wOyPxG_M.js +0 -12
  1799. package/dist/MA-wOyPxG_M.js.map +0 -1
  1800. package/dist/MG-BYsqJd-S.js +0 -12
  1801. package/dist/MG-BYsqJd-S.js.map +0 -1
  1802. package/dist/MG-BchdfJXp.cjs +0 -2
  1803. package/dist/MG-BchdfJXp.cjs.map +0 -1
  1804. package/dist/MS-DZkgtN_7.js +0 -12
  1805. package/dist/MS-DZkgtN_7.js.map +0 -1
  1806. package/dist/MS-Dz9lDw37.cjs +0 -2
  1807. package/dist/MS-Dz9lDw37.cjs.map +0 -1
  1808. package/dist/MT-BkVchoah.cjs +0 -2
  1809. package/dist/MT-BkVchoah.cjs.map +0 -1
  1810. package/dist/MT-GmMwFWw2.js +0 -12
  1811. package/dist/MT-GmMwFWw2.js.map +0 -1
  1812. package/dist/PA-C2FpT6Ew.cjs +0 -2
  1813. package/dist/PA-C2FpT6Ew.cjs.map +0 -1
  1814. package/dist/PA-DgyDzDFi.js +0 -12
  1815. package/dist/PA-DgyDzDFi.js.map +0 -1
  1816. package/dist/PB-BGkzbQup.cjs +0 -2
  1817. package/dist/PB-BGkzbQup.cjs.map +0 -1
  1818. package/dist/PB-D-6NE6KM.js +0 -12
  1819. package/dist/PB-D-6NE6KM.js.map +0 -1
  1820. package/dist/PE-D8V7gWY-.cjs +0 -2
  1821. package/dist/PE-D8V7gWY-.cjs.map +0 -1
  1822. package/dist/PE-vqm-t7Nh.js +0 -12
  1823. package/dist/PE-vqm-t7Nh.js.map +0 -1
  1824. package/dist/PI-CILuGJlW.js +0 -12
  1825. package/dist/PI-CILuGJlW.js.map +0 -1
  1826. package/dist/PI-dJYCbXQM.cjs +0 -2
  1827. package/dist/PI-dJYCbXQM.cjs.map +0 -1
  1828. package/dist/PR-DN8AV__r.js +0 -12
  1829. package/dist/PR-DN8AV__r.js.map +0 -1
  1830. package/dist/PR-P17oBdNH.cjs +0 -2
  1831. package/dist/PR-P17oBdNH.cjs.map +0 -1
  1832. package/dist/RJ-Bccz05Em.js +0 -12
  1833. package/dist/RJ-Bccz05Em.js.map +0 -1
  1834. package/dist/RJ-Budqx7QP.cjs +0 -2
  1835. package/dist/RJ-Budqx7QP.cjs.map +0 -1
  1836. package/dist/RN-DLcJBxo3.cjs +0 -2
  1837. package/dist/RN-DLcJBxo3.cjs.map +0 -1
  1838. package/dist/RN-DTqFP-Nm.js +0 -12
  1839. package/dist/RN-DTqFP-Nm.js.map +0 -1
  1840. package/dist/RO-BCC54UTU.js +0 -12
  1841. package/dist/RO-BCC54UTU.js.map +0 -1
  1842. package/dist/RO-B_IDyci4.cjs +0 -2
  1843. package/dist/RO-B_IDyci4.cjs.map +0 -1
  1844. package/dist/RR-CDGUEyla.cjs +0 -2
  1845. package/dist/RR-CDGUEyla.cjs.map +0 -1
  1846. package/dist/RR-OCnI_XpU.js +0 -12
  1847. package/dist/RR-OCnI_XpU.js.map +0 -1
  1848. package/dist/RS-DiBeY_u5.cjs +0 -2
  1849. package/dist/RS-DiBeY_u5.cjs.map +0 -1
  1850. package/dist/RS-Dy7gBbbH.js +0 -12
  1851. package/dist/RS-Dy7gBbbH.js.map +0 -1
  1852. package/dist/SC-CEMoj8g2.cjs +0 -2
  1853. package/dist/SC-CEMoj8g2.cjs.map +0 -1
  1854. package/dist/SC-trCqQDXz.js +0 -12
  1855. package/dist/SC-trCqQDXz.js.map +0 -1
  1856. package/dist/SE-DAfFbZcK.cjs +0 -2
  1857. package/dist/SE-DAfFbZcK.cjs.map +0 -1
  1858. package/dist/SE-DBdfSrGk.js +0 -12
  1859. package/dist/SE-DBdfSrGk.js.map +0 -1
  1860. package/dist/SP-Cse4d68i.cjs +0 -2
  1861. package/dist/SP-Cse4d68i.cjs.map +0 -1
  1862. package/dist/SP-qPZjJDOT.js +0 -12
  1863. package/dist/SP-qPZjJDOT.js.map +0 -1
  1864. package/dist/TO-CZtMDVug.js +0 -12
  1865. package/dist/TO-CZtMDVug.js.map +0 -1
  1866. package/dist/TO-Dwi5zIyF.cjs +0 -2
  1867. package/dist/TO-Dwi5zIyF.cjs.map +0 -1
  1868. package/dist/br-centroids--O7-1KXz.cjs +0 -2
  1869. package/dist/br-centroids--O7-1KXz.cjs.map +0 -1
  1870. package/dist/br-centroids-IHN7PIzD.js +0 -10
  1871. package/dist/br-centroids-IHN7PIzD.js.map +0 -1
  1872. package/dist/br-geo-BYynYOwK.cjs +0 -2
  1873. package/dist/br-geo-BYynYOwK.cjs.map +0 -1
  1874. package/dist/br-geo-DFRuvjuU.js +0 -8
  1875. package/dist/br-geo-DFRuvjuU.js.map +0 -1
  1876. package/dist/cn-C0Sxc9eb.js +0 -19
  1877. package/dist/cn-C0Sxc9eb.js.map +0 -1
  1878. package/dist/cn-CNScIEB4.cjs +0 -2
  1879. package/dist/cn-CNScIEB4.cjs.map +0 -1
  1880. package/dist/leaflet-map-BHBcL_7k.js +0 -51
  1881. package/dist/leaflet-map-BHBcL_7k.js.map +0 -1
  1882. package/dist/leaflet-map-BzYV9czG.cjs +0 -2
  1883. package/dist/leaflet-map-BzYV9czG.cjs.map +0 -1
  1884. package/dist/projection-CILVBdpd.cjs +0 -2
  1885. package/dist/projection-CILVBdpd.cjs.map +0 -1
  1886. package/dist/projection-Wnqr_svy.js +0 -215
  1887. package/dist/projection-Wnqr_svy.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function g(){return globalThis}const c="requests";function l(e){return new Promise((t,r)=>{const n=indexedDB.open(e,1);n.onupgradeneeded=()=>{n.result.createObjectStore(c,{keyPath:"id",autoIncrement:!0})},n.onsuccess=()=>t(n.result),n.onerror=()=>r(n.error)})}function w(e){return new Promise((t,r)=>{e.oncomplete=()=>t(),e.onerror=()=>r(e.error),e.onabort=()=>r(e.error)})}async function m(e,t){const r=await l(e),n=r.transaction(c,"readwrite");n.objectStore(c).add(t),await w(n),r.close()}async function p(e){const t=await l(e),r=t.transaction(c,"readonly"),n=await new Promise((a,s)=>{const o=r.objectStore(c).getAll();o.onsuccess=()=>a(o.result),o.onerror=()=>s(o.error)});return t.close(),n}async function f(e,t){const r=await l(e),n=r.transaction(c,"readwrite");n.objectStore(c).delete(t),await w(n),r.close()}async function S(e,t){const r=await e.clone().arrayBuffer();return{url:e.url,method:e.method,headers:[...e.headers.entries()],body:r.byteLength>0?r:null,timestamp:t}}function q(e){return new Request(e.url,{method:e.method,headers:e.headers,body:e.body??void 0})}async function d(e,t,r){const n=await p(e);let a=0;for(const s of n)if(s.id!==void 0){if(r-s.timestamp>t){await f(e,s.id);continue}try{const o=await fetch(q(s));o.ok||o.status>=400&&o.status<500?await f(e,s.id):a+=1}catch{a+=1}}if(a>0)throw new Error(`background-sync: ${a} request(s) still pending`)}function E(e,t,r){return e?typeof e=="function"?e(t,r):e.test(t.href):!0}function D(e={}){const t=g(),{match:r,queueName:n="tempest-bg-sync",maxRetentionMinutes:a=1440,periodicSyncTag:s=`${e.queueName??"tempest-bg-sync"}-periodic`}=e,o=a*60*1e3;t.addEventListener("fetch",i=>{const u=i.request;if(u.method==="GET"||u.method==="HEAD")return;const y=new URL(u.url);E(r,y,u)&&i.respondWith(fetch(u.clone()).catch(async h=>{const b=await S(u,Date.now());await m(n,b);try{await t.registration.sync?.register(n)}catch{}throw h}))}),t.addEventListener("sync",i=>{i.tag===n&&i.waitUntil(d(n,o,Date.now()))}),t.addEventListener("periodicsync",i=>{i.tag===s&&i.waitUntil(d(n,o,Date.now()).catch(()=>{}))}),t.addEventListener("fetch",i=>{t.registration.sync||i.request.method==="GET"&&i.waitUntil(d(n,o,Date.now()).catch(()=>{}))})}exports.installBackgroundSync=D;
2
+ //# sourceMappingURL=background-sync.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"background-sync.cjs","sources":["../../src/sw/background-sync.ts"],"sourcesContent":["/**\n * Background-sync helper: queue failed mutating requests (POST/PUT/PATCH/DELETE)\n * while offline and replay them when connectivity returns. A dependency-free\n * take on Workbox's `BackgroundSyncPlugin`, backed by a tiny IndexedDB queue.\n *\n * Import inside your `sw.ts`. Uses the Background Sync API (`registration.sync`)\n * when available, and also replays opportunistically on the next request as a\n * fallback for browsers without it (e.g. Safari).\n *\n * @example\n * import { installBackgroundSync } from \"tempest-react-sdk/sw\";\n *\n * installBackgroundSync({ match: (url) => url.pathname.startsWith(\"/api/\") });\n */\n\ninterface SyncEventLike {\n tag: string;\n waitUntil(promise: Promise<unknown>): void;\n}\n\ninterface BgFetchEventLike {\n request: Request;\n respondWith(response: Response | Promise<Response>): void;\n waitUntil(promise: Promise<unknown>): void;\n}\n\ninterface PeriodicSyncEventLike {\n tag: string;\n waitUntil(promise: Promise<unknown>): void;\n}\n\ninterface BgSwGlobal {\n registration: { sync?: { register(tag: string): Promise<void> } };\n addEventListener(type: \"sync\", listener: (event: SyncEventLike) => void): void;\n addEventListener(type: \"fetch\", listener: (event: BgFetchEventLike) => void): void;\n addEventListener(type: \"periodicsync\", listener: (event: PeriodicSyncEventLike) => void): void;\n}\n\nfunction getSwScope(): BgSwGlobal {\n return globalThis as unknown as BgSwGlobal;\n}\n\n/** A serialized request stored in the queue. */\ninterface QueuedRequest {\n id?: number;\n url: string;\n method: string;\n headers: [string, string][];\n body: ArrayBuffer | null;\n timestamp: number;\n}\n\n/** Options for {@link installBackgroundSync}. */\nexport interface InstallBackgroundSyncOptions {\n /**\n * Which requests to queue on failure. A `RegExp` against the URL or a\n * predicate. Only non-`GET` requests are ever considered. Default: all\n * non-`GET` requests.\n */\n match?: RegExp | ((url: URL, request: Request) => boolean);\n /** IndexedDB database name, also used as the sync tag. Default `tempest-bg-sync`. */\n queueName?: string;\n /** Drop queued requests older than this (minutes) on replay. Default `1440` (24h). */\n maxRetentionMinutes?: number;\n /**\n * Also drain the queue on the `periodicsync` event carrying this tag,\n * complementing the one-off `sync` replay so long-pending mutations retry\n * even without a fresh navigation. Register the periodic sync from the main\n * thread with {@link registerPeriodicSync}. Default `${queueName}-periodic`.\n */\n periodicSyncTag?: string;\n}\n\nconst STORE = \"requests\";\n\nfunction openQueueDb(name: string): Promise<IDBDatabase> {\n return new Promise((resolve, reject) => {\n const request = indexedDB.open(name, 1);\n request.onupgradeneeded = () => {\n request.result.createObjectStore(STORE, { keyPath: \"id\", autoIncrement: true });\n };\n request.onsuccess = () => resolve(request.result);\n request.onerror = () => reject(request.error);\n });\n}\n\nfunction txDone(tx: IDBTransaction): Promise<void> {\n return new Promise((resolve, reject) => {\n tx.oncomplete = () => resolve();\n tx.onerror = () => reject(tx.error);\n tx.onabort = () => reject(tx.error);\n });\n}\n\nasync function enqueue(name: string, entry: QueuedRequest): Promise<void> {\n const db = await openQueueDb(name);\n const tx = db.transaction(STORE, \"readwrite\");\n tx.objectStore(STORE).add(entry);\n await txDone(tx);\n db.close();\n}\n\nasync function readAll(name: string): Promise<QueuedRequest[]> {\n const db = await openQueueDb(name);\n const tx = db.transaction(STORE, \"readonly\");\n const all = await new Promise<QueuedRequest[]>((resolve, reject) => {\n const req = tx.objectStore(STORE).getAll();\n req.onsuccess = () => resolve(req.result as QueuedRequest[]);\n req.onerror = () => reject(req.error);\n });\n db.close();\n return all;\n}\n\nasync function remove(name: string, id: number): Promise<void> {\n const db = await openQueueDb(name);\n const tx = db.transaction(STORE, \"readwrite\");\n tx.objectStore(STORE).delete(id);\n await txDone(tx);\n db.close();\n}\n\nasync function serializeRequest(request: Request, timestamp: number): Promise<QueuedRequest> {\n const buffer = await request.clone().arrayBuffer();\n return {\n url: request.url,\n method: request.method,\n headers: [...request.headers.entries()],\n body: buffer.byteLength > 0 ? buffer : null,\n timestamp,\n };\n}\n\nfunction deserializeRequest(entry: QueuedRequest): Request {\n return new Request(entry.url, {\n method: entry.method,\n headers: entry.headers,\n body: entry.body ?? undefined,\n });\n}\n\n/**\n * Replay every queued request once. Successful (or stale) entries are removed;\n * entries that fail again are kept for the next attempt. Throws if any entry\n * still fails, so a `sync` handler keeps the sync pending.\n */\nasync function replayQueue(name: string, maxRetentionMs: number, now: number): Promise<void> {\n const entries = await readAll(name);\n let pending = 0;\n\n for (const entry of entries) {\n if (entry.id === undefined) continue;\n if (now - entry.timestamp > maxRetentionMs) {\n await remove(name, entry.id);\n continue;\n }\n try {\n const response = await fetch(deserializeRequest(entry));\n if (response.ok || (response.status >= 400 && response.status < 500)) {\n // 2xx = done; 4xx = client error that won't fix itself → drop it.\n await remove(name, entry.id);\n } else {\n pending += 1;\n }\n } catch {\n pending += 1;\n }\n }\n\n if (pending > 0) throw new Error(`background-sync: ${pending} request(s) still pending`);\n}\n\nfunction matches(\n match: InstallBackgroundSyncOptions[\"match\"],\n url: URL,\n request: Request,\n): boolean {\n if (!match) return true;\n return typeof match === \"function\" ? match(url, request) : match.test(url.href);\n}\n\n/**\n * Install the background-sync queue: on a failed mutating request, the request\n * is serialized to IndexedDB and a sync is registered; the original fetch still\n * rejects (so your app can show an offline state), and the request is replayed\n * later when the network returns.\n */\nexport function installBackgroundSync(options: InstallBackgroundSyncOptions = {}): void {\n const sw = getSwScope();\n const {\n match,\n queueName = \"tempest-bg-sync\",\n maxRetentionMinutes = 1440,\n periodicSyncTag = `${options.queueName ?? \"tempest-bg-sync\"}-periodic`,\n } = options;\n const maxRetentionMs = maxRetentionMinutes * 60 * 1000;\n\n sw.addEventListener(\"fetch\", (event) => {\n const request = event.request;\n if (request.method === \"GET\" || request.method === \"HEAD\") return;\n\n const url = new URL(request.url);\n if (!matches(match, url, request)) return;\n\n event.respondWith(\n fetch(request.clone()).catch(async (error) => {\n const entry = await serializeRequest(request, Date.now());\n await enqueue(queueName, entry);\n try {\n await sw.registration.sync?.register(queueName);\n } catch {\n // Background Sync API unavailable — opportunistic replay covers it.\n }\n throw error;\n }),\n );\n });\n\n sw.addEventListener(\"sync\", (event) => {\n if (event.tag !== queueName) return;\n event.waitUntil(replayQueue(queueName, maxRetentionMs, Date.now()));\n });\n\n sw.addEventListener(\"periodicsync\", (event) => {\n if (event.tag !== periodicSyncTag) return;\n event.waitUntil(replayQueue(queueName, maxRetentionMs, Date.now()).catch(() => undefined));\n });\n\n // Fallback for browsers without the Background Sync API: whenever a GET\n // succeeds (a sign we're online), drain the queue opportunistically.\n sw.addEventListener(\"fetch\", (event) => {\n if (sw.registration.sync) return; // native sync will handle it\n if (event.request.method !== \"GET\") return;\n event.waitUntil(replayQueue(queueName, maxRetentionMs, Date.now()).catch(() => undefined));\n });\n}\n"],"names":["getSwScope","STORE","openQueueDb","name","resolve","reject","request","txDone","tx","enqueue","entry","db","readAll","all","req","remove","id","serializeRequest","timestamp","buffer","deserializeRequest","replayQueue","maxRetentionMs","now","entries","pending","response","matches","match","url","installBackgroundSync","options","sw","queueName","maxRetentionMinutes","periodicSyncTag","event","error"],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ function m() {
2
+ return globalThis;
3
+ }
4
+ const c = "requests";
5
+ function l(e) {
6
+ return new Promise((t, r) => {
7
+ const n = indexedDB.open(e, 1);
8
+ n.onupgradeneeded = () => {
9
+ n.result.createObjectStore(c, { keyPath: "id", autoIncrement: !0 });
10
+ }, n.onsuccess = () => t(n.result), n.onerror = () => r(n.error);
11
+ });
12
+ }
13
+ function w(e) {
14
+ return new Promise((t, r) => {
15
+ e.oncomplete = () => t(), e.onerror = () => r(e.error), e.onabort = () => r(e.error);
16
+ });
17
+ }
18
+ async function g(e, t) {
19
+ const r = await l(e), n = r.transaction(c, "readwrite");
20
+ n.objectStore(c).add(t), await w(n), r.close();
21
+ }
22
+ async function p(e) {
23
+ const t = await l(e), r = t.transaction(c, "readonly"), n = await new Promise((a, s) => {
24
+ const o = r.objectStore(c).getAll();
25
+ o.onsuccess = () => a(o.result), o.onerror = () => s(o.error);
26
+ });
27
+ return t.close(), n;
28
+ }
29
+ async function f(e, t) {
30
+ const r = await l(e), n = r.transaction(c, "readwrite");
31
+ n.objectStore(c).delete(t), await w(n), r.close();
32
+ }
33
+ async function q(e, t) {
34
+ const r = await e.clone().arrayBuffer();
35
+ return {
36
+ url: e.url,
37
+ method: e.method,
38
+ headers: [...e.headers.entries()],
39
+ body: r.byteLength > 0 ? r : null,
40
+ timestamp: t
41
+ };
42
+ }
43
+ function E(e) {
44
+ return new Request(e.url, {
45
+ method: e.method,
46
+ headers: e.headers,
47
+ body: e.body ?? void 0
48
+ });
49
+ }
50
+ async function d(e, t, r) {
51
+ const n = await p(e);
52
+ let a = 0;
53
+ for (const s of n)
54
+ if (s.id !== void 0) {
55
+ if (r - s.timestamp > t) {
56
+ await f(e, s.id);
57
+ continue;
58
+ }
59
+ try {
60
+ const o = await fetch(E(s));
61
+ o.ok || o.status >= 400 && o.status < 500 ? await f(e, s.id) : a += 1;
62
+ } catch {
63
+ a += 1;
64
+ }
65
+ }
66
+ if (a > 0) throw new Error(`background-sync: ${a} request(s) still pending`);
67
+ }
68
+ function S(e, t, r) {
69
+ return e ? typeof e == "function" ? e(t, r) : e.test(t.href) : !0;
70
+ }
71
+ function D(e = {}) {
72
+ const t = m(), {
73
+ match: r,
74
+ queueName: n = "tempest-bg-sync",
75
+ maxRetentionMinutes: a = 1440,
76
+ periodicSyncTag: s = `${e.queueName ?? "tempest-bg-sync"}-periodic`
77
+ } = e, o = a * 60 * 1e3;
78
+ t.addEventListener("fetch", (i) => {
79
+ const u = i.request;
80
+ if (u.method === "GET" || u.method === "HEAD") return;
81
+ const h = new URL(u.url);
82
+ S(r, h, u) && i.respondWith(
83
+ fetch(u.clone()).catch(async (y) => {
84
+ const b = await q(u, Date.now());
85
+ await g(n, b);
86
+ try {
87
+ await t.registration.sync?.register(n);
88
+ } catch {
89
+ }
90
+ throw y;
91
+ })
92
+ );
93
+ }), t.addEventListener("sync", (i) => {
94
+ i.tag === n && i.waitUntil(d(n, o, Date.now()));
95
+ }), t.addEventListener("periodicsync", (i) => {
96
+ i.tag === s && i.waitUntil(d(n, o, Date.now()).catch(() => {
97
+ }));
98
+ }), t.addEventListener("fetch", (i) => {
99
+ t.registration.sync || i.request.method === "GET" && i.waitUntil(d(n, o, Date.now()).catch(() => {
100
+ }));
101
+ });
102
+ }
103
+ export {
104
+ D as installBackgroundSync
105
+ };
106
+ //# sourceMappingURL=background-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"background-sync.js","sources":["../../src/sw/background-sync.ts"],"sourcesContent":["/**\n * Background-sync helper: queue failed mutating requests (POST/PUT/PATCH/DELETE)\n * while offline and replay them when connectivity returns. A dependency-free\n * take on Workbox's `BackgroundSyncPlugin`, backed by a tiny IndexedDB queue.\n *\n * Import inside your `sw.ts`. Uses the Background Sync API (`registration.sync`)\n * when available, and also replays opportunistically on the next request as a\n * fallback for browsers without it (e.g. Safari).\n *\n * @example\n * import { installBackgroundSync } from \"tempest-react-sdk/sw\";\n *\n * installBackgroundSync({ match: (url) => url.pathname.startsWith(\"/api/\") });\n */\n\ninterface SyncEventLike {\n tag: string;\n waitUntil(promise: Promise<unknown>): void;\n}\n\ninterface BgFetchEventLike {\n request: Request;\n respondWith(response: Response | Promise<Response>): void;\n waitUntil(promise: Promise<unknown>): void;\n}\n\ninterface PeriodicSyncEventLike {\n tag: string;\n waitUntil(promise: Promise<unknown>): void;\n}\n\ninterface BgSwGlobal {\n registration: { sync?: { register(tag: string): Promise<void> } };\n addEventListener(type: \"sync\", listener: (event: SyncEventLike) => void): void;\n addEventListener(type: \"fetch\", listener: (event: BgFetchEventLike) => void): void;\n addEventListener(type: \"periodicsync\", listener: (event: PeriodicSyncEventLike) => void): void;\n}\n\nfunction getSwScope(): BgSwGlobal {\n return globalThis as unknown as BgSwGlobal;\n}\n\n/** A serialized request stored in the queue. */\ninterface QueuedRequest {\n id?: number;\n url: string;\n method: string;\n headers: [string, string][];\n body: ArrayBuffer | null;\n timestamp: number;\n}\n\n/** Options for {@link installBackgroundSync}. */\nexport interface InstallBackgroundSyncOptions {\n /**\n * Which requests to queue on failure. A `RegExp` against the URL or a\n * predicate. Only non-`GET` requests are ever considered. Default: all\n * non-`GET` requests.\n */\n match?: RegExp | ((url: URL, request: Request) => boolean);\n /** IndexedDB database name, also used as the sync tag. Default `tempest-bg-sync`. */\n queueName?: string;\n /** Drop queued requests older than this (minutes) on replay. Default `1440` (24h). */\n maxRetentionMinutes?: number;\n /**\n * Also drain the queue on the `periodicsync` event carrying this tag,\n * complementing the one-off `sync` replay so long-pending mutations retry\n * even without a fresh navigation. Register the periodic sync from the main\n * thread with {@link registerPeriodicSync}. Default `${queueName}-periodic`.\n */\n periodicSyncTag?: string;\n}\n\nconst STORE = \"requests\";\n\nfunction openQueueDb(name: string): Promise<IDBDatabase> {\n return new Promise((resolve, reject) => {\n const request = indexedDB.open(name, 1);\n request.onupgradeneeded = () => {\n request.result.createObjectStore(STORE, { keyPath: \"id\", autoIncrement: true });\n };\n request.onsuccess = () => resolve(request.result);\n request.onerror = () => reject(request.error);\n });\n}\n\nfunction txDone(tx: IDBTransaction): Promise<void> {\n return new Promise((resolve, reject) => {\n tx.oncomplete = () => resolve();\n tx.onerror = () => reject(tx.error);\n tx.onabort = () => reject(tx.error);\n });\n}\n\nasync function enqueue(name: string, entry: QueuedRequest): Promise<void> {\n const db = await openQueueDb(name);\n const tx = db.transaction(STORE, \"readwrite\");\n tx.objectStore(STORE).add(entry);\n await txDone(tx);\n db.close();\n}\n\nasync function readAll(name: string): Promise<QueuedRequest[]> {\n const db = await openQueueDb(name);\n const tx = db.transaction(STORE, \"readonly\");\n const all = await new Promise<QueuedRequest[]>((resolve, reject) => {\n const req = tx.objectStore(STORE).getAll();\n req.onsuccess = () => resolve(req.result as QueuedRequest[]);\n req.onerror = () => reject(req.error);\n });\n db.close();\n return all;\n}\n\nasync function remove(name: string, id: number): Promise<void> {\n const db = await openQueueDb(name);\n const tx = db.transaction(STORE, \"readwrite\");\n tx.objectStore(STORE).delete(id);\n await txDone(tx);\n db.close();\n}\n\nasync function serializeRequest(request: Request, timestamp: number): Promise<QueuedRequest> {\n const buffer = await request.clone().arrayBuffer();\n return {\n url: request.url,\n method: request.method,\n headers: [...request.headers.entries()],\n body: buffer.byteLength > 0 ? buffer : null,\n timestamp,\n };\n}\n\nfunction deserializeRequest(entry: QueuedRequest): Request {\n return new Request(entry.url, {\n method: entry.method,\n headers: entry.headers,\n body: entry.body ?? undefined,\n });\n}\n\n/**\n * Replay every queued request once. Successful (or stale) entries are removed;\n * entries that fail again are kept for the next attempt. Throws if any entry\n * still fails, so a `sync` handler keeps the sync pending.\n */\nasync function replayQueue(name: string, maxRetentionMs: number, now: number): Promise<void> {\n const entries = await readAll(name);\n let pending = 0;\n\n for (const entry of entries) {\n if (entry.id === undefined) continue;\n if (now - entry.timestamp > maxRetentionMs) {\n await remove(name, entry.id);\n continue;\n }\n try {\n const response = await fetch(deserializeRequest(entry));\n if (response.ok || (response.status >= 400 && response.status < 500)) {\n // 2xx = done; 4xx = client error that won't fix itself → drop it.\n await remove(name, entry.id);\n } else {\n pending += 1;\n }\n } catch {\n pending += 1;\n }\n }\n\n if (pending > 0) throw new Error(`background-sync: ${pending} request(s) still pending`);\n}\n\nfunction matches(\n match: InstallBackgroundSyncOptions[\"match\"],\n url: URL,\n request: Request,\n): boolean {\n if (!match) return true;\n return typeof match === \"function\" ? match(url, request) : match.test(url.href);\n}\n\n/**\n * Install the background-sync queue: on a failed mutating request, the request\n * is serialized to IndexedDB and a sync is registered; the original fetch still\n * rejects (so your app can show an offline state), and the request is replayed\n * later when the network returns.\n */\nexport function installBackgroundSync(options: InstallBackgroundSyncOptions = {}): void {\n const sw = getSwScope();\n const {\n match,\n queueName = \"tempest-bg-sync\",\n maxRetentionMinutes = 1440,\n periodicSyncTag = `${options.queueName ?? \"tempest-bg-sync\"}-periodic`,\n } = options;\n const maxRetentionMs = maxRetentionMinutes * 60 * 1000;\n\n sw.addEventListener(\"fetch\", (event) => {\n const request = event.request;\n if (request.method === \"GET\" || request.method === \"HEAD\") return;\n\n const url = new URL(request.url);\n if (!matches(match, url, request)) return;\n\n event.respondWith(\n fetch(request.clone()).catch(async (error) => {\n const entry = await serializeRequest(request, Date.now());\n await enqueue(queueName, entry);\n try {\n await sw.registration.sync?.register(queueName);\n } catch {\n // Background Sync API unavailable — opportunistic replay covers it.\n }\n throw error;\n }),\n );\n });\n\n sw.addEventListener(\"sync\", (event) => {\n if (event.tag !== queueName) return;\n event.waitUntil(replayQueue(queueName, maxRetentionMs, Date.now()));\n });\n\n sw.addEventListener(\"periodicsync\", (event) => {\n if (event.tag !== periodicSyncTag) return;\n event.waitUntil(replayQueue(queueName, maxRetentionMs, Date.now()).catch(() => undefined));\n });\n\n // Fallback for browsers without the Background Sync API: whenever a GET\n // succeeds (a sign we're online), drain the queue opportunistically.\n sw.addEventListener(\"fetch\", (event) => {\n if (sw.registration.sync) return; // native sync will handle it\n if (event.request.method !== \"GET\") return;\n event.waitUntil(replayQueue(queueName, maxRetentionMs, Date.now()).catch(() => undefined));\n });\n}\n"],"names":["getSwScope","STORE","openQueueDb","name","resolve","reject","request","txDone","tx","enqueue","entry","db","readAll","all","req","remove","id","serializeRequest","timestamp","buffer","deserializeRequest","replayQueue","maxRetentionMs","now","entries","pending","response","matches","match","url","installBackgroundSync","options","sw","queueName","maxRetentionMinutes","periodicSyncTag","event","error"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function f(e,t){return e===void 0?!0:typeof e=="string"?t.startsWith(e):e instanceof RegExp?e.test(t):e(t)}function h(){return typeof caches<"u"}async function y(e){const t=e.headers.get("content-length");if(t){const n=Number(t);if(!Number.isNaN(n))return n}try{return(await e.clone().blob()).size}catch{return 0}}async function b(e={}){if(!h())return[];const{filter:t,measureBytes:n=!0}=e,s=(await caches.keys()).filter(c=>f(t,c)),r=[];for(const c of s){const o=await caches.open(c),i=await o.keys();let a=null;if(n){a=0;for(const l of i){const u=await o.match(l);u&&(a+=await y(u))}}r.push({name:c,entries:i.length,bytes:a})}return r}async function p(e){if(!h())return[];const t=(await caches.keys()).filter(s=>f(e,s)),n=[];for(const s of t)await caches.delete(s)&&n.push(s);return n}exports.clearCaches=p;exports.inspectCaches=b;
2
+ //# sourceMappingURL=cache-inspect.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-inspect.cjs","sources":["../../src/sw/cache-inspect.ts"],"sourcesContent":["/**\n * Main-thread helpers to inspect and clear the Cache Storage buckets a service\n * worker fills — for a \"X MB cacheado\" readout and a \"limpar cache\" action\n * (e.g. on logout). All guard `caches` so they no-op safely under SSR / older\n * browsers.\n */\n\n/** Per-cache usage summary returned by {@link inspectCaches}. */\nexport interface CacheReport {\n /** The Cache Storage bucket name. */\n name: string;\n /** Number of cached responses. */\n entries: number;\n /** Approximate total bytes, or `null` when byte measurement was skipped. */\n bytes: number | null;\n}\n\n/** A cache-name matcher: a prefix string, a `RegExp`, or a predicate. */\nexport type CacheFilter = string | RegExp | ((name: string) => boolean);\n\nfunction nameMatches(filter: CacheFilter | undefined, name: string): boolean {\n if (filter === undefined) return true;\n if (typeof filter === \"string\") return name.startsWith(filter);\n if (filter instanceof RegExp) return filter.test(name);\n return filter(name);\n}\n\nfunction cacheStorageAvailable(): boolean {\n return typeof caches !== \"undefined\";\n}\n\n/** Best-effort byte size of one cached response (Content-Length, else the blob). */\nasync function responseBytes(response: Response): Promise<number> {\n const header = response.headers.get(\"content-length\");\n if (header) {\n const parsed = Number(header);\n if (!Number.isNaN(parsed)) return parsed;\n }\n try {\n const blob = await response.clone().blob();\n return blob.size;\n } catch {\n return 0;\n }\n}\n\n/**\n * Report entry counts (and optionally byte sizes) for the Cache Storage\n * buckets whose name passes `filter`.\n *\n * @param options - `filter` narrows which caches to include; `measureBytes`\n * (default `true`) reads each response to sum sizes — set `false` for a fast,\n * count-only report.\n * @returns One {@link CacheReport} per matching cache. Empty when unsupported.\n *\n * @example\n * const reports = await inspectCaches({ filter: \"tempest-\" });\n * const totalMb = reports.reduce((n, r) => n + (r.bytes ?? 0), 0) / 1e6;\n */\nexport async function inspectCaches(\n options: { filter?: CacheFilter; measureBytes?: boolean } = {},\n): Promise<CacheReport[]> {\n if (!cacheStorageAvailable()) return [];\n const { filter, measureBytes = true } = options;\n\n const names = (await caches.keys()).filter((name) => nameMatches(filter, name));\n const reports: CacheReport[] = [];\n for (const name of names) {\n const cache = await caches.open(name);\n const requests = await cache.keys();\n let bytes: number | null = null;\n if (measureBytes) {\n bytes = 0;\n for (const request of requests) {\n const response = await cache.match(request);\n if (response) bytes += await responseBytes(response);\n }\n }\n reports.push({ name, entries: requests.length, bytes });\n }\n return reports;\n}\n\n/**\n * Delete Cache Storage buckets whose name passes `filter` (all of them when no\n * filter is given).\n *\n * @param filter - Which caches to delete.\n * @returns The names of the caches that were deleted.\n *\n * @example\n * await clearCaches(\"tempest-\"); // drop every SDK-managed cache on logout\n */\nexport async function clearCaches(filter?: CacheFilter): Promise<string[]> {\n if (!cacheStorageAvailable()) return [];\n const names = (await caches.keys()).filter((name) => nameMatches(filter, name));\n const deleted: string[] = [];\n for (const name of names) {\n if (await caches.delete(name)) deleted.push(name);\n }\n return deleted;\n}\n"],"names":["nameMatches","filter","name","cacheStorageAvailable","responseBytes","response","header","parsed","inspectCaches","options","measureBytes","names","reports","cache","requests","bytes","request","clearCaches","deleted"],"mappings":"gFAoBA,SAASA,EAAYC,EAAiCC,EAAuB,CACzE,OAAID,IAAW,OAAkB,GAC7B,OAAOA,GAAW,SAAiBC,EAAK,WAAWD,CAAM,EACzDA,aAAkB,OAAeA,EAAO,KAAKC,CAAI,EAC9CD,EAAOC,CAAI,CACtB,CAEA,SAASC,GAAiC,CACtC,OAAO,OAAO,OAAW,GAC7B,CAGA,eAAeC,EAAcC,EAAqC,CAC9D,MAAMC,EAASD,EAAS,QAAQ,IAAI,gBAAgB,EACpD,GAAIC,EAAQ,CACR,MAAMC,EAAS,OAAOD,CAAM,EAC5B,GAAI,CAAC,OAAO,MAAMC,CAAM,EAAG,OAAOA,CACtC,CACA,GAAI,CAEA,OADa,MAAMF,EAAS,MAAA,EAAQ,KAAA,GACxB,IAChB,MAAQ,CACJ,MAAO,EACX,CACJ,CAeA,eAAsBG,EAClBC,EAA4D,GACtC,CACtB,GAAI,CAACN,EAAA,EAAyB,MAAO,CAAA,EACrC,KAAM,CAAE,OAAAF,EAAQ,aAAAS,EAAe,EAAA,EAASD,EAElCE,GAAS,MAAM,OAAO,KAAA,GAAQ,OAAQT,GAASF,EAAYC,EAAQC,CAAI,CAAC,EACxEU,EAAyB,CAAA,EAC/B,UAAWV,KAAQS,EAAO,CACtB,MAAME,EAAQ,MAAM,OAAO,KAAKX,CAAI,EAC9BY,EAAW,MAAMD,EAAM,KAAA,EAC7B,IAAIE,EAAuB,KAC3B,GAAIL,EAAc,CACdK,EAAQ,EACR,UAAWC,KAAWF,EAAU,CAC5B,MAAMT,EAAW,MAAMQ,EAAM,MAAMG,CAAO,EACtCX,IAAUU,GAAS,MAAMX,EAAcC,CAAQ,EACvD,CACJ,CACAO,EAAQ,KAAK,CAAE,KAAAV,EAAM,QAASY,EAAS,OAAQ,MAAAC,EAAO,CAC1D,CACA,OAAOH,CACX,CAYA,eAAsBK,EAAYhB,EAAyC,CACvE,GAAI,CAACE,EAAA,EAAyB,MAAO,CAAA,EACrC,MAAMQ,GAAS,MAAM,OAAO,KAAA,GAAQ,OAAQT,GAASF,EAAYC,EAAQC,CAAI,CAAC,EACxEgB,EAAoB,CAAA,EAC1B,UAAWhB,KAAQS,EACX,MAAM,OAAO,OAAOT,CAAI,GAAGgB,EAAQ,KAAKhB,CAAI,EAEpD,OAAOgB,CACX"}
@@ -0,0 +1,47 @@
1
+ function f(e, t) {
2
+ return e === void 0 ? !0 : typeof e == "string" ? t.startsWith(e) : e instanceof RegExp ? e.test(t) : e(t);
3
+ }
4
+ function h() {
5
+ return typeof caches < "u";
6
+ }
7
+ async function y(e) {
8
+ const t = e.headers.get("content-length");
9
+ if (t) {
10
+ const n = Number(t);
11
+ if (!Number.isNaN(n)) return n;
12
+ }
13
+ try {
14
+ return (await e.clone().blob()).size;
15
+ } catch {
16
+ return 0;
17
+ }
18
+ }
19
+ async function p(e = {}) {
20
+ if (!h()) return [];
21
+ const { filter: t, measureBytes: n = !0 } = e, s = (await caches.keys()).filter((c) => f(t, c)), r = [];
22
+ for (const c of s) {
23
+ const o = await caches.open(c), i = await o.keys();
24
+ let a = null;
25
+ if (n) {
26
+ a = 0;
27
+ for (const l of i) {
28
+ const u = await o.match(l);
29
+ u && (a += await y(u));
30
+ }
31
+ }
32
+ r.push({ name: c, entries: i.length, bytes: a });
33
+ }
34
+ return r;
35
+ }
36
+ async function b(e) {
37
+ if (!h()) return [];
38
+ const t = (await caches.keys()).filter((s) => f(e, s)), n = [];
39
+ for (const s of t)
40
+ await caches.delete(s) && n.push(s);
41
+ return n;
42
+ }
43
+ export {
44
+ b as clearCaches,
45
+ p as inspectCaches
46
+ };
47
+ //# sourceMappingURL=cache-inspect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-inspect.js","sources":["../../src/sw/cache-inspect.ts"],"sourcesContent":["/**\n * Main-thread helpers to inspect and clear the Cache Storage buckets a service\n * worker fills — for a \"X MB cacheado\" readout and a \"limpar cache\" action\n * (e.g. on logout). All guard `caches` so they no-op safely under SSR / older\n * browsers.\n */\n\n/** Per-cache usage summary returned by {@link inspectCaches}. */\nexport interface CacheReport {\n /** The Cache Storage bucket name. */\n name: string;\n /** Number of cached responses. */\n entries: number;\n /** Approximate total bytes, or `null` when byte measurement was skipped. */\n bytes: number | null;\n}\n\n/** A cache-name matcher: a prefix string, a `RegExp`, or a predicate. */\nexport type CacheFilter = string | RegExp | ((name: string) => boolean);\n\nfunction nameMatches(filter: CacheFilter | undefined, name: string): boolean {\n if (filter === undefined) return true;\n if (typeof filter === \"string\") return name.startsWith(filter);\n if (filter instanceof RegExp) return filter.test(name);\n return filter(name);\n}\n\nfunction cacheStorageAvailable(): boolean {\n return typeof caches !== \"undefined\";\n}\n\n/** Best-effort byte size of one cached response (Content-Length, else the blob). */\nasync function responseBytes(response: Response): Promise<number> {\n const header = response.headers.get(\"content-length\");\n if (header) {\n const parsed = Number(header);\n if (!Number.isNaN(parsed)) return parsed;\n }\n try {\n const blob = await response.clone().blob();\n return blob.size;\n } catch {\n return 0;\n }\n}\n\n/**\n * Report entry counts (and optionally byte sizes) for the Cache Storage\n * buckets whose name passes `filter`.\n *\n * @param options - `filter` narrows which caches to include; `measureBytes`\n * (default `true`) reads each response to sum sizes — set `false` for a fast,\n * count-only report.\n * @returns One {@link CacheReport} per matching cache. Empty when unsupported.\n *\n * @example\n * const reports = await inspectCaches({ filter: \"tempest-\" });\n * const totalMb = reports.reduce((n, r) => n + (r.bytes ?? 0), 0) / 1e6;\n */\nexport async function inspectCaches(\n options: { filter?: CacheFilter; measureBytes?: boolean } = {},\n): Promise<CacheReport[]> {\n if (!cacheStorageAvailable()) return [];\n const { filter, measureBytes = true } = options;\n\n const names = (await caches.keys()).filter((name) => nameMatches(filter, name));\n const reports: CacheReport[] = [];\n for (const name of names) {\n const cache = await caches.open(name);\n const requests = await cache.keys();\n let bytes: number | null = null;\n if (measureBytes) {\n bytes = 0;\n for (const request of requests) {\n const response = await cache.match(request);\n if (response) bytes += await responseBytes(response);\n }\n }\n reports.push({ name, entries: requests.length, bytes });\n }\n return reports;\n}\n\n/**\n * Delete Cache Storage buckets whose name passes `filter` (all of them when no\n * filter is given).\n *\n * @param filter - Which caches to delete.\n * @returns The names of the caches that were deleted.\n *\n * @example\n * await clearCaches(\"tempest-\"); // drop every SDK-managed cache on logout\n */\nexport async function clearCaches(filter?: CacheFilter): Promise<string[]> {\n if (!cacheStorageAvailable()) return [];\n const names = (await caches.keys()).filter((name) => nameMatches(filter, name));\n const deleted: string[] = [];\n for (const name of names) {\n if (await caches.delete(name)) deleted.push(name);\n }\n return deleted;\n}\n"],"names":["nameMatches","filter","name","cacheStorageAvailable","responseBytes","response","header","parsed","inspectCaches","options","measureBytes","names","reports","cache","requests","bytes","request","clearCaches","deleted"],"mappings":"AAoBA,SAASA,EAAYC,GAAiCC,GAAuB;AACzE,SAAID,MAAW,SAAkB,KAC7B,OAAOA,KAAW,WAAiBC,EAAK,WAAWD,CAAM,IACzDA,aAAkB,SAAeA,EAAO,KAAKC,CAAI,IAC9CD,EAAOC,CAAI;AACtB;AAEA,SAASC,IAAiC;AACtC,SAAO,OAAO,SAAW;AAC7B;AAGA,eAAeC,EAAcC,GAAqC;AAC9D,QAAMC,IAASD,EAAS,QAAQ,IAAI,gBAAgB;AACpD,MAAIC,GAAQ;AACR,UAAMC,IAAS,OAAOD,CAAM;AAC5B,QAAI,CAAC,OAAO,MAAMC,CAAM,EAAG,QAAOA;AAAA,EACtC;AACA,MAAI;AAEA,YADa,MAAMF,EAAS,MAAA,EAAQ,KAAA,GACxB;AAAA,EAChB,QAAQ;AACJ,WAAO;AAAA,EACX;AACJ;AAeA,eAAsBG,EAClBC,IAA4D,IACtC;AACtB,MAAI,CAACN,EAAA,EAAyB,QAAO,CAAA;AACrC,QAAM,EAAE,QAAAF,GAAQ,cAAAS,IAAe,GAAA,IAASD,GAElCE,KAAS,MAAM,OAAO,KAAA,GAAQ,OAAO,CAACT,MAASF,EAAYC,GAAQC,CAAI,CAAC,GACxEU,IAAyB,CAAA;AAC/B,aAAWV,KAAQS,GAAO;AACtB,UAAME,IAAQ,MAAM,OAAO,KAAKX,CAAI,GAC9BY,IAAW,MAAMD,EAAM,KAAA;AAC7B,QAAIE,IAAuB;AAC3B,QAAIL,GAAc;AACd,MAAAK,IAAQ;AACR,iBAAWC,KAAWF,GAAU;AAC5B,cAAMT,IAAW,MAAMQ,EAAM,MAAMG,CAAO;AAC1C,QAAIX,MAAUU,KAAS,MAAMX,EAAcC,CAAQ;AAAA,MACvD;AAAA,IACJ;AACA,IAAAO,EAAQ,KAAK,EAAE,MAAAV,GAAM,SAASY,EAAS,QAAQ,OAAAC,GAAO;AAAA,EAC1D;AACA,SAAOH;AACX;AAYA,eAAsBK,EAAYhB,GAAyC;AACvE,MAAI,CAACE,EAAA,EAAyB,QAAO,CAAA;AACrC,QAAMQ,KAAS,MAAM,OAAO,KAAA,GAAQ,OAAO,CAACT,MAASF,EAAYC,GAAQC,CAAI,CAAC,GACxEgB,IAAoB,CAAA;AAC1B,aAAWhB,KAAQS;AACf,IAAI,MAAM,OAAO,OAAOT,CAAI,KAAGgB,EAAQ,KAAKhB,CAAI;AAEpD,SAAOgB;AACX;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function p(){return globalThis}let w="";const m=new Set;function y(a,e){if(!e)return!1;const c=a.headers.get("date");return c?(Date.now()-new Date(c).getTime())/1e3>e:!1}async function d(a,e){if(!e)return;const c=await caches.open(a),t=await c.keys();if(!(t.length<=e))for(const s of t.slice(0,t.length-e))await c.delete(s)}async function k(a,e){const c=await caches.open(e.cacheName),t=await c.match(a);if(t&&!y(t,e.maxAgeSeconds))return t;const s=await fetch(a);return s.ok&&(await c.put(a,s.clone()),await d(e.cacheName,e.maxEntries)),s}async function b(a,e){const c=await caches.open(e.cacheName),t=(async()=>{const n=await fetch(a);return n.ok&&(await c.put(a,n.clone()),await d(e.cacheName,e.maxEntries)),n})(),s=(e.networkTimeoutSeconds??0)*1e3;try{if(s>0){const n=new Promise((i,h)=>setTimeout(()=>h(new Error("network-timeout")),s));return await Promise.race([t,n])}return await t}catch{const n=await c.match(a);if(n)return n;throw new Error("network-first: no network and no cache")}}async function v(a,e){const c=await caches.open(e.cacheName),t=await c.match(a),s=fetch(a).then(async i=>(i.ok&&(await c.put(a,i.clone()),await d(e.cacheName,e.maxEntries)),i)).catch(()=>{});if(t&&!y(t,e.maxAgeSeconds))return t;const n=await s;if(n)return n;if(t)return t;throw new Error("stale-while-revalidate: no network and no cache")}function g(a,e){switch(e.strategy){case"cache-first":return k(a,e);case"network-first":return b(a,e);case"stale-while-revalidate":return v(a,e)}}function N(a,e,c){return typeof a.match=="function"?a.match(e,c):a.match.test(e.href)}async function R(a,e){const c=a.headers.get("range");if(!c)return e;const t=/^bytes=(\d*)-(\d*)$/.exec(c.trim());if(!t||t[1]===""&&t[2]==="")return new Response(null,{status:416,statusText:"Range Not Satisfiable"});const s=await e.clone().arrayBuffer(),n=s.byteLength;let i,h;if(t[1]===""){const o=Number(t[2]);i=Math.max(0,n-o),h=n-1}else i=Number(t[1]),h=t[2]===""?n-1:Math.min(Number(t[2]),n-1);if(i>h||i>=n)return new Response(null,{status:416,statusText:"Range Not Satisfiable",headers:{"Content-Range":`bytes */${n}`}});const l=s.slice(i,h+1),r=new Headers(e.headers);return r.set("Content-Range",`bytes ${i}-${h}/${n}`),r.set("Content-Length",String(l.byteLength)),r.set("Accept-Ranges","bytes"),new Response(l,{status:206,statusText:"Partial Content",headers:r})}function P(a){p().addEventListener("fetch",c=>{const t=c.request;if(t.method!=="GET")return;const s=new URL(t.url),n=a.find(i=>N(i,s,t));if(n){if(n.rangeRequests&&t.headers.has("range")){const i=new Request(t.url,{headers:E(t.headers),credentials:t.credentials,mode:t.mode==="navigate"?"same-origin":t.mode});c.respondWith(g(i,n).then(h=>R(t,h)));return}c.respondWith(g(t,n))}})}function E(a){const e=new Headers(a);return e.delete("range"),e}function x(a={}){const e=p(),{manifestUrl:c="/precache-manifest.json",cacheName:t="tempest-precache",navigateFallback:s="/index.html",navigateFallbackDenylist:n=[],skipWaiting:i=!0,navigationPreload:h=!0}=a;e.addEventListener("install",l=>{l.waitUntil((async()=>{const o=await(await fetch(c,{cache:"no-cache"})).json();w=`${t}-${o.version}`,await(await caches.open(w)).addAll(o.urls);for(const u of o.urls)m.add(new URL(u,e.location.origin).pathname);i&&await e.skipWaiting()})())}),e.addEventListener("activate",l=>{l.waitUntil((async()=>{const r=await caches.keys();await Promise.all(r.filter(o=>o.startsWith(`${t}-`)&&o!==w).map(o=>caches.delete(o))),h&&e.registration?.navigationPreload&&await e.registration.navigationPreload.enable(),await e.clients.claim()})())}),e.addEventListener("fetch",l=>{const r=l.request;if(r.method!=="GET")return;const o=new URL(r.url);if(o.origin===e.location.origin){if(r.mode==="navigate"){if(n.some(f=>f.test(o.pathname)))return;l.respondWith((async()=>{try{const f=await l.preloadResponse;return f||await fetch(r)}catch{const u=await(await caches.open(w)).match(s);if(u)return u;throw new Error("offline and no cached app shell")}})());return}m.has(o.pathname)&&l.respondWith((async()=>await(await caches.open(w)).match(r)??fetch(r))())}})}exports.createPartialResponse=R;exports.installPrecache=x;exports.installRuntimeCache=P;
2
+ //# sourceMappingURL=cache.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.cjs","sources":["../../src/sw/cache.ts"],"sourcesContent":["/**\n * Service-worker caching helpers — a small, dependency-free subset of what\n * Workbox provides: precaching of the build's app shell (so the app launches\n * offline) plus runtime caching strategies for fonts, APIs and images.\n *\n * Import these inside your own `sw.ts`. They run in the service-worker global\n * scope, not the main thread. Pair `installPrecache` with the\n * `tempestPwaManifest()` Vite plugin (from `tempest-react-sdk/vite`), which\n * emits the `precache-manifest.json` this reads at install time.\n *\n * @example\n * /// <reference lib=\"webworker\" />\n * import { installRuntimeCache, installPrecache } from \"tempest-react-sdk/sw\";\n *\n * // Register specific routes FIRST so they win over the precache catch-all.\n * installRuntimeCache([\n * { match: /\\/api\\//, strategy: \"network-first\", cacheName: \"api\", maxAgeSeconds: 300 },\n * ]);\n * installPrecache();\n */\n\n/** Minimal shape of the events we touch, to avoid pulling in `lib.webworker`. */\ninterface ExtendableEventLike {\n waitUntil(promise: Promise<unknown>): void;\n}\n\ninterface FetchEventLike extends ExtendableEventLike {\n request: Request;\n respondWith(response: Response | Promise<Response>): void;\n /** Resolves to the navigation-preload response when it is enabled, else `undefined`. */\n preloadResponse?: Promise<Response | undefined>;\n}\n\n/** Minimal shape of `registration.navigationPreload` (Navigation Preload API). */\ninterface NavigationPreloadManagerLike {\n enable(): Promise<void>;\n disable(): Promise<void>;\n}\n\ninterface CacheSwGlobal {\n addEventListener(type: \"install\", listener: (event: ExtendableEventLike) => void): void;\n addEventListener(type: \"activate\", listener: (event: ExtendableEventLike) => void): void;\n addEventListener(type: \"fetch\", listener: (event: FetchEventLike) => void): void;\n clients: { claim(): Promise<void> };\n skipWaiting(): Promise<void>;\n location: { origin: string };\n registration?: { navigationPreload?: NavigationPreloadManagerLike };\n}\n\nfunction getSwScope(): CacheSwGlobal {\n return globalThis as unknown as CacheSwGlobal;\n}\n\n/** Caching strategy for a runtime route. Mirrors the common Workbox trio. */\nexport type RuntimeStrategy = \"cache-first\" | \"network-first\" | \"stale-while-revalidate\";\n\n/** A single runtime-caching rule, matched against each `GET` request. */\nexport interface RuntimeRoute {\n /** A `RegExp` tested against the full URL, or a predicate over the parsed URL. */\n match: RegExp | ((url: URL, request: Request) => boolean);\n /** How to resolve a match. */\n strategy: RuntimeStrategy;\n /** Cache bucket name for this route. */\n cacheName: string;\n /** Trim the cache to at most this many entries (FIFO) after each write. */\n maxEntries?: number;\n /** Treat a cached response older than this (seconds) as a miss. */\n maxAgeSeconds?: number;\n /** For `network-first`: fall back to cache after this timeout (seconds). */\n networkTimeoutSeconds?: number;\n /**\n * Serve HTTP `Range` requests (206 Partial Content) by slicing the cached\n * full response. Enable for audio/video so seeking works offline. The full\n * resource is cached once (the `Range` header is stripped before caching).\n */\n rangeRequests?: boolean;\n}\n\n/** Options for {@link installPrecache}. */\nexport interface InstallPrecacheOptions {\n /** URL of the manifest emitted by `tempestPwaManifest()`. Default `/precache-manifest.json`. */\n manifestUrl?: string;\n /** Cache name prefix; the manifest `version` is appended. Default `tempest-precache`. */\n cacheName?: string;\n /** App-shell document served for navigation requests offline. Default `/index.html`. */\n navigateFallback?: string;\n /** Navigation paths that should NOT use the fallback (e.g. `[/^\\/api\\//]`). */\n navigateFallbackDenylist?: RegExp[];\n /** Activate the new worker immediately after precaching. Default `true`. */\n skipWaiting?: boolean;\n /**\n * Enable the Navigation Preload API on `activate`, so the browser fetches\n * the navigation request in parallel with the worker boot and the handler\n * serves `event.preloadResponse` — cutting first-navigation latency after\n * the worker starts. Silently ignored where unsupported. Default `true`.\n */\n navigationPreload?: boolean;\n}\n\ninterface PrecacheManifest {\n version: string;\n urls: string[];\n}\n\nlet precacheName = \"\";\nconst precachedPaths = new Set<string>();\n\n/** Whether a cached response has aged past `maxAgeSeconds` (best-effort, via `Date`). */\nfunction isExpired(response: Response, maxAgeSeconds?: number): boolean {\n if (!maxAgeSeconds) return false;\n const dateHeader = response.headers.get(\"date\");\n if (!dateHeader) return false;\n const age = (Date.now() - new Date(dateHeader).getTime()) / 1000;\n return age > maxAgeSeconds;\n}\n\n/** Drop oldest entries until the cache holds at most `maxEntries`. */\nasync function trimCache(cacheName: string, maxEntries?: number): Promise<void> {\n if (!maxEntries) return;\n const cache = await caches.open(cacheName);\n const keys = await cache.keys();\n if (keys.length <= maxEntries) return;\n for (const key of keys.slice(0, keys.length - maxEntries)) {\n await cache.delete(key);\n }\n}\n\nasync function cacheFirst(request: Request, route: RuntimeRoute): Promise<Response> {\n const cache = await caches.open(route.cacheName);\n const cached = await cache.match(request);\n if (cached && !isExpired(cached, route.maxAgeSeconds)) return cached;\n\n const response = await fetch(request);\n if (response.ok) {\n await cache.put(request, response.clone());\n await trimCache(route.cacheName, route.maxEntries);\n }\n return response;\n}\n\nasync function networkFirst(request: Request, route: RuntimeRoute): Promise<Response> {\n const cache = await caches.open(route.cacheName);\n\n const network = (async (): Promise<Response> => {\n const response = await fetch(request);\n if (response.ok) {\n await cache.put(request, response.clone());\n await trimCache(route.cacheName, route.maxEntries);\n }\n return response;\n })();\n\n const timeoutMs = (route.networkTimeoutSeconds ?? 0) * 1000;\n try {\n if (timeoutMs > 0) {\n const timeout = new Promise<never>((_, reject) =>\n setTimeout(() => reject(new Error(\"network-timeout\")), timeoutMs),\n );\n return await Promise.race([network, timeout]);\n }\n return await network;\n } catch {\n const cached = await cache.match(request);\n if (cached) return cached;\n throw new Error(\"network-first: no network and no cache\");\n }\n}\n\nasync function staleWhileRevalidate(request: Request, route: RuntimeRoute): Promise<Response> {\n const cache = await caches.open(route.cacheName);\n const cached = await cache.match(request);\n\n const network = fetch(request)\n .then(async (response) => {\n if (response.ok) {\n await cache.put(request, response.clone());\n await trimCache(route.cacheName, route.maxEntries);\n }\n return response;\n })\n .catch(() => undefined);\n\n if (cached && !isExpired(cached, route.maxAgeSeconds)) return cached;\n const response = await network;\n if (response) return response;\n if (cached) return cached;\n throw new Error(\"stale-while-revalidate: no network and no cache\");\n}\n\nfunction runRoute(request: Request, route: RuntimeRoute): Promise<Response> {\n switch (route.strategy) {\n case \"cache-first\":\n return cacheFirst(request, route);\n case \"network-first\":\n return networkFirst(request, route);\n case \"stale-while-revalidate\":\n return staleWhileRevalidate(request, route);\n }\n}\n\nfunction routeMatches(route: RuntimeRoute, url: URL, request: Request): boolean {\n return typeof route.match === \"function\"\n ? route.match(url, request)\n : route.match.test(url.href);\n}\n\n/**\n * Build a `206 Partial Content` response from a full one for an HTTP `Range`\n * request. Supports `bytes=start-end`, open-ended `bytes=start-` and suffix\n * `bytes=-suffixLength`. Returns the original response when there is no usable\n * `Range` header, or a `416` when the range is unsatisfiable.\n *\n * @param request The incoming request (its `Range` header drives the slice).\n * @param response The full (200) response to slice.\n */\nexport async function createPartialResponse(\n request: Request,\n response: Response,\n): Promise<Response> {\n const rangeHeader = request.headers.get(\"range\");\n if (!rangeHeader) return response;\n\n const match = /^bytes=(\\d*)-(\\d*)$/.exec(rangeHeader.trim());\n if (!match || (match[1] === \"\" && match[2] === \"\")) {\n return new Response(null, { status: 416, statusText: \"Range Not Satisfiable\" });\n }\n\n const buffer = await response.clone().arrayBuffer();\n const total = buffer.byteLength;\n\n let start: number;\n let end: number;\n if (match[1] === \"\") {\n // Suffix range: last N bytes.\n const suffix = Number(match[2]);\n start = Math.max(0, total - suffix);\n end = total - 1;\n } else {\n start = Number(match[1]);\n end = match[2] === \"\" ? total - 1 : Math.min(Number(match[2]), total - 1);\n }\n\n if (start > end || start >= total) {\n return new Response(null, {\n status: 416,\n statusText: \"Range Not Satisfiable\",\n headers: { \"Content-Range\": `bytes */${total}` },\n });\n }\n\n const slice = buffer.slice(start, end + 1);\n const headers = new Headers(response.headers);\n headers.set(\"Content-Range\", `bytes ${start}-${end}/${total}`);\n headers.set(\"Content-Length\", String(slice.byteLength));\n headers.set(\"Accept-Ranges\", \"bytes\");\n\n return new Response(slice, {\n status: 206,\n statusText: \"Partial Content\",\n headers,\n });\n}\n\n/**\n * Install a `fetch` handler that resolves matching `GET` requests with the\n * given runtime strategies. Non-matching requests are left untouched (no\n * `respondWith`), so a later {@link installPrecache} can handle them.\n *\n * Register this BEFORE `installPrecache` so specific routes win over the\n * precache catch-all.\n *\n * @param routes Ordered rules; the first whose `match` passes handles the request.\n */\nexport function installRuntimeCache(routes: RuntimeRoute[]): void {\n const sw = getSwScope();\n sw.addEventListener(\"fetch\", (event) => {\n const request = event.request;\n if (request.method !== \"GET\") return;\n\n const url = new URL(request.url);\n const route = routes.find((candidate) => routeMatches(candidate, url, request));\n if (!route) return;\n\n if (route.rangeRequests && request.headers.has(\"range\")) {\n // Cache/serve the FULL resource once (no Range), then slice it.\n const full = new Request(request.url, {\n headers: stripRange(request.headers),\n credentials: request.credentials,\n mode: request.mode === \"navigate\" ? \"same-origin\" : request.mode,\n });\n event.respondWith(\n runRoute(full, route).then((response) => createPartialResponse(request, response)),\n );\n return;\n }\n\n event.respondWith(runRoute(request, route));\n });\n}\n\n/** Copy headers without the `Range` header (so the cached entry is the full file). */\nfunction stripRange(headers: Headers): Headers {\n const out = new Headers(headers);\n out.delete(\"range\");\n return out;\n}\n\n/**\n * Precache the app shell at `install` and serve it offline:\n * - reads `precache-manifest.json` (emitted by `tempestPwaManifest()`),\n * - caches every listed URL under a versioned cache,\n * - on `activate`, deletes stale precache versions and claims open clients,\n * - on `fetch`, serves precached assets cache-first and falls back to the\n * `navigateFallback` document for offline navigations (SPA routing).\n *\n * Same-origin only. Register this LAST, after any {@link installRuntimeCache}.\n */\nexport function installPrecache(options: InstallPrecacheOptions = {}): void {\n const sw = getSwScope();\n const {\n manifestUrl = \"/precache-manifest.json\",\n cacheName = \"tempest-precache\",\n navigateFallback = \"/index.html\",\n navigateFallbackDenylist = [],\n skipWaiting = true,\n navigationPreload = true,\n } = options;\n\n sw.addEventListener(\"install\", (event) => {\n event.waitUntil(\n (async () => {\n const response = await fetch(manifestUrl, { cache: \"no-cache\" });\n const manifest = (await response.json()) as PrecacheManifest;\n precacheName = `${cacheName}-${manifest.version}`;\n\n const cache = await caches.open(precacheName);\n await cache.addAll(manifest.urls);\n for (const url of manifest.urls) {\n precachedPaths.add(new URL(url, sw.location.origin).pathname);\n }\n if (skipWaiting) await sw.skipWaiting();\n })(),\n );\n });\n\n sw.addEventListener(\"activate\", (event) => {\n event.waitUntil(\n (async () => {\n const keys = await caches.keys();\n await Promise.all(\n keys\n .filter((key) => key.startsWith(`${cacheName}-`) && key !== precacheName)\n .map((key) => caches.delete(key)),\n );\n if (navigationPreload && sw.registration?.navigationPreload) {\n await sw.registration.navigationPreload.enable();\n }\n await sw.clients.claim();\n })(),\n );\n });\n\n sw.addEventListener(\"fetch\", (event) => {\n const request = event.request;\n if (request.method !== \"GET\") return;\n\n const url = new URL(request.url);\n if (url.origin !== sw.location.origin) return;\n\n // SPA navigations: serve the cached app shell when offline.\n if (request.mode === \"navigate\") {\n if (navigateFallbackDenylist.some((re) => re.test(url.pathname))) return;\n event.respondWith(\n (async () => {\n try {\n const preloaded = await event.preloadResponse;\n if (preloaded) return preloaded;\n return await fetch(request);\n } catch {\n const cache = await caches.open(precacheName);\n const shell = await cache.match(navigateFallback);\n if (shell) return shell;\n throw new Error(\"offline and no cached app shell\");\n }\n })(),\n );\n return;\n }\n\n // Precached static assets: cache-first.\n if (precachedPaths.has(url.pathname)) {\n event.respondWith(\n (async () => {\n const cache = await caches.open(precacheName);\n const cached = await cache.match(request);\n return cached ?? fetch(request);\n })(),\n );\n }\n });\n}\n"],"names":["getSwScope","precacheName","precachedPaths","isExpired","response","maxAgeSeconds","dateHeader","trimCache","cacheName","maxEntries","cache","keys","key","cacheFirst","request","route","cached","networkFirst","network","timeoutMs","timeout","_","reject","staleWhileRevalidate","runRoute","routeMatches","url","createPartialResponse","rangeHeader","match","buffer","total","start","end","suffix","slice","headers","installRuntimeCache","routes","event","candidate","full","stripRange","out","installPrecache","options","sw","manifestUrl","navigateFallback","navigateFallbackDenylist","skipWaiting","navigationPreload","manifest","re","preloaded","shell"],"mappings":"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"}
@@ -0,0 +1,176 @@
1
+ function p() {
2
+ return globalThis;
3
+ }
4
+ let u = "";
5
+ const m = /* @__PURE__ */ new Set();
6
+ function y(a, e) {
7
+ if (!e) return !1;
8
+ const c = a.headers.get("date");
9
+ return c ? (Date.now() - new Date(c).getTime()) / 1e3 > e : !1;
10
+ }
11
+ async function d(a, e) {
12
+ if (!e) return;
13
+ const c = await caches.open(a), t = await c.keys();
14
+ if (!(t.length <= e))
15
+ for (const s of t.slice(0, t.length - e))
16
+ await c.delete(s);
17
+ }
18
+ async function k(a, e) {
19
+ const c = await caches.open(e.cacheName), t = await c.match(a);
20
+ if (t && !y(t, e.maxAgeSeconds)) return t;
21
+ const s = await fetch(a);
22
+ return s.ok && (await c.put(a, s.clone()), await d(e.cacheName, e.maxEntries)), s;
23
+ }
24
+ async function R(a, e) {
25
+ const c = await caches.open(e.cacheName), t = (async () => {
26
+ const n = await fetch(a);
27
+ return n.ok && (await c.put(a, n.clone()), await d(e.cacheName, e.maxEntries)), n;
28
+ })(), s = (e.networkTimeoutSeconds ?? 0) * 1e3;
29
+ try {
30
+ if (s > 0) {
31
+ const n = new Promise(
32
+ (i, h) => setTimeout(() => h(new Error("network-timeout")), s)
33
+ );
34
+ return await Promise.race([t, n]);
35
+ }
36
+ return await t;
37
+ } catch {
38
+ const n = await c.match(a);
39
+ if (n) return n;
40
+ throw new Error("network-first: no network and no cache");
41
+ }
42
+ }
43
+ async function b(a, e) {
44
+ const c = await caches.open(e.cacheName), t = await c.match(a), s = fetch(a).then(async (i) => (i.ok && (await c.put(a, i.clone()), await d(e.cacheName, e.maxEntries)), i)).catch(() => {
45
+ });
46
+ if (t && !y(t, e.maxAgeSeconds)) return t;
47
+ const n = await s;
48
+ if (n) return n;
49
+ if (t) return t;
50
+ throw new Error("stale-while-revalidate: no network and no cache");
51
+ }
52
+ function g(a, e) {
53
+ switch (e.strategy) {
54
+ case "cache-first":
55
+ return k(a, e);
56
+ case "network-first":
57
+ return R(a, e);
58
+ case "stale-while-revalidate":
59
+ return b(a, e);
60
+ }
61
+ }
62
+ function N(a, e, c) {
63
+ return typeof a.match == "function" ? a.match(e, c) : a.match.test(e.href);
64
+ }
65
+ async function v(a, e) {
66
+ const c = a.headers.get("range");
67
+ if (!c) return e;
68
+ const t = /^bytes=(\d*)-(\d*)$/.exec(c.trim());
69
+ if (!t || t[1] === "" && t[2] === "")
70
+ return new Response(null, { status: 416, statusText: "Range Not Satisfiable" });
71
+ const s = await e.clone().arrayBuffer(), n = s.byteLength;
72
+ let i, h;
73
+ if (t[1] === "") {
74
+ const o = Number(t[2]);
75
+ i = Math.max(0, n - o), h = n - 1;
76
+ } else
77
+ i = Number(t[1]), h = t[2] === "" ? n - 1 : Math.min(Number(t[2]), n - 1);
78
+ if (i > h || i >= n)
79
+ return new Response(null, {
80
+ status: 416,
81
+ statusText: "Range Not Satisfiable",
82
+ headers: { "Content-Range": `bytes */${n}` }
83
+ });
84
+ const l = s.slice(i, h + 1), r = new Headers(e.headers);
85
+ return r.set("Content-Range", `bytes ${i}-${h}/${n}`), r.set("Content-Length", String(l.byteLength)), r.set("Accept-Ranges", "bytes"), new Response(l, {
86
+ status: 206,
87
+ statusText: "Partial Content",
88
+ headers: r
89
+ });
90
+ }
91
+ function x(a) {
92
+ p().addEventListener("fetch", (c) => {
93
+ const t = c.request;
94
+ if (t.method !== "GET") return;
95
+ const s = new URL(t.url), n = a.find((i) => N(i, s, t));
96
+ if (n) {
97
+ if (n.rangeRequests && t.headers.has("range")) {
98
+ const i = new Request(t.url, {
99
+ headers: E(t.headers),
100
+ credentials: t.credentials,
101
+ mode: t.mode === "navigate" ? "same-origin" : t.mode
102
+ });
103
+ c.respondWith(
104
+ g(i, n).then((h) => v(t, h))
105
+ );
106
+ return;
107
+ }
108
+ c.respondWith(g(t, n));
109
+ }
110
+ });
111
+ }
112
+ function E(a) {
113
+ const e = new Headers(a);
114
+ return e.delete("range"), e;
115
+ }
116
+ function L(a = {}) {
117
+ const e = p(), {
118
+ manifestUrl: c = "/precache-manifest.json",
119
+ cacheName: t = "tempest-precache",
120
+ navigateFallback: s = "/index.html",
121
+ navigateFallbackDenylist: n = [],
122
+ skipWaiting: i = !0,
123
+ navigationPreload: h = !0
124
+ } = a;
125
+ e.addEventListener("install", (l) => {
126
+ l.waitUntil(
127
+ (async () => {
128
+ const o = await (await fetch(c, { cache: "no-cache" })).json();
129
+ u = `${t}-${o.version}`, await (await caches.open(u)).addAll(o.urls);
130
+ for (const w of o.urls)
131
+ m.add(new URL(w, e.location.origin).pathname);
132
+ i && await e.skipWaiting();
133
+ })()
134
+ );
135
+ }), e.addEventListener("activate", (l) => {
136
+ l.waitUntil(
137
+ (async () => {
138
+ const r = await caches.keys();
139
+ await Promise.all(
140
+ r.filter((o) => o.startsWith(`${t}-`) && o !== u).map((o) => caches.delete(o))
141
+ ), h && e.registration?.navigationPreload && await e.registration.navigationPreload.enable(), await e.clients.claim();
142
+ })()
143
+ );
144
+ }), e.addEventListener("fetch", (l) => {
145
+ const r = l.request;
146
+ if (r.method !== "GET") return;
147
+ const o = new URL(r.url);
148
+ if (o.origin === e.location.origin) {
149
+ if (r.mode === "navigate") {
150
+ if (n.some((f) => f.test(o.pathname))) return;
151
+ l.respondWith(
152
+ (async () => {
153
+ try {
154
+ const f = await l.preloadResponse;
155
+ return f || await fetch(r);
156
+ } catch {
157
+ const w = await (await caches.open(u)).match(s);
158
+ if (w) return w;
159
+ throw new Error("offline and no cached app shell");
160
+ }
161
+ })()
162
+ );
163
+ return;
164
+ }
165
+ m.has(o.pathname) && l.respondWith(
166
+ (async () => await (await caches.open(u)).match(r) ?? fetch(r))()
167
+ );
168
+ }
169
+ });
170
+ }
171
+ export {
172
+ v as createPartialResponse,
173
+ L as installPrecache,
174
+ x as installRuntimeCache
175
+ };
176
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sources":["../../src/sw/cache.ts"],"sourcesContent":["/**\n * Service-worker caching helpers — a small, dependency-free subset of what\n * Workbox provides: precaching of the build's app shell (so the app launches\n * offline) plus runtime caching strategies for fonts, APIs and images.\n *\n * Import these inside your own `sw.ts`. They run in the service-worker global\n * scope, not the main thread. Pair `installPrecache` with the\n * `tempestPwaManifest()` Vite plugin (from `tempest-react-sdk/vite`), which\n * emits the `precache-manifest.json` this reads at install time.\n *\n * @example\n * /// <reference lib=\"webworker\" />\n * import { installRuntimeCache, installPrecache } from \"tempest-react-sdk/sw\";\n *\n * // Register specific routes FIRST so they win over the precache catch-all.\n * installRuntimeCache([\n * { match: /\\/api\\//, strategy: \"network-first\", cacheName: \"api\", maxAgeSeconds: 300 },\n * ]);\n * installPrecache();\n */\n\n/** Minimal shape of the events we touch, to avoid pulling in `lib.webworker`. */\ninterface ExtendableEventLike {\n waitUntil(promise: Promise<unknown>): void;\n}\n\ninterface FetchEventLike extends ExtendableEventLike {\n request: Request;\n respondWith(response: Response | Promise<Response>): void;\n /** Resolves to the navigation-preload response when it is enabled, else `undefined`. */\n preloadResponse?: Promise<Response | undefined>;\n}\n\n/** Minimal shape of `registration.navigationPreload` (Navigation Preload API). */\ninterface NavigationPreloadManagerLike {\n enable(): Promise<void>;\n disable(): Promise<void>;\n}\n\ninterface CacheSwGlobal {\n addEventListener(type: \"install\", listener: (event: ExtendableEventLike) => void): void;\n addEventListener(type: \"activate\", listener: (event: ExtendableEventLike) => void): void;\n addEventListener(type: \"fetch\", listener: (event: FetchEventLike) => void): void;\n clients: { claim(): Promise<void> };\n skipWaiting(): Promise<void>;\n location: { origin: string };\n registration?: { navigationPreload?: NavigationPreloadManagerLike };\n}\n\nfunction getSwScope(): CacheSwGlobal {\n return globalThis as unknown as CacheSwGlobal;\n}\n\n/** Caching strategy for a runtime route. Mirrors the common Workbox trio. */\nexport type RuntimeStrategy = \"cache-first\" | \"network-first\" | \"stale-while-revalidate\";\n\n/** A single runtime-caching rule, matched against each `GET` request. */\nexport interface RuntimeRoute {\n /** A `RegExp` tested against the full URL, or a predicate over the parsed URL. */\n match: RegExp | ((url: URL, request: Request) => boolean);\n /** How to resolve a match. */\n strategy: RuntimeStrategy;\n /** Cache bucket name for this route. */\n cacheName: string;\n /** Trim the cache to at most this many entries (FIFO) after each write. */\n maxEntries?: number;\n /** Treat a cached response older than this (seconds) as a miss. */\n maxAgeSeconds?: number;\n /** For `network-first`: fall back to cache after this timeout (seconds). */\n networkTimeoutSeconds?: number;\n /**\n * Serve HTTP `Range` requests (206 Partial Content) by slicing the cached\n * full response. Enable for audio/video so seeking works offline. The full\n * resource is cached once (the `Range` header is stripped before caching).\n */\n rangeRequests?: boolean;\n}\n\n/** Options for {@link installPrecache}. */\nexport interface InstallPrecacheOptions {\n /** URL of the manifest emitted by `tempestPwaManifest()`. Default `/precache-manifest.json`. */\n manifestUrl?: string;\n /** Cache name prefix; the manifest `version` is appended. Default `tempest-precache`. */\n cacheName?: string;\n /** App-shell document served for navigation requests offline. Default `/index.html`. */\n navigateFallback?: string;\n /** Navigation paths that should NOT use the fallback (e.g. `[/^\\/api\\//]`). */\n navigateFallbackDenylist?: RegExp[];\n /** Activate the new worker immediately after precaching. Default `true`. */\n skipWaiting?: boolean;\n /**\n * Enable the Navigation Preload API on `activate`, so the browser fetches\n * the navigation request in parallel with the worker boot and the handler\n * serves `event.preloadResponse` — cutting first-navigation latency after\n * the worker starts. Silently ignored where unsupported. Default `true`.\n */\n navigationPreload?: boolean;\n}\n\ninterface PrecacheManifest {\n version: string;\n urls: string[];\n}\n\nlet precacheName = \"\";\nconst precachedPaths = new Set<string>();\n\n/** Whether a cached response has aged past `maxAgeSeconds` (best-effort, via `Date`). */\nfunction isExpired(response: Response, maxAgeSeconds?: number): boolean {\n if (!maxAgeSeconds) return false;\n const dateHeader = response.headers.get(\"date\");\n if (!dateHeader) return false;\n const age = (Date.now() - new Date(dateHeader).getTime()) / 1000;\n return age > maxAgeSeconds;\n}\n\n/** Drop oldest entries until the cache holds at most `maxEntries`. */\nasync function trimCache(cacheName: string, maxEntries?: number): Promise<void> {\n if (!maxEntries) return;\n const cache = await caches.open(cacheName);\n const keys = await cache.keys();\n if (keys.length <= maxEntries) return;\n for (const key of keys.slice(0, keys.length - maxEntries)) {\n await cache.delete(key);\n }\n}\n\nasync function cacheFirst(request: Request, route: RuntimeRoute): Promise<Response> {\n const cache = await caches.open(route.cacheName);\n const cached = await cache.match(request);\n if (cached && !isExpired(cached, route.maxAgeSeconds)) return cached;\n\n const response = await fetch(request);\n if (response.ok) {\n await cache.put(request, response.clone());\n await trimCache(route.cacheName, route.maxEntries);\n }\n return response;\n}\n\nasync function networkFirst(request: Request, route: RuntimeRoute): Promise<Response> {\n const cache = await caches.open(route.cacheName);\n\n const network = (async (): Promise<Response> => {\n const response = await fetch(request);\n if (response.ok) {\n await cache.put(request, response.clone());\n await trimCache(route.cacheName, route.maxEntries);\n }\n return response;\n })();\n\n const timeoutMs = (route.networkTimeoutSeconds ?? 0) * 1000;\n try {\n if (timeoutMs > 0) {\n const timeout = new Promise<never>((_, reject) =>\n setTimeout(() => reject(new Error(\"network-timeout\")), timeoutMs),\n );\n return await Promise.race([network, timeout]);\n }\n return await network;\n } catch {\n const cached = await cache.match(request);\n if (cached) return cached;\n throw new Error(\"network-first: no network and no cache\");\n }\n}\n\nasync function staleWhileRevalidate(request: Request, route: RuntimeRoute): Promise<Response> {\n const cache = await caches.open(route.cacheName);\n const cached = await cache.match(request);\n\n const network = fetch(request)\n .then(async (response) => {\n if (response.ok) {\n await cache.put(request, response.clone());\n await trimCache(route.cacheName, route.maxEntries);\n }\n return response;\n })\n .catch(() => undefined);\n\n if (cached && !isExpired(cached, route.maxAgeSeconds)) return cached;\n const response = await network;\n if (response) return response;\n if (cached) return cached;\n throw new Error(\"stale-while-revalidate: no network and no cache\");\n}\n\nfunction runRoute(request: Request, route: RuntimeRoute): Promise<Response> {\n switch (route.strategy) {\n case \"cache-first\":\n return cacheFirst(request, route);\n case \"network-first\":\n return networkFirst(request, route);\n case \"stale-while-revalidate\":\n return staleWhileRevalidate(request, route);\n }\n}\n\nfunction routeMatches(route: RuntimeRoute, url: URL, request: Request): boolean {\n return typeof route.match === \"function\"\n ? route.match(url, request)\n : route.match.test(url.href);\n}\n\n/**\n * Build a `206 Partial Content` response from a full one for an HTTP `Range`\n * request. Supports `bytes=start-end`, open-ended `bytes=start-` and suffix\n * `bytes=-suffixLength`. Returns the original response when there is no usable\n * `Range` header, or a `416` when the range is unsatisfiable.\n *\n * @param request The incoming request (its `Range` header drives the slice).\n * @param response The full (200) response to slice.\n */\nexport async function createPartialResponse(\n request: Request,\n response: Response,\n): Promise<Response> {\n const rangeHeader = request.headers.get(\"range\");\n if (!rangeHeader) return response;\n\n const match = /^bytes=(\\d*)-(\\d*)$/.exec(rangeHeader.trim());\n if (!match || (match[1] === \"\" && match[2] === \"\")) {\n return new Response(null, { status: 416, statusText: \"Range Not Satisfiable\" });\n }\n\n const buffer = await response.clone().arrayBuffer();\n const total = buffer.byteLength;\n\n let start: number;\n let end: number;\n if (match[1] === \"\") {\n // Suffix range: last N bytes.\n const suffix = Number(match[2]);\n start = Math.max(0, total - suffix);\n end = total - 1;\n } else {\n start = Number(match[1]);\n end = match[2] === \"\" ? total - 1 : Math.min(Number(match[2]), total - 1);\n }\n\n if (start > end || start >= total) {\n return new Response(null, {\n status: 416,\n statusText: \"Range Not Satisfiable\",\n headers: { \"Content-Range\": `bytes */${total}` },\n });\n }\n\n const slice = buffer.slice(start, end + 1);\n const headers = new Headers(response.headers);\n headers.set(\"Content-Range\", `bytes ${start}-${end}/${total}`);\n headers.set(\"Content-Length\", String(slice.byteLength));\n headers.set(\"Accept-Ranges\", \"bytes\");\n\n return new Response(slice, {\n status: 206,\n statusText: \"Partial Content\",\n headers,\n });\n}\n\n/**\n * Install a `fetch` handler that resolves matching `GET` requests with the\n * given runtime strategies. Non-matching requests are left untouched (no\n * `respondWith`), so a later {@link installPrecache} can handle them.\n *\n * Register this BEFORE `installPrecache` so specific routes win over the\n * precache catch-all.\n *\n * @param routes Ordered rules; the first whose `match` passes handles the request.\n */\nexport function installRuntimeCache(routes: RuntimeRoute[]): void {\n const sw = getSwScope();\n sw.addEventListener(\"fetch\", (event) => {\n const request = event.request;\n if (request.method !== \"GET\") return;\n\n const url = new URL(request.url);\n const route = routes.find((candidate) => routeMatches(candidate, url, request));\n if (!route) return;\n\n if (route.rangeRequests && request.headers.has(\"range\")) {\n // Cache/serve the FULL resource once (no Range), then slice it.\n const full = new Request(request.url, {\n headers: stripRange(request.headers),\n credentials: request.credentials,\n mode: request.mode === \"navigate\" ? \"same-origin\" : request.mode,\n });\n event.respondWith(\n runRoute(full, route).then((response) => createPartialResponse(request, response)),\n );\n return;\n }\n\n event.respondWith(runRoute(request, route));\n });\n}\n\n/** Copy headers without the `Range` header (so the cached entry is the full file). */\nfunction stripRange(headers: Headers): Headers {\n const out = new Headers(headers);\n out.delete(\"range\");\n return out;\n}\n\n/**\n * Precache the app shell at `install` and serve it offline:\n * - reads `precache-manifest.json` (emitted by `tempestPwaManifest()`),\n * - caches every listed URL under a versioned cache,\n * - on `activate`, deletes stale precache versions and claims open clients,\n * - on `fetch`, serves precached assets cache-first and falls back to the\n * `navigateFallback` document for offline navigations (SPA routing).\n *\n * Same-origin only. Register this LAST, after any {@link installRuntimeCache}.\n */\nexport function installPrecache(options: InstallPrecacheOptions = {}): void {\n const sw = getSwScope();\n const {\n manifestUrl = \"/precache-manifest.json\",\n cacheName = \"tempest-precache\",\n navigateFallback = \"/index.html\",\n navigateFallbackDenylist = [],\n skipWaiting = true,\n navigationPreload = true,\n } = options;\n\n sw.addEventListener(\"install\", (event) => {\n event.waitUntil(\n (async () => {\n const response = await fetch(manifestUrl, { cache: \"no-cache\" });\n const manifest = (await response.json()) as PrecacheManifest;\n precacheName = `${cacheName}-${manifest.version}`;\n\n const cache = await caches.open(precacheName);\n await cache.addAll(manifest.urls);\n for (const url of manifest.urls) {\n precachedPaths.add(new URL(url, sw.location.origin).pathname);\n }\n if (skipWaiting) await sw.skipWaiting();\n })(),\n );\n });\n\n sw.addEventListener(\"activate\", (event) => {\n event.waitUntil(\n (async () => {\n const keys = await caches.keys();\n await Promise.all(\n keys\n .filter((key) => key.startsWith(`${cacheName}-`) && key !== precacheName)\n .map((key) => caches.delete(key)),\n );\n if (navigationPreload && sw.registration?.navigationPreload) {\n await sw.registration.navigationPreload.enable();\n }\n await sw.clients.claim();\n })(),\n );\n });\n\n sw.addEventListener(\"fetch\", (event) => {\n const request = event.request;\n if (request.method !== \"GET\") return;\n\n const url = new URL(request.url);\n if (url.origin !== sw.location.origin) return;\n\n // SPA navigations: serve the cached app shell when offline.\n if (request.mode === \"navigate\") {\n if (navigateFallbackDenylist.some((re) => re.test(url.pathname))) return;\n event.respondWith(\n (async () => {\n try {\n const preloaded = await event.preloadResponse;\n if (preloaded) return preloaded;\n return await fetch(request);\n } catch {\n const cache = await caches.open(precacheName);\n const shell = await cache.match(navigateFallback);\n if (shell) return shell;\n throw new Error(\"offline and no cached app shell\");\n }\n })(),\n );\n return;\n }\n\n // Precached static assets: cache-first.\n if (precachedPaths.has(url.pathname)) {\n event.respondWith(\n (async () => {\n const cache = await caches.open(precacheName);\n const cached = await cache.match(request);\n return cached ?? fetch(request);\n })(),\n );\n }\n });\n}\n"],"names":["getSwScope","precacheName","precachedPaths","isExpired","response","maxAgeSeconds","dateHeader","trimCache","cacheName","maxEntries","cache","keys","key","cacheFirst","request","route","cached","networkFirst","network","timeoutMs","timeout","_","reject","staleWhileRevalidate","runRoute","routeMatches","url","createPartialResponse","rangeHeader","match","buffer","total","start","end","suffix","slice","headers","installRuntimeCache","routes","event","candidate","full","stripRange","out","installPrecache","options","sw","manifestUrl","navigateFallback","navigateFallbackDenylist","skipWaiting","navigationPreload","manifest","re","preloaded","shell"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function c(){return globalThis}function f(l={}){const n=c(),{defaultTitle:a="Notificação",defaultIcon:t,defaultBadge:o,transform:r}=l;n.addEventListener("push",e=>{if(!e.data)return;let s;try{s=e.data.json()}catch{s={title:a,body:e.data.text()}}const i=r?r(s):s;if(!i)return;const u=i.title??a,d={body:i.body,icon:i.icon??t,badge:i.badge??o,image:i.image,tag:i.tag,data:{url:i.url??"/",...i.data??{}}};e.waitUntil(n.registration.showNotification(u,d))})}function g(l={}){const n=c(),a=l.resolveUrl??(t=>{if(typeof t=="string")return t;if(t&&typeof t=="object"&&"url"in t){const o=t.url;return typeof o=="string"?o:"/"}return"/"});n.addEventListener("notificationclick",t=>{t.notification.close();const o=a(t.notification.data);t.waitUntil((async()=>{const r=await n.clients.matchAll({type:"window",includeUncontrolled:!0});for(const e of r)if(e.url.includes(o))return e.focus();return n.clients.openWindow(o)})())})}function p(){const l=c();l.addEventListener("message",n=>{n.data?.type==="SKIP_WAITING"&&l.skipWaiting()})}exports.installNotificationClickHandler=g;exports.installPushHandler=f;exports.installSkipWaitingListener=p;
2
+ //# sourceMappingURL=create-push-handler.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-push-handler.cjs","sources":["../../src/sw/create-push-handler.ts"],"sourcesContent":["/**\n * Service-worker context helpers for handling `push` and `notificationclick`\n * events. Import these inside your own `sw.ts` — they expect to run in the\n * service-worker global scope, not in the main thread.\n *\n * @example\n * /// <reference lib=\"webworker\" />\n * import { installPushHandler, installNotificationClickHandler } from \"tempest-react-sdk\";\n *\n * installPushHandler({ defaultIcon: \"/icons/Logo.png\" });\n * installNotificationClickHandler();\n */\n\ninterface SwGlobal {\n registration: {\n showNotification(title: string, options?: NotificationOptions): Promise<void>;\n };\n clients: {\n matchAll(options: { type: \"window\"; includeUncontrolled?: boolean }): Promise<\n {\n url: string;\n focused: boolean;\n focus(): Promise<unknown>;\n navigate(url: string): Promise<unknown>;\n }[]\n >;\n openWindow(url: string): Promise<unknown>;\n };\n addEventListener(\n type: \"push\",\n listener: (event: {\n data: { json(): unknown; text(): string } | null;\n waitUntil(promise: Promise<unknown>): void;\n }) => void,\n ): void;\n addEventListener(\n type: \"notificationclick\",\n listener: (event: {\n notification: { close(): void; data?: unknown };\n waitUntil(promise: Promise<unknown>): void;\n }) => void,\n ): void;\n skipWaiting(): Promise<void>;\n}\n\nfunction getSwScope(): SwGlobal {\n return globalThis as unknown as SwGlobal;\n}\n\nexport interface PushPayload {\n title?: string;\n body?: string;\n icon?: string;\n badge?: string;\n image?: string;\n tag?: string;\n url?: string;\n /** Arbitrary extra data forwarded to `event.notification.data`. */\n data?: Record<string, unknown>;\n}\n\nexport interface InstallPushHandlerOptions {\n /** Title used when the payload omits one. */\n defaultTitle?: string;\n /** Icon used when the payload omits one. */\n defaultIcon?: string;\n /** Badge image (mobile). */\n defaultBadge?: string;\n /**\n * Transform the raw payload before showing the notification. Return `null`\n * to suppress the notification entirely (e.g. silent pings).\n */\n transform?: (payload: PushPayload) => PushPayload | null;\n}\n\n/**\n * Install a `push` event listener that parses the payload as JSON (with a\n * plain-text fallback) and shows a notification.\n */\nexport function installPushHandler(options: InstallPushHandlerOptions = {}): void {\n const sw = getSwScope();\n const { defaultTitle = \"Notificação\", defaultIcon, defaultBadge, transform } = options;\n\n sw.addEventListener(\"push\", (event) => {\n if (!event.data) return;\n\n let raw: PushPayload;\n try {\n raw = event.data.json() as PushPayload;\n } catch {\n raw = { title: defaultTitle, body: event.data.text() };\n }\n\n const payload = transform ? transform(raw) : raw;\n if (!payload) return;\n\n const title = payload.title ?? defaultTitle;\n const notification: NotificationOptions & { image?: string } = {\n body: payload.body,\n icon: payload.icon ?? defaultIcon,\n badge: payload.badge ?? defaultBadge,\n image: payload.image,\n tag: payload.tag,\n data: { url: payload.url ?? \"/\", ...(payload.data ?? {}) },\n };\n\n event.waitUntil(sw.registration.showNotification(title, notification));\n });\n}\n\nexport interface InstallNotificationClickHandlerOptions {\n /** Resolve the destination URL from the notification data. Default: `data.url`. */\n resolveUrl?: (data: unknown) => string;\n}\n\n/**\n * Install a `notificationclick` handler that focuses an existing client when\n * possible and falls back to opening a new window.\n */\nexport function installNotificationClickHandler(\n options: InstallNotificationClickHandlerOptions = {},\n): void {\n const sw = getSwScope();\n const resolveUrl =\n options.resolveUrl ??\n ((data: unknown) => {\n if (typeof data === \"string\") return data;\n if (data && typeof data === \"object\" && \"url\" in data) {\n const url = (data as Record<string, unknown>).url;\n return typeof url === \"string\" ? url : \"/\";\n }\n return \"/\";\n });\n\n sw.addEventListener(\"notificationclick\", (event) => {\n event.notification.close();\n const target = resolveUrl(event.notification.data);\n\n event.waitUntil(\n (async () => {\n const clients = await sw.clients.matchAll({\n type: \"window\",\n includeUncontrolled: true,\n });\n for (const client of clients) {\n if (client.url.includes(target)) {\n return client.focus();\n }\n }\n return sw.clients.openWindow(target);\n })(),\n );\n });\n}\n\n/**\n * Install a `message` listener that activates a waiting worker when the host\n * app sends `{ type: \"SKIP_WAITING\" }`.\n */\nexport function installSkipWaitingListener(): void {\n const sw = getSwScope() as SwGlobal & {\n addEventListener(\n type: \"message\",\n listener: (event: { data?: { type?: string } }) => void,\n ): void;\n };\n sw.addEventListener(\"message\", (event) => {\n if (event.data?.type === \"SKIP_WAITING\") {\n void sw.skipWaiting();\n }\n });\n}\n"],"names":["getSwScope","installPushHandler","options","sw","defaultTitle","defaultIcon","defaultBadge","transform","event","raw","payload","title","notification","installNotificationClickHandler","resolveUrl","data","url","target","clients","client","installSkipWaitingListener"],"mappings":"gFA6CA,SAASA,GAAuB,CAC5B,OAAO,UACX,CAgCO,SAASC,EAAmBC,EAAqC,GAAU,CAC9E,MAAMC,EAAKH,EAAA,EACL,CAAE,aAAAI,EAAe,cAAe,YAAAC,EAAa,aAAAC,EAAc,UAAAC,GAAcL,EAE/EC,EAAG,iBAAiB,OAASK,GAAU,CACnC,GAAI,CAACA,EAAM,KAAM,OAEjB,IAAIC,EACJ,GAAI,CACAA,EAAMD,EAAM,KAAK,KAAA,CACrB,MAAQ,CACJC,EAAM,CAAE,MAAOL,EAAc,KAAMI,EAAM,KAAK,MAAK,CACvD,CAEA,MAAME,EAAUH,EAAYA,EAAUE,CAAG,EAAIA,EAC7C,GAAI,CAACC,EAAS,OAEd,MAAMC,EAAQD,EAAQ,OAASN,EACzBQ,EAAyD,CAC3D,KAAMF,EAAQ,KACd,KAAMA,EAAQ,MAAQL,EACtB,MAAOK,EAAQ,OAASJ,EACxB,MAAOI,EAAQ,MACf,IAAKA,EAAQ,IACb,KAAM,CAAE,IAAKA,EAAQ,KAAO,IAAK,GAAIA,EAAQ,MAAQ,CAAA,CAAC,CAAG,EAG7DF,EAAM,UAAUL,EAAG,aAAa,iBAAiBQ,EAAOC,CAAY,CAAC,CACzE,CAAC,CACL,CAWO,SAASC,EACZX,EAAkD,GAC9C,CACJ,MAAMC,EAAKH,EAAA,EACLc,EACFZ,EAAQ,aACNa,GAAkB,CAChB,GAAI,OAAOA,GAAS,SAAU,OAAOA,EACrC,GAAIA,GAAQ,OAAOA,GAAS,UAAY,QAASA,EAAM,CACnD,MAAMC,EAAOD,EAAiC,IAC9C,OAAO,OAAOC,GAAQ,SAAWA,EAAM,GAC3C,CACA,MAAO,GACX,GAEJb,EAAG,iBAAiB,oBAAsBK,GAAU,CAChDA,EAAM,aAAa,MAAA,EACnB,MAAMS,EAASH,EAAWN,EAAM,aAAa,IAAI,EAEjDA,EAAM,WACD,SAAY,CACT,MAAMU,EAAU,MAAMf,EAAG,QAAQ,SAAS,CACtC,KAAM,SACN,oBAAqB,EAAA,CACxB,EACD,UAAWgB,KAAUD,EACjB,GAAIC,EAAO,IAAI,SAASF,CAAM,EAC1B,OAAOE,EAAO,MAAA,EAGtB,OAAOhB,EAAG,QAAQ,WAAWc,CAAM,CACvC,GAAA,CAAG,CAEX,CAAC,CACL,CAMO,SAASG,GAAmC,CAC/C,MAAMjB,EAAKH,EAAA,EAMXG,EAAG,iBAAiB,UAAYK,GAAU,CAClCA,EAAM,MAAM,OAAS,gBAChBL,EAAG,YAAA,CAEhB,CAAC,CACL"}