tempest-react-sdk 0.78.0 → 0.79.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 (1585) hide show
  1. package/README.md +6 -6
  2. package/bin/lib/openapi/generate.mjs +168 -64
  3. package/bin/lib/openapi/generate.pagination.test.mjs +3 -2
  4. package/bin/lib/openapi/generate.test.mjs +263 -1
  5. package/dist/access/Can.cjs.map +1 -1
  6. package/dist/access/Can.js.map +1 -1
  7. package/dist/access/access-control-context.cjs.map +1 -1
  8. package/dist/access/access-control-context.js.map +1 -1
  9. package/dist/access/create-role-access-control.cjs.map +1 -1
  10. package/dist/access/create-role-access-control.js.map +1 -1
  11. package/dist/access/permissions-from-token.cjs.map +1 -1
  12. package/dist/access/permissions-from-token.js.map +1 -1
  13. package/dist/access/use-can.cjs.map +1 -1
  14. package/dist/access/use-can.js.map +1 -1
  15. package/dist/app/AppProviders.cjs.map +1 -1
  16. package/dist/app/AppProviders.js.map +1 -1
  17. package/dist/audio/audio-bus.cjs.map +1 -1
  18. package/dist/audio/audio-bus.js.map +1 -1
  19. package/dist/audio/audio-output.cjs.map +1 -1
  20. package/dist/audio/audio-output.js.map +1 -1
  21. package/dist/audio/audio-player.cjs.map +1 -1
  22. package/dist/audio/audio-player.js.map +1 -1
  23. package/dist/audio/audio-recorder.cjs.map +1 -1
  24. package/dist/audio/audio-recorder.js.map +1 -1
  25. package/dist/audio/duration.cjs.map +1 -1
  26. package/dist/audio/duration.js.map +1 -1
  27. package/dist/audio/level-meter.cjs.map +1 -1
  28. package/dist/audio/level-meter.js.map +1 -1
  29. package/dist/audio/media-access.cjs.map +1 -1
  30. package/dist/audio/media-access.js.map +1 -1
  31. package/dist/audio/noise-floor.cjs.map +1 -1
  32. package/dist/audio/noise-floor.js.map +1 -1
  33. package/dist/audio/sfx-pool.cjs.map +1 -1
  34. package/dist/audio/sfx-pool.js.map +1 -1
  35. package/dist/audio/use-audio-bus.cjs.map +1 -1
  36. package/dist/audio/use-audio-bus.js.map +1 -1
  37. package/dist/audio/use-audio-recorder.cjs.map +1 -1
  38. package/dist/audio/use-audio-recorder.js.map +1 -1
  39. package/dist/audio/use-audio.cjs.map +1 -1
  40. package/dist/audio/use-audio.js.map +1 -1
  41. package/dist/audio/use-microphone.cjs +1 -1
  42. package/dist/audio/use-microphone.cjs.map +1 -1
  43. package/dist/audio/use-microphone.js +1 -5
  44. package/dist/audio/use-microphone.js.map +1 -1
  45. package/dist/audio/use-sfx-pool.cjs.map +1 -1
  46. package/dist/audio/use-sfx-pool.js.map +1 -1
  47. package/dist/audio/voice-activity.cjs.map +1 -1
  48. package/dist/audio/voice-activity.js.map +1 -1
  49. package/dist/audio/voice-chain-stages.cjs.map +1 -1
  50. package/dist/audio/voice-chain-stages.js.map +1 -1
  51. package/dist/audio/voice-chain.cjs.map +1 -1
  52. package/dist/audio/voice-chain.js.map +1 -1
  53. package/dist/audio/wav.cjs.map +1 -1
  54. package/dist/audio/wav.js.map +1 -1
  55. package/dist/auth/AuthGuard.cjs.map +1 -1
  56. package/dist/auth/AuthGuard.js.map +1 -1
  57. package/dist/auth/create-auth-store.cjs.map +1 -1
  58. package/dist/auth/create-auth-store.js.map +1 -1
  59. package/dist/auth/create-tempest-auth.cjs +1 -1
  60. package/dist/auth/create-tempest-auth.cjs.map +1 -1
  61. package/dist/auth/create-tempest-auth.js +1 -3
  62. package/dist/auth/create-tempest-auth.js.map +1 -1
  63. package/dist/auth/jwt.cjs.map +1 -1
  64. package/dist/auth/jwt.js.map +1 -1
  65. package/dist/auth/lazy-with-retry.cjs.map +1 -1
  66. package/dist/auth/lazy-with-retry.js.map +1 -1
  67. package/dist/auth/passkey.cjs.map +1 -1
  68. package/dist/auth/passkey.js.map +1 -1
  69. package/dist/auth/refresh-queue.cjs.map +1 -1
  70. package/dist/auth/refresh-queue.js.map +1 -1
  71. package/dist/auth/use-passkey.cjs +1 -1
  72. package/dist/auth/use-passkey.cjs.map +1 -1
  73. package/dist/auth/use-passkey.js +1 -1
  74. package/dist/auth/use-passkey.js.map +1 -1
  75. package/dist/br/BrazilMap.cjs.map +1 -1
  76. package/dist/br/BrazilMap.js.map +1 -1
  77. package/dist/br/BrazilMap.module.cjs.map +1 -1
  78. package/dist/br/BrazilMap.module.js.map +1 -1
  79. package/dist/br/BrazilStateCitySelect.cjs.map +1 -1
  80. package/dist/br/BrazilStateCitySelect.js.map +1 -1
  81. package/dist/br/BrazilStateMap.cjs.map +1 -1
  82. package/dist/br/BrazilStateMap.js.map +1 -1
  83. package/dist/br/MapLegend.cjs.map +1 -1
  84. package/dist/br/MapLegend.js.map +1 -1
  85. package/dist/br/MapLegend.module.cjs.map +1 -1
  86. package/dist/br/MapLegend.module.js.map +1 -1
  87. package/dist/br/MapMarkers.cjs.map +1 -1
  88. package/dist/br/MapMarkers.js.map +1 -1
  89. package/dist/br/MapTooltip.cjs.map +1 -1
  90. package/dist/br/MapTooltip.js.map +1 -1
  91. package/dist/br/MunicipalitySearch.cjs +1 -1
  92. package/dist/br/MunicipalitySearch.cjs.map +1 -1
  93. package/dist/br/MunicipalitySearch.js +2 -5
  94. package/dist/br/MunicipalitySearch.js.map +1 -1
  95. package/dist/br/MunicipalitySearch.module.cjs.map +1 -1
  96. package/dist/br/MunicipalitySearch.module.js.map +1 -1
  97. package/dist/br/PixQRCode.cjs.map +1 -1
  98. package/dist/br/PixQRCode.js.map +1 -1
  99. package/dist/br/PixQRCode.module.cjs.map +1 -1
  100. package/dist/br/PixQRCode.module.js.map +1 -1
  101. package/dist/br/boleto.cjs.map +1 -1
  102. package/dist/br/boleto.js.map +1 -1
  103. package/dist/br/br-geo.cjs.map +1 -1
  104. package/dist/br/br-geo.js.map +1 -1
  105. package/dist/br/data/br-centroids.cjs.map +1 -1
  106. package/dist/br/data/br-centroids.js.map +1 -1
  107. package/dist/br/data/br-locations.cjs.map +1 -1
  108. package/dist/br/data/br-locations.js.map +1 -1
  109. package/dist/br/data/br-uf-geo.cjs.map +1 -1
  110. package/dist/br/data/br-uf-geo.js.map +1 -1
  111. package/dist/br/data/mun/AC.cjs.map +1 -1
  112. package/dist/br/data/mun/AC.js.map +1 -1
  113. package/dist/br/data/mun/AL.cjs.map +1 -1
  114. package/dist/br/data/mun/AL.js.map +1 -1
  115. package/dist/br/data/mun/AM.cjs.map +1 -1
  116. package/dist/br/data/mun/AM.js.map +1 -1
  117. package/dist/br/data/mun/AP.cjs.map +1 -1
  118. package/dist/br/data/mun/AP.js.map +1 -1
  119. package/dist/br/data/mun/BA.cjs.map +1 -1
  120. package/dist/br/data/mun/BA.js.map +1 -1
  121. package/dist/br/data/mun/CE.cjs.map +1 -1
  122. package/dist/br/data/mun/CE.js.map +1 -1
  123. package/dist/br/data/mun/DF.cjs.map +1 -1
  124. package/dist/br/data/mun/DF.js.map +1 -1
  125. package/dist/br/data/mun/ES.cjs.map +1 -1
  126. package/dist/br/data/mun/ES.js.map +1 -1
  127. package/dist/br/data/mun/GO.cjs.map +1 -1
  128. package/dist/br/data/mun/GO.js.map +1 -1
  129. package/dist/br/data/mun/MA.cjs.map +1 -1
  130. package/dist/br/data/mun/MA.js.map +1 -1
  131. package/dist/br/data/mun/MG.cjs.map +1 -1
  132. package/dist/br/data/mun/MG.js.map +1 -1
  133. package/dist/br/data/mun/MS.cjs.map +1 -1
  134. package/dist/br/data/mun/MS.js.map +1 -1
  135. package/dist/br/data/mun/MT.cjs.map +1 -1
  136. package/dist/br/data/mun/MT.js.map +1 -1
  137. package/dist/br/data/mun/PA.cjs.map +1 -1
  138. package/dist/br/data/mun/PA.js.map +1 -1
  139. package/dist/br/data/mun/PB.cjs.map +1 -1
  140. package/dist/br/data/mun/PB.js.map +1 -1
  141. package/dist/br/data/mun/PE.cjs.map +1 -1
  142. package/dist/br/data/mun/PE.js.map +1 -1
  143. package/dist/br/data/mun/PI.cjs.map +1 -1
  144. package/dist/br/data/mun/PI.js.map +1 -1
  145. package/dist/br/data/mun/PR.cjs.map +1 -1
  146. package/dist/br/data/mun/PR.js.map +1 -1
  147. package/dist/br/data/mun/RJ.cjs.map +1 -1
  148. package/dist/br/data/mun/RJ.js.map +1 -1
  149. package/dist/br/data/mun/RN.cjs.map +1 -1
  150. package/dist/br/data/mun/RN.js.map +1 -1
  151. package/dist/br/data/mun/RO.cjs.map +1 -1
  152. package/dist/br/data/mun/RO.js.map +1 -1
  153. package/dist/br/data/mun/RR.cjs.map +1 -1
  154. package/dist/br/data/mun/RR.js.map +1 -1
  155. package/dist/br/data/mun/RS.cjs.map +1 -1
  156. package/dist/br/data/mun/RS.js.map +1 -1
  157. package/dist/br/data/mun/SC.cjs.map +1 -1
  158. package/dist/br/data/mun/SC.js.map +1 -1
  159. package/dist/br/data/mun/SE.cjs.map +1 -1
  160. package/dist/br/data/mun/SE.js.map +1 -1
  161. package/dist/br/data/mun/SP.cjs.map +1 -1
  162. package/dist/br/data/mun/SP.js.map +1 -1
  163. package/dist/br/data/mun/TO.cjs.map +1 -1
  164. package/dist/br/data/mun/TO.js.map +1 -1
  165. package/dist/br/geocode.cjs.map +1 -1
  166. package/dist/br/geocode.js.map +1 -1
  167. package/dist/br/holidays.cjs.map +1 -1
  168. package/dist/br/holidays.js.map +1 -1
  169. package/dist/br/locations.cjs.map +1 -1
  170. package/dist/br/locations.js.map +1 -1
  171. package/dist/br/nfe.cjs.map +1 -1
  172. package/dist/br/nfe.js.map +1 -1
  173. package/dist/br/pix.cjs +1 -1
  174. package/dist/br/pix.cjs.map +1 -1
  175. package/dist/br/pix.js +108 -74
  176. package/dist/br/pix.js.map +1 -1
  177. package/dist/br/regions.cjs.map +1 -1
  178. package/dist/br/regions.js.map +1 -1
  179. package/dist/br/scales.cjs.map +1 -1
  180. package/dist/br/scales.js.map +1 -1
  181. package/dist/br/state-geo.cjs.map +1 -1
  182. package/dist/br/state-geo.js.map +1 -1
  183. package/dist/br/svg-utils.cjs.map +1 -1
  184. package/dist/br/svg-utils.js.map +1 -1
  185. package/dist/br/use-map-hover.cjs.map +1 -1
  186. package/dist/br/use-map-hover.js.map +1 -1
  187. package/dist/br/use-map-zoom.cjs.map +1 -1
  188. package/dist/br/use-map-zoom.js.map +1 -1
  189. package/dist/br/whatsapp.cjs.map +1 -1
  190. package/dist/br/whatsapp.js.map +1 -1
  191. package/dist/br.cjs.map +1 -1
  192. package/dist/br.d.ts +6 -2
  193. package/dist/br.js.map +1 -1
  194. package/dist/capture/barcode.cjs.map +1 -1
  195. package/dist/capture/barcode.js.map +1 -1
  196. package/dist/capture/media-recorder.cjs.map +1 -1
  197. package/dist/capture/media-recorder.js.map +1 -1
  198. package/dist/capture/use-barcode-scanner.cjs.map +1 -1
  199. package/dist/capture/use-barcode-scanner.js.map +1 -1
  200. package/dist/capture/use-screen-capture.cjs +1 -1
  201. package/dist/capture/use-screen-capture.cjs.map +1 -1
  202. package/dist/capture/use-screen-capture.js +1 -7
  203. package/dist/capture/use-screen-capture.js.map +1 -1
  204. package/dist/capture/use-speech-recognition.cjs +1 -1
  205. package/dist/capture/use-speech-recognition.cjs.map +1 -1
  206. package/dist/capture/use-speech-recognition.js +35 -36
  207. package/dist/capture/use-speech-recognition.js.map +1 -1
  208. package/dist/capture/use-torch.cjs.map +1 -1
  209. package/dist/capture/use-torch.js.map +1 -1
  210. package/dist/capture/use-video-recorder.cjs.map +1 -1
  211. package/dist/capture/use-video-recorder.js.map +1 -1
  212. package/dist/capture/video-recorder.cjs.map +1 -1
  213. package/dist/capture/video-recorder.js.map +1 -1
  214. package/dist/charts/AreaChart.cjs.map +1 -1
  215. package/dist/charts/AreaChart.js.map +1 -1
  216. package/dist/charts/BarChart.cjs.map +1 -1
  217. package/dist/charts/BarChart.js.map +1 -1
  218. package/dist/charts/LineChart.cjs.map +1 -1
  219. package/dist/charts/LineChart.js.map +1 -1
  220. package/dist/charts/PieChart.cjs.map +1 -1
  221. package/dist/charts/PieChart.js.map +1 -1
  222. package/dist/charts/RadarChart.cjs.map +1 -1
  223. package/dist/charts/RadarChart.js.map +1 -1
  224. package/dist/charts/palette.cjs.map +1 -1
  225. package/dist/charts/palette.js.map +1 -1
  226. package/dist/charts/scales.cjs.map +1 -1
  227. package/dist/charts/scales.js.map +1 -1
  228. package/dist/charts/types.cjs.map +1 -1
  229. package/dist/charts/types.js.map +1 -1
  230. package/dist/charts/use-chart-colors.cjs.map +1 -1
  231. package/dist/charts/use-chart-colors.js.map +1 -1
  232. package/dist/components/AIChat/AIChat.cjs +1 -1
  233. package/dist/components/AIChat/AIChat.cjs.map +1 -1
  234. package/dist/components/AIChat/AIChat.js +1 -5
  235. package/dist/components/AIChat/AIChat.js.map +1 -1
  236. package/dist/components/AIChat/AIChat.module.cjs.map +1 -1
  237. package/dist/components/AIChat/AIChat.module.js.map +1 -1
  238. package/dist/components/AIChat/AIChatComposer.cjs +1 -1
  239. package/dist/components/AIChat/AIChatComposer.cjs.map +1 -1
  240. package/dist/components/AIChat/AIChatComposer.js +1 -7
  241. package/dist/components/AIChat/AIChatComposer.js.map +1 -1
  242. package/dist/components/AIChat/AIChatTurn.cjs.map +1 -1
  243. package/dist/components/AIChat/AIChatTurn.js.map +1 -1
  244. package/dist/components/AIChat/ai-chat-turns.cjs.map +1 -1
  245. package/dist/components/AIChat/ai-chat-turns.js.map +1 -1
  246. package/dist/components/Accordion/Accordion.cjs.map +1 -1
  247. package/dist/components/Accordion/Accordion.js.map +1 -1
  248. package/dist/components/Accordion/Accordion.module.cjs.map +1 -1
  249. package/dist/components/Accordion/Accordion.module.js.map +1 -1
  250. package/dist/components/Alert/Alert.cjs.map +1 -1
  251. package/dist/components/Alert/Alert.js.map +1 -1
  252. package/dist/components/Alert/Alert.module.cjs.map +1 -1
  253. package/dist/components/Alert/Alert.module.js.map +1 -1
  254. package/dist/components/AppBar/AppBar.cjs.map +1 -1
  255. package/dist/components/AppBar/AppBar.js.map +1 -1
  256. package/dist/components/AppBar/AppBar.module.cjs.map +1 -1
  257. package/dist/components/AppBar/AppBar.module.js.map +1 -1
  258. package/dist/components/AppBar/use-sticky-body-warning.cjs +1 -1
  259. package/dist/components/AppBar/use-sticky-body-warning.cjs.map +1 -1
  260. package/dist/components/AppBar/use-sticky-body-warning.js +1 -1
  261. package/dist/components/AppBar/use-sticky-body-warning.js.map +1 -1
  262. package/dist/components/AppShell/AppShell.cjs.map +1 -1
  263. package/dist/components/AppShell/AppShell.js.map +1 -1
  264. package/dist/components/AppShell/AppShell.module.cjs.map +1 -1
  265. package/dist/components/AppShell/AppShell.module.js.map +1 -1
  266. package/dist/components/AspectRatio/AspectRatio.cjs.map +1 -1
  267. package/dist/components/AspectRatio/AspectRatio.js.map +1 -1
  268. package/dist/components/AspectRatio/AspectRatio.module.cjs.map +1 -1
  269. package/dist/components/AspectRatio/AspectRatio.module.js.map +1 -1
  270. package/dist/components/AudioPlayer/AudioPlayer.cjs +1 -1
  271. package/dist/components/AudioPlayer/AudioPlayer.cjs.map +1 -1
  272. package/dist/components/AudioPlayer/AudioPlayer.js +1 -7
  273. package/dist/components/AudioPlayer/AudioPlayer.js.map +1 -1
  274. package/dist/components/AudioPlayer/AudioPlayer.module.cjs.map +1 -1
  275. package/dist/components/AudioPlayer/AudioPlayer.module.js.map +1 -1
  276. package/dist/components/AudioRecorder/AudioRecorder.cjs +1 -1
  277. package/dist/components/AudioRecorder/AudioRecorder.cjs.map +1 -1
  278. package/dist/components/AudioRecorder/AudioRecorder.js +16 -21
  279. package/dist/components/AudioRecorder/AudioRecorder.js.map +1 -1
  280. package/dist/components/AudioRecorder/AudioRecorder.module.cjs.map +1 -1
  281. package/dist/components/AudioRecorder/AudioRecorder.module.js.map +1 -1
  282. package/dist/components/Avatar/Avatar.cjs.map +1 -1
  283. package/dist/components/Avatar/Avatar.js.map +1 -1
  284. package/dist/components/Avatar/Avatar.module.cjs.map +1 -1
  285. package/dist/components/Avatar/Avatar.module.js.map +1 -1
  286. package/dist/components/AvatarGroup/AvatarGroup.cjs.map +1 -1
  287. package/dist/components/AvatarGroup/AvatarGroup.js.map +1 -1
  288. package/dist/components/AvatarGroup/AvatarGroup.module.cjs.map +1 -1
  289. package/dist/components/AvatarGroup/AvatarGroup.module.js.map +1 -1
  290. package/dist/components/Badge/Badge.cjs.map +1 -1
  291. package/dist/components/Badge/Badge.js.map +1 -1
  292. package/dist/components/Badge/Badge.module.cjs.map +1 -1
  293. package/dist/components/Badge/Badge.module.js.map +1 -1
  294. package/dist/components/Banner/Banner.cjs.map +1 -1
  295. package/dist/components/Banner/Banner.js.map +1 -1
  296. package/dist/components/Banner/Banner.module.cjs.map +1 -1
  297. package/dist/components/Banner/Banner.module.js.map +1 -1
  298. package/dist/components/BarList/BarList.cjs.map +1 -1
  299. package/dist/components/BarList/BarList.js.map +1 -1
  300. package/dist/components/BarList/BarList.module.cjs.map +1 -1
  301. package/dist/components/BarList/BarList.module.js.map +1 -1
  302. package/dist/components/BarList/bar-list-model.cjs.map +1 -1
  303. package/dist/components/BarList/bar-list-model.js.map +1 -1
  304. package/dist/components/BarcodeScanner/BarcodeScanner.cjs.map +1 -1
  305. package/dist/components/BarcodeScanner/BarcodeScanner.js.map +1 -1
  306. package/dist/components/BarcodeScanner/BarcodeScanner.module.cjs.map +1 -1
  307. package/dist/components/BarcodeScanner/BarcodeScanner.module.js.map +1 -1
  308. package/dist/components/BottomNavigation/BottomNavigation.cjs.map +1 -1
  309. package/dist/components/BottomNavigation/BottomNavigation.js.map +1 -1
  310. package/dist/components/BottomNavigation/BottomNavigation.module.cjs.map +1 -1
  311. package/dist/components/BottomNavigation/BottomNavigation.module.js.map +1 -1
  312. package/dist/components/BottomSheet/BottomSheet.cjs.map +1 -1
  313. package/dist/components/BottomSheet/BottomSheet.js.map +1 -1
  314. package/dist/components/BottomSheet/BottomSheet.module.cjs.map +1 -1
  315. package/dist/components/BottomSheet/BottomSheet.module.js.map +1 -1
  316. package/dist/components/Breadcrumbs/Breadcrumbs.cjs.map +1 -1
  317. package/dist/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
  318. package/dist/components/Breadcrumbs/Breadcrumbs.module.cjs.map +1 -1
  319. package/dist/components/Breadcrumbs/Breadcrumbs.module.js.map +1 -1
  320. package/dist/components/Button/Button.cjs.map +1 -1
  321. package/dist/components/Button/Button.js.map +1 -1
  322. package/dist/components/Button/Button.module.cjs.map +1 -1
  323. package/dist/components/Button/Button.module.js.map +1 -1
  324. package/dist/components/Button/ButtonContent.cjs.map +1 -1
  325. package/dist/components/Button/ButtonContent.js.map +1 -1
  326. package/dist/components/Button/ButtonSlot.cjs.map +1 -1
  327. package/dist/components/Button/ButtonSlot.js.map +1 -1
  328. package/dist/components/Button/button-class.cjs.map +1 -1
  329. package/dist/components/Button/button-class.js.map +1 -1
  330. package/dist/components/Button/link-rel.cjs.map +1 -1
  331. package/dist/components/Button/link-rel.js.map +1 -1
  332. package/dist/components/Button/slot.cjs.map +1 -1
  333. package/dist/components/Button/slot.js.map +1 -1
  334. package/dist/components/Calendar/Calendar.cjs.map +1 -1
  335. package/dist/components/Calendar/Calendar.js.map +1 -1
  336. package/dist/components/Calendar/Calendar.module.cjs.map +1 -1
  337. package/dist/components/Calendar/Calendar.module.js.map +1 -1
  338. package/dist/components/Card/Card.cjs.map +1 -1
  339. package/dist/components/Card/Card.js.map +1 -1
  340. package/dist/components/Card/Card.module.cjs.map +1 -1
  341. package/dist/components/Card/Card.module.js.map +1 -1
  342. package/dist/components/Carousel/Carousel.cjs.map +1 -1
  343. package/dist/components/Carousel/Carousel.js.map +1 -1
  344. package/dist/components/Carousel/Carousel.module.cjs.map +1 -1
  345. package/dist/components/Carousel/Carousel.module.js.map +1 -1
  346. package/dist/components/Center/Center.cjs.map +1 -1
  347. package/dist/components/Center/Center.js.map +1 -1
  348. package/dist/components/Center/Center.module.cjs.map +1 -1
  349. package/dist/components/Center/Center.module.js.map +1 -1
  350. package/dist/components/Chat/Chat.cjs.map +1 -1
  351. package/dist/components/Chat/Chat.js.map +1 -1
  352. package/dist/components/Chat/Chat.module.cjs.map +1 -1
  353. package/dist/components/Chat/Chat.module.js.map +1 -1
  354. package/dist/components/Chat/ChatActionsMenu.cjs.map +1 -1
  355. package/dist/components/Chat/ChatActionsMenu.js.map +1 -1
  356. package/dist/components/Chat/ChatAttachments.cjs.map +1 -1
  357. package/dist/components/Chat/ChatAttachments.js.map +1 -1
  358. package/dist/components/Chat/ChatBubble.cjs.map +1 -1
  359. package/dist/components/Chat/ChatBubble.js.map +1 -1
  360. package/dist/components/Chat/ChatComposer.cjs.map +1 -1
  361. package/dist/components/Chat/ChatComposer.js.map +1 -1
  362. package/dist/components/Chat/chat-groups.cjs +1 -1
  363. package/dist/components/Chat/chat-groups.cjs.map +1 -1
  364. package/dist/components/Chat/chat-groups.js +2 -6
  365. package/dist/components/Chat/chat-groups.js.map +1 -1
  366. package/dist/components/Chat/chat-receipt.cjs.map +1 -1
  367. package/dist/components/Chat/chat-receipt.js.map +1 -1
  368. package/dist/components/Checkbox/Checkbox.cjs.map +1 -1
  369. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  370. package/dist/components/Checkbox/Checkbox.module.cjs.map +1 -1
  371. package/dist/components/Checkbox/Checkbox.module.js.map +1 -1
  372. package/dist/components/ChipInput/ChipInput.cjs +1 -1
  373. package/dist/components/ChipInput/ChipInput.cjs.map +1 -1
  374. package/dist/components/ChipInput/ChipInput.js +2 -12
  375. package/dist/components/ChipInput/ChipInput.js.map +1 -1
  376. package/dist/components/ChipInput/ChipInput.module.cjs.map +1 -1
  377. package/dist/components/ChipInput/ChipInput.module.js.map +1 -1
  378. package/dist/components/ClickOutside/ClickOutside.cjs.map +1 -1
  379. package/dist/components/ClickOutside/ClickOutside.js.map +1 -1
  380. package/dist/components/CodeBlock/CodeBlock.cjs.map +1 -1
  381. package/dist/components/CodeBlock/CodeBlock.js.map +1 -1
  382. package/dist/components/CodeBlock/CodeBlock.module.cjs.map +1 -1
  383. package/dist/components/CodeBlock/CodeBlock.module.js.map +1 -1
  384. package/dist/components/CodeBlock/tokenize.cjs.map +1 -1
  385. package/dist/components/CodeBlock/tokenize.js.map +1 -1
  386. package/dist/components/Collapsible/Collapsible.cjs.map +1 -1
  387. package/dist/components/Collapsible/Collapsible.js.map +1 -1
  388. package/dist/components/Collapsible/Collapsible.module.cjs.map +1 -1
  389. package/dist/components/Collapsible/Collapsible.module.js.map +1 -1
  390. package/dist/components/Combobox/Combobox.cjs.map +1 -1
  391. package/dist/components/Combobox/Combobox.js.map +1 -1
  392. package/dist/components/Combobox/Combobox.module.cjs.map +1 -1
  393. package/dist/components/Combobox/Combobox.module.js.map +1 -1
  394. package/dist/components/Combobox/use-listbox-dismiss.cjs.map +1 -1
  395. package/dist/components/Combobox/use-listbox-dismiss.js.map +1 -1
  396. package/dist/components/Command/Command.cjs +1 -1
  397. package/dist/components/Command/Command.cjs.map +1 -1
  398. package/dist/components/Command/Command.js +4 -11
  399. package/dist/components/Command/Command.js.map +1 -1
  400. package/dist/components/Command/Command.module.cjs.map +1 -1
  401. package/dist/components/Command/Command.module.js.map +1 -1
  402. package/dist/components/ConditionalWrapper/ConditionalWrapper.cjs.map +1 -1
  403. package/dist/components/ConditionalWrapper/ConditionalWrapper.js.map +1 -1
  404. package/dist/components/ConfirmDialog/ConfirmDialog.cjs.map +1 -1
  405. package/dist/components/ConfirmDialog/ConfirmDialog.js.map +1 -1
  406. package/dist/components/ContextMenu/ContextMenu.cjs +1 -1
  407. package/dist/components/ContextMenu/ContextMenu.cjs.map +1 -1
  408. package/dist/components/ContextMenu/ContextMenu.js +1 -1
  409. package/dist/components/ContextMenu/ContextMenu.js.map +1 -1
  410. package/dist/components/ContextMenu/ContextMenu.module.cjs.map +1 -1
  411. package/dist/components/ContextMenu/ContextMenu.module.js.map +1 -1
  412. package/dist/components/CopyButton/CopyButton.cjs.map +1 -1
  413. package/dist/components/CopyButton/CopyButton.js.map +1 -1
  414. package/dist/components/CopyButton/CopyButton.module.cjs.map +1 -1
  415. package/dist/components/CopyButton/CopyButton.module.js.map +1 -1
  416. package/dist/components/DataList/DataList.cjs.map +1 -1
  417. package/dist/components/DataList/DataList.js.map +1 -1
  418. package/dist/components/DataList/DataList.module.cjs.map +1 -1
  419. package/dist/components/DataList/DataList.module.js.map +1 -1
  420. package/dist/components/DataTable/DataTable.cjs +1 -1
  421. package/dist/components/DataTable/DataTable.cjs.map +1 -1
  422. package/dist/components/DataTable/DataTable.js +6 -14
  423. package/dist/components/DataTable/DataTable.js.map +1 -1
  424. package/dist/components/DataTable/DataTable.module.cjs.map +1 -1
  425. package/dist/components/DataTable/DataTable.module.js.map +1 -1
  426. package/dist/components/DataTable/EditableCell.cjs +1 -1
  427. package/dist/components/DataTable/EditableCell.cjs.map +1 -1
  428. package/dist/components/DataTable/EditableCell.js +1 -9
  429. package/dist/components/DataTable/EditableCell.js.map +1 -1
  430. package/dist/components/DataTable/LoadingRows.cjs.map +1 -1
  431. package/dist/components/DataTable/LoadingRows.js.map +1 -1
  432. package/dist/components/DataTable/edit-labels.cjs.map +1 -1
  433. package/dist/components/DataTable/edit-labels.js.map +1 -1
  434. package/dist/components/DataTable/use-dev-warnings.cjs.map +1 -1
  435. package/dist/components/DataTable/use-dev-warnings.js.map +1 -1
  436. package/dist/components/DatePicker/DatePicker.cjs.map +1 -1
  437. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  438. package/dist/components/DateRangePicker/DateRangePicker.cjs.map +1 -1
  439. package/dist/components/DateRangePicker/DateRangePicker.js.map +1 -1
  440. package/dist/components/DateRangePicker/DateRangePicker.module.cjs.map +1 -1
  441. package/dist/components/DateRangePicker/DateRangePicker.module.js.map +1 -1
  442. package/dist/components/DescriptionList/DescriptionList.cjs.map +1 -1
  443. package/dist/components/DescriptionList/DescriptionList.js.map +1 -1
  444. package/dist/components/DescriptionList/DescriptionList.module.cjs.map +1 -1
  445. package/dist/components/DescriptionList/DescriptionList.module.js.map +1 -1
  446. package/dist/components/Divider/Divider.cjs.map +1 -1
  447. package/dist/components/Divider/Divider.js.map +1 -1
  448. package/dist/components/Divider/Divider.module.cjs.map +1 -1
  449. package/dist/components/Divider/Divider.module.js.map +1 -1
  450. package/dist/components/Drawer/Drawer.cjs.map +1 -1
  451. package/dist/components/Drawer/Drawer.js.map +1 -1
  452. package/dist/components/Drawer/Drawer.module.cjs.map +1 -1
  453. package/dist/components/Drawer/Drawer.module.js.map +1 -1
  454. package/dist/components/DropdownMenu/DropdownMenu.cjs +1 -1
  455. package/dist/components/DropdownMenu/DropdownMenu.cjs.map +1 -1
  456. package/dist/components/DropdownMenu/DropdownMenu.js +2 -14
  457. package/dist/components/DropdownMenu/DropdownMenu.js.map +1 -1
  458. package/dist/components/DropdownMenu/DropdownMenu.module.cjs.map +1 -1
  459. package/dist/components/DropdownMenu/DropdownMenu.module.js.map +1 -1
  460. package/dist/components/Dropzone/Dropzone.cjs.map +1 -1
  461. package/dist/components/Dropzone/Dropzone.js.map +1 -1
  462. package/dist/components/Dropzone/Dropzone.module.cjs.map +1 -1
  463. package/dist/components/Dropzone/Dropzone.module.js.map +1 -1
  464. package/dist/components/EmptyState/EmptyState.cjs.map +1 -1
  465. package/dist/components/EmptyState/EmptyState.js.map +1 -1
  466. package/dist/components/EmptyState/EmptyState.module.cjs.map +1 -1
  467. package/dist/components/EmptyState/EmptyState.module.js.map +1 -1
  468. package/dist/components/ErrorState/ErrorState.cjs.map +1 -1
  469. package/dist/components/ErrorState/ErrorState.js.map +1 -1
  470. package/dist/components/ErrorState/ErrorState.module.cjs.map +1 -1
  471. package/dist/components/ErrorState/ErrorState.module.js.map +1 -1
  472. package/dist/components/ErrorText/ErrorText.cjs.map +1 -1
  473. package/dist/components/ErrorText/ErrorText.js.map +1 -1
  474. package/dist/components/ErrorText/ErrorText.module.cjs.map +1 -1
  475. package/dist/components/ErrorText/ErrorText.module.js.map +1 -1
  476. package/dist/components/FileUpload/FileUpload.cjs +1 -1
  477. package/dist/components/FileUpload/FileUpload.cjs.map +1 -1
  478. package/dist/components/FileUpload/FileUpload.js +7 -17
  479. package/dist/components/FileUpload/FileUpload.js.map +1 -1
  480. package/dist/components/FileUpload/FileUpload.module.cjs.map +1 -1
  481. package/dist/components/FileUpload/FileUpload.module.js.map +1 -1
  482. package/dist/components/FilterBar/FilterBar.cjs.map +1 -1
  483. package/dist/components/FilterBar/FilterBar.js.map +1 -1
  484. package/dist/components/FilterBar/FilterBar.module.cjs.map +1 -1
  485. package/dist/components/FilterBar/FilterBar.module.js.map +1 -1
  486. package/dist/components/FilterBar/filter-apply.cjs.map +1 -1
  487. package/dist/components/FilterBar/filter-apply.js.map +1 -1
  488. package/dist/components/FilterBar/filter-model.cjs.map +1 -1
  489. package/dist/components/FilterBar/filter-model.js.map +1 -1
  490. package/dist/components/FilterBar/filter-query.cjs +1 -1
  491. package/dist/components/FilterBar/filter-query.cjs.map +1 -1
  492. package/dist/components/FilterBar/filter-query.js +2 -5
  493. package/dist/components/FilterBar/filter-query.js.map +1 -1
  494. package/dist/components/FilterPanel/FilterPanel.cjs.map +1 -1
  495. package/dist/components/FilterPanel/FilterPanel.js.map +1 -1
  496. package/dist/components/FilterPanel/FilterPanel.module.cjs.map +1 -1
  497. package/dist/components/FilterPanel/FilterPanel.module.js.map +1 -1
  498. package/dist/components/FloatingActionButton/FloatingActionButton.cjs.map +1 -1
  499. package/dist/components/FloatingActionButton/FloatingActionButton.js.map +1 -1
  500. package/dist/components/FloatingActionButton/FloatingActionButton.module.cjs.map +1 -1
  501. package/dist/components/FloatingActionButton/FloatingActionButton.module.js.map +1 -1
  502. package/dist/components/For/For.cjs.map +1 -1
  503. package/dist/components/For/For.js.map +1 -1
  504. package/dist/components/Form/Form.cjs.map +1 -1
  505. package/dist/components/Form/Form.js.map +1 -1
  506. package/dist/components/Form/Form.module.cjs.map +1 -1
  507. package/dist/components/Form/Form.module.js.map +1 -1
  508. package/dist/components/HoverCard/HoverCard.cjs.map +1 -1
  509. package/dist/components/HoverCard/HoverCard.js.map +1 -1
  510. package/dist/components/HoverCard/HoverCard.module.cjs.map +1 -1
  511. package/dist/components/HoverCard/HoverCard.module.js.map +1 -1
  512. package/dist/components/Image/Image.cjs.map +1 -1
  513. package/dist/components/Image/Image.js.map +1 -1
  514. package/dist/components/Image/Image.module.cjs.map +1 -1
  515. package/dist/components/Image/Image.module.js.map +1 -1
  516. package/dist/components/ImageCropper/ImageCropper.cjs +1 -1
  517. package/dist/components/ImageCropper/ImageCropper.cjs.map +1 -1
  518. package/dist/components/ImageCropper/ImageCropper.js +4 -8
  519. package/dist/components/ImageCropper/ImageCropper.js.map +1 -1
  520. package/dist/components/ImageCropper/ImageCropper.module.cjs.map +1 -1
  521. package/dist/components/ImageCropper/ImageCropper.module.js.map +1 -1
  522. package/dist/components/ImageCropper/crop-geometry.cjs.map +1 -1
  523. package/dist/components/ImageCropper/crop-geometry.js.map +1 -1
  524. package/dist/components/Input/Input.cjs.map +1 -1
  525. package/dist/components/Input/Input.js.map +1 -1
  526. package/dist/components/Input/Input.module.cjs.map +1 -1
  527. package/dist/components/Input/Input.module.js.map +1 -1
  528. package/dist/components/InstallBanner/InstallBanner.cjs.map +1 -1
  529. package/dist/components/InstallBanner/InstallBanner.js.map +1 -1
  530. package/dist/components/InstallBanner/InstallBanner.module.cjs.map +1 -1
  531. package/dist/components/InstallBanner/InstallBanner.module.js.map +1 -1
  532. package/dist/components/InstallButton/InstallButton.cjs.map +1 -1
  533. package/dist/components/InstallButton/InstallButton.js.map +1 -1
  534. package/dist/components/InstallButton/InstallButton.module.cjs.map +1 -1
  535. package/dist/components/InstallButton/InstallButton.module.js.map +1 -1
  536. package/dist/components/InstallButton/install-hints.cjs.map +1 -1
  537. package/dist/components/InstallButton/install-hints.js.map +1 -1
  538. package/dist/components/Kanban/Kanban.cjs.map +1 -1
  539. package/dist/components/Kanban/Kanban.js.map +1 -1
  540. package/dist/components/Kanban/Kanban.module.cjs.map +1 -1
  541. package/dist/components/Kanban/Kanban.module.js.map +1 -1
  542. package/dist/components/Kbd/Kbd.cjs.map +1 -1
  543. package/dist/components/Kbd/Kbd.js.map +1 -1
  544. package/dist/components/Kbd/Kbd.module.cjs.map +1 -1
  545. package/dist/components/Kbd/Kbd.module.js.map +1 -1
  546. package/dist/components/Label/Label.cjs.map +1 -1
  547. package/dist/components/Label/Label.js.map +1 -1
  548. package/dist/components/Label/Label.module.cjs.map +1 -1
  549. package/dist/components/Label/Label.module.js.map +1 -1
  550. package/dist/components/Layout/Layout.cjs.map +1 -1
  551. package/dist/components/Layout/Layout.js.map +1 -1
  552. package/dist/components/Layout/Layout.module.cjs.map +1 -1
  553. package/dist/components/Layout/Layout.module.js.map +1 -1
  554. package/dist/components/Lightbox/Lightbox.cjs +1 -1
  555. package/dist/components/Lightbox/Lightbox.cjs.map +1 -1
  556. package/dist/components/Lightbox/Lightbox.js +1 -1
  557. package/dist/components/Lightbox/Lightbox.js.map +1 -1
  558. package/dist/components/Lightbox/Lightbox.module.cjs.map +1 -1
  559. package/dist/components/Lightbox/Lightbox.module.js.map +1 -1
  560. package/dist/components/ListTile/ListTile.cjs.map +1 -1
  561. package/dist/components/ListTile/ListTile.js.map +1 -1
  562. package/dist/components/ListTile/ListTile.module.cjs.map +1 -1
  563. package/dist/components/ListTile/ListTile.module.js.map +1 -1
  564. package/dist/components/Markdown/Markdown.cjs.map +1 -1
  565. package/dist/components/Markdown/Markdown.js.map +1 -1
  566. package/dist/components/Markdown/Markdown.module.cjs.map +1 -1
  567. package/dist/components/Markdown/Markdown.module.js.map +1 -1
  568. package/dist/components/Markdown/markdown-parse.cjs +2 -2
  569. package/dist/components/Markdown/markdown-parse.cjs.map +1 -1
  570. package/dist/components/Markdown/markdown-parse.js +8 -27
  571. package/dist/components/Markdown/markdown-parse.js.map +1 -1
  572. package/dist/components/Masonry/Masonry.cjs.map +1 -1
  573. package/dist/components/Masonry/Masonry.js.map +1 -1
  574. package/dist/components/Masonry/Masonry.module.cjs.map +1 -1
  575. package/dist/components/Masonry/Masonry.module.js.map +1 -1
  576. package/dist/components/Masonry/masonry-layout.cjs.map +1 -1
  577. package/dist/components/Masonry/masonry-layout.js.map +1 -1
  578. package/dist/components/Menubar/Menubar.cjs.map +1 -1
  579. package/dist/components/Menubar/Menubar.js.map +1 -1
  580. package/dist/components/Menubar/Menubar.module.cjs.map +1 -1
  581. package/dist/components/Menubar/Menubar.module.js.map +1 -1
  582. package/dist/components/Modal/Modal.cjs.map +1 -1
  583. package/dist/components/Modal/Modal.js.map +1 -1
  584. package/dist/components/Modal/Modal.module.cjs.map +1 -1
  585. package/dist/components/Modal/Modal.module.js.map +1 -1
  586. package/dist/components/ModalsManager/ModalsManager.cjs.map +1 -1
  587. package/dist/components/ModalsManager/ModalsManager.js.map +1 -1
  588. package/dist/components/ModalsManager/ModalsManager.module.cjs.map +1 -1
  589. package/dist/components/ModalsManager/ModalsManager.module.js.map +1 -1
  590. package/dist/components/Money/Money.cjs.map +1 -1
  591. package/dist/components/Money/Money.js.map +1 -1
  592. package/dist/components/MultiSelect/MultiSelect.cjs.map +1 -1
  593. package/dist/components/MultiSelect/MultiSelect.js.map +1 -1
  594. package/dist/components/MultiSelect/MultiSelect.module.cjs.map +1 -1
  595. package/dist/components/MultiSelect/MultiSelect.module.js.map +1 -1
  596. package/dist/components/NProgress/NProgress.cjs.map +1 -1
  597. package/dist/components/NProgress/NProgress.js.map +1 -1
  598. package/dist/components/NProgress/NProgress.module.cjs.map +1 -1
  599. package/dist/components/NProgress/NProgress.module.js.map +1 -1
  600. package/dist/components/Navbar/Navbar.cjs.map +1 -1
  601. package/dist/components/Navbar/Navbar.js.map +1 -1
  602. package/dist/components/Navbar/Navbar.module.cjs.map +1 -1
  603. package/dist/components/Navbar/Navbar.module.js.map +1 -1
  604. package/dist/components/NavigationMenu/NavigationMenu.cjs.map +1 -1
  605. package/dist/components/NavigationMenu/NavigationMenu.js.map +1 -1
  606. package/dist/components/NavigationMenu/NavigationMenu.module.cjs.map +1 -1
  607. package/dist/components/NavigationMenu/NavigationMenu.module.js.map +1 -1
  608. package/dist/components/NavigationRail/NavigationRail.cjs.map +1 -1
  609. package/dist/components/NavigationRail/NavigationRail.js.map +1 -1
  610. package/dist/components/NavigationRail/NavigationRail.module.cjs.map +1 -1
  611. package/dist/components/NavigationRail/NavigationRail.module.js.map +1 -1
  612. package/dist/components/NotificationCenter/NotificationCenter.cjs.map +1 -1
  613. package/dist/components/NotificationCenter/NotificationCenter.js.map +1 -1
  614. package/dist/components/NotificationCenter/NotificationCenter.module.cjs.map +1 -1
  615. package/dist/components/NotificationCenter/NotificationCenter.module.js.map +1 -1
  616. package/dist/components/NotificationCenter/use-notification-inbox.cjs.map +1 -1
  617. package/dist/components/NotificationCenter/use-notification-inbox.js.map +1 -1
  618. package/dist/components/OfflineIndicator/OfflineIndicator.cjs.map +1 -1
  619. package/dist/components/OfflineIndicator/OfflineIndicator.js.map +1 -1
  620. package/dist/components/OfflineIndicator/OfflineIndicator.module.cjs.map +1 -1
  621. package/dist/components/OfflineIndicator/OfflineIndicator.module.js.map +1 -1
  622. package/dist/components/Page/Page.cjs.map +1 -1
  623. package/dist/components/Page/Page.js.map +1 -1
  624. package/dist/components/Page/Page.module.cjs.map +1 -1
  625. package/dist/components/Page/Page.module.js.map +1 -1
  626. package/dist/components/Pagination/Pagination.cjs.map +1 -1
  627. package/dist/components/Pagination/Pagination.js.map +1 -1
  628. package/dist/components/Pagination/Pagination.module.cjs.map +1 -1
  629. package/dist/components/Pagination/Pagination.module.js.map +1 -1
  630. package/dist/components/PasswordInput/PasswordInput.cjs.map +1 -1
  631. package/dist/components/PasswordInput/PasswordInput.js.map +1 -1
  632. package/dist/components/PasswordInput/PasswordInput.module.cjs.map +1 -1
  633. package/dist/components/PasswordInput/PasswordInput.module.js.map +1 -1
  634. package/dist/components/PinInput/PinInput.cjs.map +1 -1
  635. package/dist/components/PinInput/PinInput.js.map +1 -1
  636. package/dist/components/PinInput/PinInput.module.cjs.map +1 -1
  637. package/dist/components/PinInput/PinInput.module.js.map +1 -1
  638. package/dist/components/Popover/Popover.cjs.map +1 -1
  639. package/dist/components/Popover/Popover.js.map +1 -1
  640. package/dist/components/Popover/Popover.module.cjs.map +1 -1
  641. package/dist/components/Popover/Popover.module.js.map +1 -1
  642. package/dist/components/Portal/Portal.cjs.map +1 -1
  643. package/dist/components/Portal/Portal.js.map +1 -1
  644. package/dist/components/Portal/anchor-position.cjs.map +1 -1
  645. package/dist/components/Portal/anchor-position.js.map +1 -1
  646. package/dist/components/Portal/escape-layer.cjs.map +1 -1
  647. package/dist/components/Portal/escape-layer.js.map +1 -1
  648. package/dist/components/Portal/portal-host.cjs.map +1 -1
  649. package/dist/components/Portal/portal-host.js.map +1 -1
  650. package/dist/components/Portal/tab-bridge.cjs +1 -1
  651. package/dist/components/Portal/tab-bridge.cjs.map +1 -1
  652. package/dist/components/Portal/tab-bridge.js +1 -5
  653. package/dist/components/Portal/tab-bridge.js.map +1 -1
  654. package/dist/components/Progress/Progress.cjs.map +1 -1
  655. package/dist/components/Progress/Progress.js.map +1 -1
  656. package/dist/components/Progress/Progress.module.cjs.map +1 -1
  657. package/dist/components/Progress/Progress.module.js.map +1 -1
  658. package/dist/components/QRCode/QRCode.cjs.map +1 -1
  659. package/dist/components/QRCode/QRCode.js.map +1 -1
  660. package/dist/components/QRCode/QRCode.module.cjs.map +1 -1
  661. package/dist/components/QRCode/QRCode.module.js.map +1 -1
  662. package/dist/components/QRCode/qr-encode.cjs +1 -1
  663. package/dist/components/QRCode/qr-encode.cjs.map +1 -1
  664. package/dist/components/QRCode/qr-encode.js +7 -13
  665. package/dist/components/QRCode/qr-encode.js.map +1 -1
  666. package/dist/components/QRCode/qr-tables.cjs.map +1 -1
  667. package/dist/components/QRCode/qr-tables.js.map +1 -1
  668. package/dist/components/Radio/Radio.cjs.map +1 -1
  669. package/dist/components/Radio/Radio.js.map +1 -1
  670. package/dist/components/Radio/Radio.module.cjs.map +1 -1
  671. package/dist/components/Radio/Radio.module.js.map +1 -1
  672. package/dist/components/RangeSlider/RangeSlider.cjs.map +1 -1
  673. package/dist/components/RangeSlider/RangeSlider.js.map +1 -1
  674. package/dist/components/RangeSlider/RangeSlider.module.cjs.map +1 -1
  675. package/dist/components/RangeSlider/RangeSlider.module.js.map +1 -1
  676. package/dist/components/RatingStars/RatingStars.cjs.map +1 -1
  677. package/dist/components/RatingStars/RatingStars.js.map +1 -1
  678. package/dist/components/RatingStars/RatingStars.module.cjs.map +1 -1
  679. package/dist/components/RatingStars/RatingStars.module.js.map +1 -1
  680. package/dist/components/RefreshIndicator/RefreshIndicator.cjs +1 -1
  681. package/dist/components/RefreshIndicator/RefreshIndicator.cjs.map +1 -1
  682. package/dist/components/RefreshIndicator/RefreshIndicator.js +10 -18
  683. package/dist/components/RefreshIndicator/RefreshIndicator.js.map +1 -1
  684. package/dist/components/RefreshIndicator/RefreshIndicator.module.cjs.map +1 -1
  685. package/dist/components/RefreshIndicator/RefreshIndicator.module.js.map +1 -1
  686. package/dist/components/RelativeTime/RelativeTime.cjs.map +1 -1
  687. package/dist/components/RelativeTime/RelativeTime.js.map +1 -1
  688. package/dist/components/Resizable/Resizable.cjs +1 -1
  689. package/dist/components/Resizable/Resizable.cjs.map +1 -1
  690. package/dist/components/Resizable/Resizable.js +1 -9
  691. package/dist/components/Resizable/Resizable.js.map +1 -1
  692. package/dist/components/Resizable/Resizable.module.cjs.map +1 -1
  693. package/dist/components/Resizable/Resizable.module.js.map +1 -1
  694. package/dist/components/Responsive/Responsive.cjs.map +1 -1
  695. package/dist/components/Responsive/Responsive.js.map +1 -1
  696. package/dist/components/Reveal/Reveal.cjs.map +1 -1
  697. package/dist/components/Reveal/Reveal.js.map +1 -1
  698. package/dist/components/Reveal/Reveal.module.cjs.map +1 -1
  699. package/dist/components/Reveal/Reveal.module.js.map +1 -1
  700. package/dist/components/Reveal/reveal-threshold.cjs.map +1 -1
  701. package/dist/components/Reveal/reveal-threshold.js.map +1 -1
  702. package/dist/components/SafeArea/SafeArea.cjs.map +1 -1
  703. package/dist/components/SafeArea/SafeArea.js.map +1 -1
  704. package/dist/components/SafeArea/SafeArea.module.cjs.map +1 -1
  705. package/dist/components/SafeArea/SafeArea.module.js.map +1 -1
  706. package/dist/components/Scheduler/Scheduler.cjs.map +1 -1
  707. package/dist/components/Scheduler/Scheduler.js.map +1 -1
  708. package/dist/components/Scheduler/Scheduler.module.cjs.map +1 -1
  709. package/dist/components/Scheduler/Scheduler.module.js.map +1 -1
  710. package/dist/components/Scheduler/scheduler-layout.cjs.map +1 -1
  711. package/dist/components/Scheduler/scheduler-layout.js.map +1 -1
  712. package/dist/components/ScrollArea/ScrollArea.cjs.map +1 -1
  713. package/dist/components/ScrollArea/ScrollArea.js.map +1 -1
  714. package/dist/components/ScrollArea/ScrollArea.module.cjs.map +1 -1
  715. package/dist/components/ScrollArea/ScrollArea.module.js.map +1 -1
  716. package/dist/components/SearchBar/SearchBar.cjs.map +1 -1
  717. package/dist/components/SearchBar/SearchBar.js.map +1 -1
  718. package/dist/components/SearchBar/SearchBar.module.cjs.map +1 -1
  719. package/dist/components/SearchBar/SearchBar.module.js.map +1 -1
  720. package/dist/components/SectionHeader/SectionHeader.cjs.map +1 -1
  721. package/dist/components/SectionHeader/SectionHeader.js.map +1 -1
  722. package/dist/components/SectionHeader/SectionHeader.module.cjs.map +1 -1
  723. package/dist/components/SectionHeader/SectionHeader.module.js.map +1 -1
  724. package/dist/components/SegmentedControl/SegmentedControl.cjs.map +1 -1
  725. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  726. package/dist/components/SegmentedControl/SegmentedControl.module.cjs.map +1 -1
  727. package/dist/components/SegmentedControl/SegmentedControl.module.js.map +1 -1
  728. package/dist/components/Select/CaretIcon.cjs.map +1 -1
  729. package/dist/components/Select/CaretIcon.js.map +1 -1
  730. package/dist/components/Select/Select.cjs.map +1 -1
  731. package/dist/components/Select/Select.js.map +1 -1
  732. package/dist/components/Select/Select.module.cjs.map +1 -1
  733. package/dist/components/Select/Select.module.js.map +1 -1
  734. package/dist/components/Select/options.cjs.map +1 -1
  735. package/dist/components/Select/options.js.map +1 -1
  736. package/dist/components/Sidebar/Sidebar.cjs +1 -1
  737. package/dist/components/Sidebar/Sidebar.cjs.map +1 -1
  738. package/dist/components/Sidebar/Sidebar.js +13 -23
  739. package/dist/components/Sidebar/Sidebar.js.map +1 -1
  740. package/dist/components/Sidebar/Sidebar.module.cjs.map +1 -1
  741. package/dist/components/Sidebar/Sidebar.module.js.map +1 -1
  742. package/dist/components/Sidebar/SidebarEntry.cjs.map +1 -1
  743. package/dist/components/Sidebar/SidebarEntry.js.map +1 -1
  744. package/dist/components/Sidebar/active-nav-key.cjs.map +1 -1
  745. package/dist/components/Sidebar/active-nav-key.js.map +1 -1
  746. package/dist/components/SignaturePad/SignaturePad.cjs +1 -1
  747. package/dist/components/SignaturePad/SignaturePad.cjs.map +1 -1
  748. package/dist/components/SignaturePad/SignaturePad.js +1 -5
  749. package/dist/components/SignaturePad/SignaturePad.js.map +1 -1
  750. package/dist/components/SignaturePad/SignaturePad.module.cjs.map +1 -1
  751. package/dist/components/SignaturePad/SignaturePad.module.js.map +1 -1
  752. package/dist/components/Skeleton/Skeleton.cjs.map +1 -1
  753. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  754. package/dist/components/Skeleton/Skeleton.module.cjs.map +1 -1
  755. package/dist/components/Skeleton/Skeleton.module.js.map +1 -1
  756. package/dist/components/Slider/Slider.cjs.map +1 -1
  757. package/dist/components/Slider/Slider.js.map +1 -1
  758. package/dist/components/Slider/Slider.module.cjs.map +1 -1
  759. package/dist/components/Slider/Slider.module.js.map +1 -1
  760. package/dist/components/Spacer/Spacer.cjs.map +1 -1
  761. package/dist/components/Spacer/Spacer.js.map +1 -1
  762. package/dist/components/Spacer/Spacer.module.cjs.map +1 -1
  763. package/dist/components/Spacer/Spacer.module.js.map +1 -1
  764. package/dist/components/Sparkline/Sparkline.cjs.map +1 -1
  765. package/dist/components/Sparkline/Sparkline.js.map +1 -1
  766. package/dist/components/Sparkline/Sparkline.module.cjs.map +1 -1
  767. package/dist/components/Sparkline/Sparkline.module.js.map +1 -1
  768. package/dist/components/Sparkline/sparkline-geometry.cjs.map +1 -1
  769. package/dist/components/Sparkline/sparkline-geometry.js.map +1 -1
  770. package/dist/components/Spinner/Spinner.cjs.map +1 -1
  771. package/dist/components/Spinner/Spinner.js.map +1 -1
  772. package/dist/components/Spinner/Spinner.module.cjs.map +1 -1
  773. package/dist/components/Spinner/Spinner.module.js.map +1 -1
  774. package/dist/components/Stat/Stat.cjs.map +1 -1
  775. package/dist/components/Stat/Stat.js.map +1 -1
  776. package/dist/components/Stat/Stat.module.cjs.map +1 -1
  777. package/dist/components/Stat/Stat.module.js.map +1 -1
  778. package/dist/components/Stepper/Stepper.cjs.map +1 -1
  779. package/dist/components/Stepper/Stepper.js.map +1 -1
  780. package/dist/components/Stepper/Stepper.module.cjs.map +1 -1
  781. package/dist/components/Stepper/Stepper.module.js.map +1 -1
  782. package/dist/components/StepperInput/StepperInput.cjs.map +1 -1
  783. package/dist/components/StepperInput/StepperInput.js.map +1 -1
  784. package/dist/components/StepperInput/StepperInput.module.cjs.map +1 -1
  785. package/dist/components/StepperInput/StepperInput.module.js.map +1 -1
  786. package/dist/components/Switch/Switch.cjs.map +1 -1
  787. package/dist/components/Switch/Switch.js.map +1 -1
  788. package/dist/components/Switch/Switch.module.cjs.map +1 -1
  789. package/dist/components/Switch/Switch.module.js.map +1 -1
  790. package/dist/components/SyncStatusBadge/SyncStatusBadge.cjs.map +1 -1
  791. package/dist/components/SyncStatusBadge/SyncStatusBadge.js.map +1 -1
  792. package/dist/components/SyncStatusBadge/SyncStatusBadge.module.cjs.map +1 -1
  793. package/dist/components/SyncStatusBadge/SyncStatusBadge.module.js.map +1 -1
  794. package/dist/components/Table/Table.cjs.map +1 -1
  795. package/dist/components/Table/Table.js.map +1 -1
  796. package/dist/components/Table/Table.module.cjs.map +1 -1
  797. package/dist/components/Table/Table.module.js.map +1 -1
  798. package/dist/components/Tabs/Tabs.cjs.map +1 -1
  799. package/dist/components/Tabs/Tabs.js.map +1 -1
  800. package/dist/components/Tabs/Tabs.module.cjs.map +1 -1
  801. package/dist/components/Tabs/Tabs.module.js.map +1 -1
  802. package/dist/components/Tag/Tag.cjs.map +1 -1
  803. package/dist/components/Tag/Tag.js.map +1 -1
  804. package/dist/components/Tag/Tag.module.cjs.map +1 -1
  805. package/dist/components/Tag/Tag.module.js.map +1 -1
  806. package/dist/components/Textarea/Textarea.cjs.map +1 -1
  807. package/dist/components/Textarea/Textarea.js.map +1 -1
  808. package/dist/components/Textarea/Textarea.module.cjs.map +1 -1
  809. package/dist/components/Textarea/Textarea.module.js.map +1 -1
  810. package/dist/components/TimePicker/TimePicker.cjs.map +1 -1
  811. package/dist/components/TimePicker/TimePicker.js.map +1 -1
  812. package/dist/components/TimePicker/TimePicker.module.cjs.map +1 -1
  813. package/dist/components/TimePicker/TimePicker.module.js.map +1 -1
  814. package/dist/components/Timeline/Timeline.cjs.map +1 -1
  815. package/dist/components/Timeline/Timeline.js.map +1 -1
  816. package/dist/components/Timeline/Timeline.module.cjs.map +1 -1
  817. package/dist/components/Timeline/Timeline.module.js.map +1 -1
  818. package/dist/components/Toast/Toast.module.cjs.map +1 -1
  819. package/dist/components/Toast/Toast.module.js.map +1 -1
  820. package/dist/components/Toast/ToastProvider.cjs.map +1 -1
  821. package/dist/components/Toast/ToastProvider.js.map +1 -1
  822. package/dist/components/Toggle/Toggle.cjs.map +1 -1
  823. package/dist/components/Toggle/Toggle.js.map +1 -1
  824. package/dist/components/Toggle/Toggle.module.cjs.map +1 -1
  825. package/dist/components/Toggle/Toggle.module.js.map +1 -1
  826. package/dist/components/ToggleGroup/ToggleGroup.cjs.map +1 -1
  827. package/dist/components/ToggleGroup/ToggleGroup.js.map +1 -1
  828. package/dist/components/ToggleGroup/ToggleGroup.module.cjs.map +1 -1
  829. package/dist/components/ToggleGroup/ToggleGroup.module.js.map +1 -1
  830. package/dist/components/Tooltip/Tooltip.cjs.map +1 -1
  831. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  832. package/dist/components/Tooltip/Tooltip.module.cjs.map +1 -1
  833. package/dist/components/Tooltip/Tooltip.module.js.map +1 -1
  834. package/dist/components/Tour/Tour.cjs +1 -1
  835. package/dist/components/Tour/Tour.cjs.map +1 -1
  836. package/dist/components/Tour/Tour.js +1 -5
  837. package/dist/components/Tour/Tour.js.map +1 -1
  838. package/dist/components/Tour/Tour.module.cjs.map +1 -1
  839. package/dist/components/Tour/Tour.module.js.map +1 -1
  840. package/dist/components/Tour/tour-position.cjs.map +1 -1
  841. package/dist/components/Tour/tour-position.js.map +1 -1
  842. package/dist/components/Transfer/Transfer.cjs.map +1 -1
  843. package/dist/components/Transfer/Transfer.js.map +1 -1
  844. package/dist/components/Transfer/Transfer.module.cjs.map +1 -1
  845. package/dist/components/Transfer/Transfer.module.js.map +1 -1
  846. package/dist/components/Transfer/transfer-state.cjs.map +1 -1
  847. package/dist/components/Transfer/transfer-state.js.map +1 -1
  848. package/dist/components/TreeView/TreeView.cjs.map +1 -1
  849. package/dist/components/TreeView/TreeView.js.map +1 -1
  850. package/dist/components/TreeView/TreeView.module.cjs.map +1 -1
  851. package/dist/components/TreeView/TreeView.module.js.map +1 -1
  852. package/dist/components/TruncateText/TruncateText.cjs.map +1 -1
  853. package/dist/components/TruncateText/TruncateText.js.map +1 -1
  854. package/dist/components/TruncateText/TruncateText.module.cjs.map +1 -1
  855. package/dist/components/TruncateText/TruncateText.module.js.map +1 -1
  856. package/dist/components/UpdatePrompt/UpdatePrompt.cjs.map +1 -1
  857. package/dist/components/UpdatePrompt/UpdatePrompt.js.map +1 -1
  858. package/dist/components/UpdatePrompt/UpdatePrompt.module.cjs.map +1 -1
  859. package/dist/components/UpdatePrompt/UpdatePrompt.module.js.map +1 -1
  860. package/dist/components/VideoPlayer/VideoPlayer.cjs +1 -1
  861. package/dist/components/VideoPlayer/VideoPlayer.cjs.map +1 -1
  862. package/dist/components/VideoPlayer/VideoPlayer.js +1 -7
  863. package/dist/components/VideoPlayer/VideoPlayer.js.map +1 -1
  864. package/dist/components/VideoPlayer/VideoPlayer.module.cjs.map +1 -1
  865. package/dist/components/VideoPlayer/VideoPlayer.module.js.map +1 -1
  866. package/dist/components/VideoPlayer/playback-rates.cjs.map +1 -1
  867. package/dist/components/VideoPlayer/playback-rates.js.map +1 -1
  868. package/dist/components/VirtualList/VirtualList.cjs.map +1 -1
  869. package/dist/components/VirtualList/VirtualList.js.map +1 -1
  870. package/dist/components/VirtualList/VirtualList.module.cjs.map +1 -1
  871. package/dist/components/VirtualList/VirtualList.module.js.map +1 -1
  872. package/dist/components/VirtualTable/VirtualTable.cjs.map +1 -1
  873. package/dist/components/VirtualTable/VirtualTable.js.map +1 -1
  874. package/dist/components/VirtualTable/VirtualTable.module.cjs.map +1 -1
  875. package/dist/components/VirtualTable/VirtualTable.module.js.map +1 -1
  876. package/dist/components/VisuallyHidden/VisuallyHidden.cjs.map +1 -1
  877. package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  878. package/dist/components/VisuallyHidden/VisuallyHidden.module.cjs.map +1 -1
  879. package/dist/components/VisuallyHidden/VisuallyHidden.module.js.map +1 -1
  880. package/dist/components/Wizard/Wizard.cjs +1 -1
  881. package/dist/components/Wizard/Wizard.cjs.map +1 -1
  882. package/dist/components/Wizard/Wizard.js +4 -11
  883. package/dist/components/Wizard/Wizard.js.map +1 -1
  884. package/dist/components/Wizard/Wizard.module.cjs.map +1 -1
  885. package/dist/components/Wizard/Wizard.module.js.map +1 -1
  886. package/dist/data/create-data-provider.cjs.map +1 -1
  887. package/dist/data/create-data-provider.js.map +1 -1
  888. package/dist/data/data-provider-context.cjs.map +1 -1
  889. package/dist/data/data-provider-context.js.map +1 -1
  890. package/dist/data/use-resource.cjs.map +1 -1
  891. package/dist/data/use-resource.js.map +1 -1
  892. package/dist/editor/RichTextEditor.cjs.map +1 -1
  893. package/dist/editor/RichTextEditor.js.map +1 -1
  894. package/dist/editor/RichTextEditor.module.cjs.map +1 -1
  895. package/dist/editor/RichTextEditor.module.js.map +1 -1
  896. package/dist/editor.js +1 -2
  897. package/dist/error-boundary/ErrorBoundary.cjs.map +1 -1
  898. package/dist/error-boundary/ErrorBoundary.js.map +1 -1
  899. package/dist/error-boundary/use-error-handler.cjs.map +1 -1
  900. package/dist/error-boundary/use-error-handler.js.map +1 -1
  901. package/dist/feature-flags/FeatureFlagsProvider.cjs.map +1 -1
  902. package/dist/feature-flags/FeatureFlagsProvider.js.map +1 -1
  903. package/dist/feature-flags/growthbook-adapter.cjs.map +1 -1
  904. package/dist/feature-flags/growthbook-adapter.js.map +1 -1
  905. package/dist/feature-flags/in-memory-adapter.cjs.map +1 -1
  906. package/dist/feature-flags/in-memory-adapter.js.map +1 -1
  907. package/dist/feature-flags/launchdarkly-adapter.cjs.map +1 -1
  908. package/dist/feature-flags/launchdarkly-adapter.js.map +1 -1
  909. package/dist/forms/FormField.cjs.map +1 -1
  910. package/dist/forms/FormField.js.map +1 -1
  911. package/dist/forms/br-validators.cjs.map +1 -1
  912. package/dist/forms/br-validators.js.map +1 -1
  913. package/dist/forms/masked-inputs.cjs.map +1 -1
  914. package/dist/forms/masked-inputs.js.map +1 -1
  915. package/dist/forms/use-viacep.cjs.map +1 -1
  916. package/dist/forms/use-viacep.js.map +1 -1
  917. package/dist/forms/use-zod-form.cjs.map +1 -1
  918. package/dist/forms/use-zod-form.js.map +1 -1
  919. package/dist/forms/validate-form.cjs.map +1 -1
  920. package/dist/forms/validate-form.js.map +1 -1
  921. package/dist/forms/zod-resolver.cjs.map +1 -1
  922. package/dist/forms/zod-resolver.js.map +1 -1
  923. package/dist/geo/TrajectoryMap.cjs.map +1 -1
  924. package/dist/geo/TrajectoryMap.js.map +1 -1
  925. package/dist/geo/TrajectoryMap.module.cjs.map +1 -1
  926. package/dist/geo/TrajectoryMap.module.js.map +1 -1
  927. package/dist/geo/bounds.cjs.map +1 -1
  928. package/dist/geo/bounds.js.map +1 -1
  929. package/dist/geo/create-position-tracker.cjs +1 -1
  930. package/dist/geo/create-position-tracker.cjs.map +1 -1
  931. package/dist/geo/create-position-tracker.js +1 -7
  932. package/dist/geo/create-position-tracker.js.map +1 -1
  933. package/dist/geo/distance.cjs.map +1 -1
  934. package/dist/geo/distance.js.map +1 -1
  935. package/dist/geo/estimate.cjs.map +1 -1
  936. package/dist/geo/estimate.js.map +1 -1
  937. package/dist/geo/leaflet-map.cjs.map +1 -1
  938. package/dist/geo/leaflet-map.js.map +1 -1
  939. package/dist/geo/projection.cjs.map +1 -1
  940. package/dist/geo/projection.js.map +1 -1
  941. package/dist/geo/routing.cjs.map +1 -1
  942. package/dist/geo/routing.js.map +1 -1
  943. package/dist/geo/types.cjs.map +1 -1
  944. package/dist/geo/types.js.map +1 -1
  945. package/dist/geo/use-position-tracker.cjs.map +1 -1
  946. package/dist/geo/use-position-tracker.js.map +1 -1
  947. package/dist/hooks/pwa-env.cjs.map +1 -1
  948. package/dist/hooks/pwa-env.js.map +1 -1
  949. package/dist/hooks/tab-sequence.cjs.map +1 -1
  950. package/dist/hooks/tab-sequence.js.map +1 -1
  951. package/dist/hooks/use-announce.cjs +1 -1
  952. package/dist/hooks/use-announce.cjs.map +1 -1
  953. package/dist/hooks/use-announce.js +2 -2
  954. package/dist/hooks/use-announce.js.map +1 -1
  955. package/dist/hooks/use-async.cjs.map +1 -1
  956. package/dist/hooks/use-async.js.map +1 -1
  957. package/dist/hooks/use-before-install-prompt.cjs.map +1 -1
  958. package/dist/hooks/use-before-install-prompt.js.map +1 -1
  959. package/dist/hooks/use-breakpoint.cjs.map +1 -1
  960. package/dist/hooks/use-breakpoint.js.map +1 -1
  961. package/dist/hooks/use-click-outside.cjs.map +1 -1
  962. package/dist/hooks/use-click-outside.js.map +1 -1
  963. package/dist/hooks/use-client-filter.cjs.map +1 -1
  964. package/dist/hooks/use-client-filter.js.map +1 -1
  965. package/dist/hooks/use-clipboard.cjs.map +1 -1
  966. package/dist/hooks/use-clipboard.js.map +1 -1
  967. package/dist/hooks/use-countdown.cjs.map +1 -1
  968. package/dist/hooks/use-countdown.js.map +1 -1
  969. package/dist/hooks/use-counter.cjs.map +1 -1
  970. package/dist/hooks/use-counter.js.map +1 -1
  971. package/dist/hooks/use-debounce.cjs.map +1 -1
  972. package/dist/hooks/use-debounce.js.map +1 -1
  973. package/dist/hooks/use-deep-memo.cjs.map +1 -1
  974. package/dist/hooks/use-deep-memo.js.map +1 -1
  975. package/dist/hooks/use-disclosure.cjs.map +1 -1
  976. package/dist/hooks/use-disclosure.js.map +1 -1
  977. package/dist/hooks/use-document-title.cjs.map +1 -1
  978. package/dist/hooks/use-document-title.js.map +1 -1
  979. package/dist/hooks/use-document-visibility.cjs.map +1 -1
  980. package/dist/hooks/use-document-visibility.js.map +1 -1
  981. package/dist/hooks/use-draft-filters.cjs.map +1 -1
  982. package/dist/hooks/use-draft-filters.js.map +1 -1
  983. package/dist/hooks/use-event-listener.cjs.map +1 -1
  984. package/dist/hooks/use-event-listener.js.map +1 -1
  985. package/dist/hooks/use-favicon.cjs.map +1 -1
  986. package/dist/hooks/use-favicon.js.map +1 -1
  987. package/dist/hooks/use-focus-trap.cjs.map +1 -1
  988. package/dist/hooks/use-focus-trap.js.map +1 -1
  989. package/dist/hooks/use-fullscreen-element.cjs.map +1 -1
  990. package/dist/hooks/use-fullscreen-element.js.map +1 -1
  991. package/dist/hooks/use-fullscreen.cjs +1 -1
  992. package/dist/hooks/use-fullscreen.cjs.map +1 -1
  993. package/dist/hooks/use-fullscreen.js +7 -23
  994. package/dist/hooks/use-fullscreen.js.map +1 -1
  995. package/dist/hooks/use-geolocation.cjs.map +1 -1
  996. package/dist/hooks/use-geolocation.js.map +1 -1
  997. package/dist/hooks/use-hover.cjs.map +1 -1
  998. package/dist/hooks/use-hover.js.map +1 -1
  999. package/dist/hooks/use-idle.cjs.map +1 -1
  1000. package/dist/hooks/use-idle.js.map +1 -1
  1001. package/dist/hooks/use-install-prompt.cjs +1 -1
  1002. package/dist/hooks/use-install-prompt.cjs.map +1 -1
  1003. package/dist/hooks/use-install-prompt.js +1 -1
  1004. package/dist/hooks/use-install-prompt.js.map +1 -1
  1005. package/dist/hooks/use-intersection-observer.cjs.map +1 -1
  1006. package/dist/hooks/use-intersection-observer.js.map +1 -1
  1007. package/dist/hooks/use-interval.cjs.map +1 -1
  1008. package/dist/hooks/use-interval.js.map +1 -1
  1009. package/dist/hooks/use-is-first-render.cjs.map +1 -1
  1010. package/dist/hooks/use-is-first-render.js.map +1 -1
  1011. package/dist/hooks/use-keyboard-shortcut.cjs.map +1 -1
  1012. package/dist/hooks/use-keyboard-shortcut.js.map +1 -1
  1013. package/dist/hooks/use-latest-ref.cjs.map +1 -1
  1014. package/dist/hooks/use-latest-ref.js.map +1 -1
  1015. package/dist/hooks/use-list-state.cjs.map +1 -1
  1016. package/dist/hooks/use-list-state.js.map +1 -1
  1017. package/dist/hooks/use-local-storage.cjs +1 -1
  1018. package/dist/hooks/use-local-storage.cjs.map +1 -1
  1019. package/dist/hooks/use-local-storage.js +2 -5
  1020. package/dist/hooks/use-local-storage.js.map +1 -1
  1021. package/dist/hooks/use-long-press-handlers.cjs.map +1 -1
  1022. package/dist/hooks/use-long-press-handlers.js.map +1 -1
  1023. package/dist/hooks/use-long-press.cjs.map +1 -1
  1024. package/dist/hooks/use-long-press.js.map +1 -1
  1025. package/dist/hooks/use-map.cjs.map +1 -1
  1026. package/dist/hooks/use-map.js.map +1 -1
  1027. package/dist/hooks/use-media-devices.cjs.map +1 -1
  1028. package/dist/hooks/use-media-devices.js.map +1 -1
  1029. package/dist/hooks/use-media-permission.cjs +1 -1
  1030. package/dist/hooks/use-media-permission.cjs.map +1 -1
  1031. package/dist/hooks/use-media-permission.js +2 -5
  1032. package/dist/hooks/use-media-permission.js.map +1 -1
  1033. package/dist/hooks/use-media-query.cjs.map +1 -1
  1034. package/dist/hooks/use-media-query.js.map +1 -1
  1035. package/dist/hooks/use-object-url.cjs.map +1 -1
  1036. package/dist/hooks/use-object-url.js.map +1 -1
  1037. package/dist/hooks/use-online.cjs.map +1 -1
  1038. package/dist/hooks/use-online.js.map +1 -1
  1039. package/dist/hooks/use-pagination.cjs.map +1 -1
  1040. package/dist/hooks/use-pagination.js.map +1 -1
  1041. package/dist/hooks/use-previous.cjs.map +1 -1
  1042. package/dist/hooks/use-previous.js.map +1 -1
  1043. package/dist/hooks/use-push-to-talk.cjs.map +1 -1
  1044. package/dist/hooks/use-push-to-talk.js.map +1 -1
  1045. package/dist/hooks/use-queue.cjs.map +1 -1
  1046. package/dist/hooks/use-queue.js.map +1 -1
  1047. package/dist/hooks/use-resize-observer.cjs.map +1 -1
  1048. package/dist/hooks/use-resize-observer.js.map +1 -1
  1049. package/dist/hooks/use-scroll-lock.cjs.map +1 -1
  1050. package/dist/hooks/use-scroll-lock.js.map +1 -1
  1051. package/dist/hooks/use-scroll-overflow.cjs.map +1 -1
  1052. package/dist/hooks/use-scroll-overflow.js.map +1 -1
  1053. package/dist/hooks/use-service-worker-update.cjs.map +1 -1
  1054. package/dist/hooks/use-service-worker-update.js.map +1 -1
  1055. package/dist/hooks/use-set.cjs.map +1 -1
  1056. package/dist/hooks/use-set.js.map +1 -1
  1057. package/dist/hooks/use-sortable.cjs.map +1 -1
  1058. package/dist/hooks/use-sortable.js.map +1 -1
  1059. package/dist/hooks/use-stable-callback.cjs.map +1 -1
  1060. package/dist/hooks/use-stable-callback.js.map +1 -1
  1061. package/dist/hooks/use-storage-estimate.cjs.map +1 -1
  1062. package/dist/hooks/use-storage-estimate.js.map +1 -1
  1063. package/dist/hooks/use-throttle.cjs.map +1 -1
  1064. package/dist/hooks/use-throttle.js.map +1 -1
  1065. package/dist/hooks/use-timeout.cjs.map +1 -1
  1066. package/dist/hooks/use-timeout.js.map +1 -1
  1067. package/dist/hooks/use-toggle.cjs.map +1 -1
  1068. package/dist/hooks/use-toggle.js.map +1 -1
  1069. package/dist/hooks/use-typewriter.cjs.map +1 -1
  1070. package/dist/hooks/use-typewriter.js.map +1 -1
  1071. package/dist/hooks/use-window-size.cjs.map +1 -1
  1072. package/dist/hooks/use-window-size.js.map +1 -1
  1073. package/dist/http/api-client.cjs.map +1 -1
  1074. package/dist/http/api-client.js.map +1 -1
  1075. package/dist/http/build-url.cjs.map +1 -1
  1076. package/dist/http/build-url.js.map +1 -1
  1077. package/dist/http/credential-scope.cjs.map +1 -1
  1078. package/dist/http/credential-scope.js.map +1 -1
  1079. package/dist/http/csrf.cjs.map +1 -1
  1080. package/dist/http/csrf.js.map +1 -1
  1081. package/dist/http/decode-response.cjs.map +1 -1
  1082. package/dist/http/decode-response.js.map +1 -1
  1083. package/dist/http/describe-api-error.cjs.map +1 -1
  1084. package/dist/http/describe-api-error.js.map +1 -1
  1085. package/dist/http/errors.cjs.map +1 -1
  1086. package/dist/http/errors.js.map +1 -1
  1087. package/dist/http/idempotency.cjs.map +1 -1
  1088. package/dist/http/idempotency.js.map +1 -1
  1089. package/dist/http/parse-response.cjs.map +1 -1
  1090. package/dist/http/parse-response.js.map +1 -1
  1091. package/dist/http/resumable-upload.cjs.map +1 -1
  1092. package/dist/http/resumable-upload.js.map +1 -1
  1093. package/dist/http/retry.cjs.map +1 -1
  1094. package/dist/http/retry.js.map +1 -1
  1095. package/dist/http/timeout.cjs.map +1 -1
  1096. package/dist/http/timeout.js.map +1 -1
  1097. package/dist/http/upload-with-progress.cjs +1 -1
  1098. package/dist/http/upload-with-progress.cjs.map +1 -1
  1099. package/dist/http/upload-with-progress.js +2 -7
  1100. package/dist/http/upload-with-progress.js.map +1 -1
  1101. package/dist/http/use-describe-api-error.cjs.map +1 -1
  1102. package/dist/http/use-describe-api-error.js.map +1 -1
  1103. package/dist/http/use-poll.cjs +1 -1
  1104. package/dist/http/use-poll.cjs.map +1 -1
  1105. package/dist/http/use-poll.js +2 -5
  1106. package/dist/http/use-poll.js.map +1 -1
  1107. package/dist/i18n/I18nProvider.cjs.map +1 -1
  1108. package/dist/i18n/I18nProvider.js.map +1 -1
  1109. package/dist/i18n/create-i18n.cjs.map +1 -1
  1110. package/dist/i18n/create-i18n.js.map +1 -1
  1111. package/dist/icons/Icon.cjs.map +1 -1
  1112. package/dist/icons/Icon.js.map +1 -1
  1113. package/dist/icons/IconPicker.cjs.map +1 -1
  1114. package/dist/icons/IconPicker.js.map +1 -1
  1115. package/dist/icons/IconPicker.module.cjs.map +1 -1
  1116. package/dist/icons/IconPicker.module.js.map +1 -1
  1117. package/dist/icons/IconProvider.cjs.map +1 -1
  1118. package/dist/icons/IconProvider.js.map +1 -1
  1119. package/dist/icons/alias.cjs.map +1 -1
  1120. package/dist/icons/alias.js.map +1 -1
  1121. package/dist/icons/generated/aliases.cjs.map +1 -1
  1122. package/dist/icons/generated/aliases.js.map +1 -1
  1123. package/dist/icons/generated/icon-names.cjs.map +1 -1
  1124. package/dist/icons/generated/icon-names.js.map +1 -1
  1125. package/dist/icons/generated/loaders.cjs.map +1 -1
  1126. package/dist/icons/generated/loaders.js.map +1 -1
  1127. package/dist/icons/generated/shard-00.cjs.map +1 -1
  1128. package/dist/icons/generated/shard-00.js.map +1 -1
  1129. package/dist/icons/generated/shard-01.cjs.map +1 -1
  1130. package/dist/icons/generated/shard-01.js.map +1 -1
  1131. package/dist/icons/generated/shard-02.cjs.map +1 -1
  1132. package/dist/icons/generated/shard-02.js.map +1 -1
  1133. package/dist/icons/generated/shard-03.cjs.map +1 -1
  1134. package/dist/icons/generated/shard-03.js.map +1 -1
  1135. package/dist/icons/generated/shard-04.cjs.map +1 -1
  1136. package/dist/icons/generated/shard-04.js.map +1 -1
  1137. package/dist/icons/generated/shard-05.cjs.map +1 -1
  1138. package/dist/icons/generated/shard-05.js.map +1 -1
  1139. package/dist/icons/generated/shard-06.cjs.map +1 -1
  1140. package/dist/icons/generated/shard-06.js.map +1 -1
  1141. package/dist/icons/generated/shard-07.cjs.map +1 -1
  1142. package/dist/icons/generated/shard-07.js.map +1 -1
  1143. package/dist/icons/generated/shard-08.cjs.map +1 -1
  1144. package/dist/icons/generated/shard-08.js.map +1 -1
  1145. package/dist/icons/generated/shard-09.cjs.map +1 -1
  1146. package/dist/icons/generated/shard-09.js.map +1 -1
  1147. package/dist/icons/generated/shard-10.cjs.map +1 -1
  1148. package/dist/icons/generated/shard-10.js.map +1 -1
  1149. package/dist/icons/generated/shard-11.cjs.map +1 -1
  1150. package/dist/icons/generated/shard-11.js.map +1 -1
  1151. package/dist/icons/generated/shard-12.cjs.map +1 -1
  1152. package/dist/icons/generated/shard-12.js.map +1 -1
  1153. package/dist/icons/generated/shard-13.cjs.map +1 -1
  1154. package/dist/icons/generated/shard-13.js.map +1 -1
  1155. package/dist/icons/generated/shard-14.cjs.map +1 -1
  1156. package/dist/icons/generated/shard-14.js.map +1 -1
  1157. package/dist/icons/generated/shard-15.cjs.map +1 -1
  1158. package/dist/icons/generated/shard-15.js.map +1 -1
  1159. package/dist/icons/generated/shard-16.cjs.map +1 -1
  1160. package/dist/icons/generated/shard-16.js.map +1 -1
  1161. package/dist/icons/generated/shard-17.cjs.map +1 -1
  1162. package/dist/icons/generated/shard-17.js.map +1 -1
  1163. package/dist/icons/generated/shard-18.cjs.map +1 -1
  1164. package/dist/icons/generated/shard-18.js.map +1 -1
  1165. package/dist/icons/generated/shard-19.cjs.map +1 -1
  1166. package/dist/icons/generated/shard-19.js.map +1 -1
  1167. package/dist/icons/generated/shard-20.cjs.map +1 -1
  1168. package/dist/icons/generated/shard-20.js.map +1 -1
  1169. package/dist/icons/generated/shard-21.cjs.map +1 -1
  1170. package/dist/icons/generated/shard-21.js.map +1 -1
  1171. package/dist/icons/generated/shard-22.cjs.map +1 -1
  1172. package/dist/icons/generated/shard-22.js.map +1 -1
  1173. package/dist/icons/generated/shard-23.cjs.map +1 -1
  1174. package/dist/icons/generated/shard-23.js.map +1 -1
  1175. package/dist/icons/generated/shard-24.cjs.map +1 -1
  1176. package/dist/icons/generated/shard-24.js.map +1 -1
  1177. package/dist/icons/generated/shard-25.cjs.map +1 -1
  1178. package/dist/icons/generated/shard-25.js.map +1 -1
  1179. package/dist/icons/generated/shard-26.cjs.map +1 -1
  1180. package/dist/icons/generated/shard-26.js.map +1 -1
  1181. package/dist/icons/generated/shard-27.cjs.map +1 -1
  1182. package/dist/icons/generated/shard-27.js.map +1 -1
  1183. package/dist/icons/generated/shard-28.cjs.map +1 -1
  1184. package/dist/icons/generated/shard-28.js.map +1 -1
  1185. package/dist/icons/generated/shard-29.cjs.map +1 -1
  1186. package/dist/icons/generated/shard-29.js.map +1 -1
  1187. package/dist/icons/generated/shard-30.cjs.map +1 -1
  1188. package/dist/icons/generated/shard-30.js.map +1 -1
  1189. package/dist/icons/generated/shard-31.cjs.map +1 -1
  1190. package/dist/icons/generated/shard-31.js.map +1 -1
  1191. package/dist/icons/generated/shard-32.cjs.map +1 -1
  1192. package/dist/icons/generated/shard-32.js.map +1 -1
  1193. package/dist/icons/generated/shard-33.cjs.map +1 -1
  1194. package/dist/icons/generated/shard-33.js.map +1 -1
  1195. package/dist/icons/generated/shard-34.cjs.map +1 -1
  1196. package/dist/icons/generated/shard-34.js.map +1 -1
  1197. package/dist/icons/generated/shard-35.cjs.map +1 -1
  1198. package/dist/icons/generated/shard-35.js.map +1 -1
  1199. package/dist/icons/generated/shard-36.cjs.map +1 -1
  1200. package/dist/icons/generated/shard-36.js.map +1 -1
  1201. package/dist/icons/generated/shard-37.cjs.map +1 -1
  1202. package/dist/icons/generated/shard-37.js.map +1 -1
  1203. package/dist/icons/generated/shard-38.cjs.map +1 -1
  1204. package/dist/icons/generated/shard-38.js.map +1 -1
  1205. package/dist/icons/generated/shard-39.cjs.map +1 -1
  1206. package/dist/icons/generated/shard-39.js.map +1 -1
  1207. package/dist/icons/generated/shard-40.cjs.map +1 -1
  1208. package/dist/icons/generated/shard-40.js.map +1 -1
  1209. package/dist/icons/generated/shard-41.cjs.map +1 -1
  1210. package/dist/icons/generated/shard-41.js.map +1 -1
  1211. package/dist/icons/generated/shard-42.cjs.map +1 -1
  1212. package/dist/icons/generated/shard-42.js.map +1 -1
  1213. package/dist/icons/generated/shard-43.cjs.map +1 -1
  1214. package/dist/icons/generated/shard-43.js.map +1 -1
  1215. package/dist/icons/generated/shard-44.cjs.map +1 -1
  1216. package/dist/icons/generated/shard-44.js.map +1 -1
  1217. package/dist/icons/generated/shard-45.cjs.map +1 -1
  1218. package/dist/icons/generated/shard-45.js.map +1 -1
  1219. package/dist/icons/icon-context.cjs.map +1 -1
  1220. package/dist/icons/icon-context.js.map +1 -1
  1221. package/dist/icons/is-icon-name.cjs.map +1 -1
  1222. package/dist/icons/is-icon-name.js.map +1 -1
  1223. package/dist/icons/material-symbols.cjs.map +1 -1
  1224. package/dist/icons/material-symbols.js.map +1 -1
  1225. package/dist/icons/normalize-icon-name.cjs.map +1 -1
  1226. package/dist/icons/normalize-icon-name.js.map +1 -1
  1227. package/dist/icons/shard-cache.cjs +1 -1
  1228. package/dist/icons/shard-cache.cjs.map +1 -1
  1229. package/dist/icons/shard-cache.js +2 -5
  1230. package/dist/icons/shard-cache.js.map +1 -1
  1231. package/dist/icons/use-icon.cjs.map +1 -1
  1232. package/dist/icons/use-icon.js.map +1 -1
  1233. package/dist/icons/validate-icon-name.cjs.map +1 -1
  1234. package/dist/icons/validate-icon-name.js.map +1 -1
  1235. package/dist/icons-virtual.cjs.map +1 -1
  1236. package/dist/icons-virtual.js.map +1 -1
  1237. package/dist/imaging/canvas.cjs.map +1 -1
  1238. package/dist/imaging/canvas.js.map +1 -1
  1239. package/dist/imaging/compress.cjs.map +1 -1
  1240. package/dist/imaging/compress.js.map +1 -1
  1241. package/dist/imaging/decode.cjs.map +1 -1
  1242. package/dist/imaging/decode.js.map +1 -1
  1243. package/dist/imaging/encode.cjs.map +1 -1
  1244. package/dist/imaging/encode.js.map +1 -1
  1245. package/dist/imaging/exceptions.cjs.map +1 -1
  1246. package/dist/imaging/exceptions.js.map +1 -1
  1247. package/dist/imaging/frame.cjs.map +1 -1
  1248. package/dist/imaging/frame.js.map +1 -1
  1249. package/dist/imaging/thumbnails.cjs.map +1 -1
  1250. package/dist/imaging/thumbnails.js.map +1 -1
  1251. package/dist/imaging/transform.cjs.map +1 -1
  1252. package/dist/imaging/transform.js.map +1 -1
  1253. package/dist/imaging/use-image-processing.cjs.map +1 -1
  1254. package/dist/imaging/use-image-processing.js.map +1 -1
  1255. package/dist/logger/logger.cjs.map +1 -1
  1256. package/dist/logger/logger.js.map +1 -1
  1257. package/dist/neural.cjs.map +1 -1
  1258. package/dist/neural.js.map +1 -1
  1259. package/dist/oauth/GoogleSignIn.cjs +1 -1
  1260. package/dist/oauth/GoogleSignIn.cjs.map +1 -1
  1261. package/dist/oauth/GoogleSignIn.js +6 -9
  1262. package/dist/oauth/GoogleSignIn.js.map +1 -1
  1263. package/dist/oauth/callback.cjs.map +1 -1
  1264. package/dist/oauth/callback.js.map +1 -1
  1265. package/dist/oauth/use-oauth-callback.cjs.map +1 -1
  1266. package/dist/oauth/use-oauth-callback.js.map +1 -1
  1267. package/dist/offline/conflict.cjs.map +1 -1
  1268. package/dist/offline/conflict.js.map +1 -1
  1269. package/dist/offline/create-offline-database.cjs.map +1 -1
  1270. package/dist/offline/create-offline-database.js.map +1 -1
  1271. package/dist/offline/create-offline-store.cjs +1 -1
  1272. package/dist/offline/create-offline-store.cjs.map +1 -1
  1273. package/dist/offline/create-offline-store.js +1 -5
  1274. package/dist/offline/create-offline-store.js.map +1 -1
  1275. package/dist/offline/create-offline-sync.cjs +1 -1
  1276. package/dist/offline/create-offline-sync.cjs.map +1 -1
  1277. package/dist/offline/create-offline-sync.js +9 -14
  1278. package/dist/offline/create-offline-sync.js.map +1 -1
  1279. package/dist/offline/use-offline-sync.cjs.map +1 -1
  1280. package/dist/offline/use-offline-sync.js.map +1 -1
  1281. package/dist/perf/cache-size.cjs.map +1 -1
  1282. package/dist/perf/cache-size.js.map +1 -1
  1283. package/dist/perf/device.cjs.map +1 -1
  1284. package/dist/perf/device.js.map +1 -1
  1285. package/dist/perf/format.cjs.map +1 -1
  1286. package/dist/perf/format.js.map +1 -1
  1287. package/dist/perf/profiler.cjs.map +1 -1
  1288. package/dist/perf/profiler.js.map +1 -1
  1289. package/dist/push/use-push-subscription.cjs.map +1 -1
  1290. package/dist/push/use-push-subscription.js.map +1 -1
  1291. package/dist/push/utils.cjs.map +1 -1
  1292. package/dist/push/utils.js.map +1 -1
  1293. package/dist/push/web-push-client.cjs.map +1 -1
  1294. package/dist/push/web-push-client.js.map +1 -1
  1295. package/dist/query/QueryProvider.cjs.map +1 -1
  1296. package/dist/query/QueryProvider.js.map +1 -1
  1297. package/dist/query/constants.cjs.map +1 -1
  1298. package/dist/query/constants.js.map +1 -1
  1299. package/dist/query/create-query-keys.cjs.map +1 -1
  1300. package/dist/query/create-query-keys.js.map +1 -1
  1301. package/dist/query/foreign-client-warning.cjs.map +1 -1
  1302. package/dist/query/foreign-client-warning.js.map +1 -1
  1303. package/dist/query/offline-persistence.cjs +1 -1
  1304. package/dist/query/offline-persistence.cjs.map +1 -1
  1305. package/dist/query/offline-persistence.js +2 -10
  1306. package/dist/query/offline-persistence.js.map +1 -1
  1307. package/dist/query/optimistic.cjs.map +1 -1
  1308. package/dist/query/optimistic.js.map +1 -1
  1309. package/dist/query/pagination.cjs.map +1 -1
  1310. package/dist/query/pagination.js.map +1 -1
  1311. package/dist/query/retry-policy.cjs.map +1 -1
  1312. package/dist/query/retry-policy.js.map +1 -1
  1313. package/dist/query/use-cursor-query.cjs.map +1 -1
  1314. package/dist/query/use-cursor-query.js.map +1 -1
  1315. package/dist/query/use-offline-mutation.cjs.map +1 -1
  1316. package/dist/query/use-offline-mutation.js.map +1 -1
  1317. package/dist/query/use-paginated-query.cjs.map +1 -1
  1318. package/dist/query/use-paginated-query.js.map +1 -1
  1319. package/dist/router/AppRouter.cjs.map +1 -1
  1320. package/dist/router/AppRouter.js.map +1 -1
  1321. package/dist/router/RouteGuard.cjs.map +1 -1
  1322. package/dist/router/RouteGuard.js.map +1 -1
  1323. package/dist/router/index.js +2 -2
  1324. package/dist/share/share-or-download.cjs.map +1 -1
  1325. package/dist/share/share-or-download.js.map +1 -1
  1326. package/dist/share/share.cjs.map +1 -1
  1327. package/dist/share/share.js.map +1 -1
  1328. package/dist/sse/create-event-stream.cjs.map +1 -1
  1329. package/dist/sse/create-event-stream.js.map +1 -1
  1330. package/dist/sse/use-event-stream.cjs.map +1 -1
  1331. package/dist/sse/use-event-stream.js.map +1 -1
  1332. package/dist/store/create-selectors.cjs.map +1 -1
  1333. package/dist/store/create-selectors.js.map +1 -1
  1334. package/dist/store/create-store.cjs.map +1 -1
  1335. package/dist/store/create-store.js.map +1 -1
  1336. package/dist/sw/background-sync.cjs.map +1 -1
  1337. package/dist/sw/background-sync.js.map +1 -1
  1338. package/dist/sw/cache-inspect.cjs.map +1 -1
  1339. package/dist/sw/cache-inspect.js.map +1 -1
  1340. package/dist/sw/cache.cjs +1 -1
  1341. package/dist/sw/cache.cjs.map +1 -1
  1342. package/dist/sw/cache.js +2 -6
  1343. package/dist/sw/cache.js.map +1 -1
  1344. package/dist/sw/create-push-handler.cjs.map +1 -1
  1345. package/dist/sw/create-push-handler.js.map +1 -1
  1346. package/dist/sw/credential-headers.cjs.map +1 -1
  1347. package/dist/sw/credential-headers.js.map +1 -1
  1348. package/dist/sw/periodic-sync.cjs.map +1 -1
  1349. package/dist/sw/periodic-sync.js.map +1 -1
  1350. package/dist/sw/register-service-worker.cjs.map +1 -1
  1351. package/dist/sw/register-service-worker.js.map +1 -1
  1352. package/dist/sw/session-data.cjs.map +1 -1
  1353. package/dist/sw/session-data.js.map +1 -1
  1354. package/dist/tabular/assets.cjs.map +1 -1
  1355. package/dist/tabular/assets.js.map +1 -1
  1356. package/dist/tabular/cache.cjs.map +1 -1
  1357. package/dist/tabular/cache.js.map +1 -1
  1358. package/dist/tabular/compact.cjs.map +1 -1
  1359. package/dist/tabular/compact.js.map +1 -1
  1360. package/dist/tabular/exceptions.cjs.map +1 -1
  1361. package/dist/tabular/exceptions.js.map +1 -1
  1362. package/dist/tabular/manifest.cjs.map +1 -1
  1363. package/dist/tabular/manifest.js.map +1 -1
  1364. package/dist/tabular/predictor.cjs.map +1 -1
  1365. package/dist/tabular/predictor.js.map +1 -1
  1366. package/dist/tabular/use-tabular-predictor.cjs.map +1 -1
  1367. package/dist/tabular/use-tabular-predictor.js.map +1 -1
  1368. package/dist/telemetry/TelemetryProvider.cjs.map +1 -1
  1369. package/dist/telemetry/TelemetryProvider.js.map +1 -1
  1370. package/dist/telemetry/app-error-adapter.cjs.map +1 -1
  1371. package/dist/telemetry/app-error-adapter.js.map +1 -1
  1372. package/dist/telemetry/app-error-queue.cjs.map +1 -1
  1373. package/dist/telemetry/app-error-queue.js.map +1 -1
  1374. package/dist/telemetry/app-error-reporter.cjs.map +1 -1
  1375. package/dist/telemetry/app-error-reporter.js.map +1 -1
  1376. package/dist/telemetry/app-error-schema.cjs.map +1 -1
  1377. package/dist/telemetry/app-error-schema.js.map +1 -1
  1378. package/dist/telemetry/app-error-transport.cjs.map +1 -1
  1379. package/dist/telemetry/app-error-transport.js.map +1 -1
  1380. package/dist/telemetry/console-adapter.cjs.map +1 -1
  1381. package/dist/telemetry/console-adapter.js.map +1 -1
  1382. package/dist/telemetry/describe-app-error.cjs.map +1 -1
  1383. package/dist/telemetry/describe-app-error.js.map +1 -1
  1384. package/dist/telemetry/posthog-adapter.cjs +1 -1
  1385. package/dist/telemetry/posthog-adapter.cjs.map +1 -1
  1386. package/dist/telemetry/posthog-adapter.js +1 -5
  1387. package/dist/telemetry/posthog-adapter.js.map +1 -1
  1388. package/dist/telemetry/sentry-adapter.cjs.map +1 -1
  1389. package/dist/telemetry/sentry-adapter.js.map +1 -1
  1390. package/dist/tempest-react-sdk.cjs +1 -1
  1391. package/dist/tempest-react-sdk.d.ts +234 -3
  1392. package/dist/tempest-react-sdk.js +85 -85
  1393. package/dist/testing/create-mock-handlers.cjs.map +1 -1
  1394. package/dist/testing/create-mock-handlers.js.map +1 -1
  1395. package/dist/testing.js +1 -2
  1396. package/dist/theme/ThemeProvider.cjs.map +1 -1
  1397. package/dist/theme/ThemeProvider.js.map +1 -1
  1398. package/dist/theme/apply-theme.cjs.map +1 -1
  1399. package/dist/theme/apply-theme.js.map +1 -1
  1400. package/dist/theme/color.cjs.map +1 -1
  1401. package/dist/theme/color.js.map +1 -1
  1402. package/dist/theme/create-theme.cjs.map +1 -1
  1403. package/dist/theme/create-theme.js.map +1 -1
  1404. package/dist/theme/data-viz-ramps.cjs.map +1 -1
  1405. package/dist/theme/data-viz-ramps.js.map +1 -1
  1406. package/dist/theme/initial-theme.cjs.map +1 -1
  1407. package/dist/theme/initial-theme.js.map +1 -1
  1408. package/dist/theme/inverse-render.cjs.map +1 -1
  1409. package/dist/theme/inverse-render.js.map +1 -1
  1410. package/dist/theme/inverse-restore.cjs.map +1 -1
  1411. package/dist/theme/inverse-restore.js.map +1 -1
  1412. package/dist/theme/inverse-surface.cjs.map +1 -1
  1413. package/dist/theme/inverse-surface.js.map +1 -1
  1414. package/dist/theme/status-tokens.cjs.map +1 -1
  1415. package/dist/theme/status-tokens.js.map +1 -1
  1416. package/dist/theme/theme-presets.cjs.map +1 -1
  1417. package/dist/theme/theme-presets.js.map +1 -1
  1418. package/dist/utils/absent.cjs.map +1 -1
  1419. package/dist/utils/absent.js.map +1 -1
  1420. package/dist/utils/arrays.cjs.map +1 -1
  1421. package/dist/utils/arrays.js.map +1 -1
  1422. package/dist/utils/base64.cjs.map +1 -1
  1423. package/dist/utils/base64.js.map +1 -1
  1424. package/dist/utils/cn.cjs.map +1 -1
  1425. package/dist/utils/cn.js.map +1 -1
  1426. package/dist/utils/compare-values.cjs.map +1 -1
  1427. package/dist/utils/compare-values.js.map +1 -1
  1428. package/dist/utils/compressed-storage.cjs.map +1 -1
  1429. package/dist/utils/compressed-storage.js.map +1 -1
  1430. package/dist/utils/csv.cjs.map +1 -1
  1431. package/dist/utils/csv.js.map +1 -1
  1432. package/dist/utils/dev-mode.cjs.map +1 -1
  1433. package/dist/utils/dev-mode.js.map +1 -1
  1434. package/dist/utils/duplicate-instance.cjs.map +1 -1
  1435. package/dist/utils/duplicate-instance.js.map +1 -1
  1436. package/dist/utils/format.cjs.map +1 -1
  1437. package/dist/utils/format.js.map +1 -1
  1438. package/dist/utils/functions.cjs +1 -1
  1439. package/dist/utils/functions.cjs.map +1 -1
  1440. package/dist/utils/functions.js +1 -1
  1441. package/dist/utils/functions.js.map +1 -1
  1442. package/dist/utils/guards.cjs.map +1 -1
  1443. package/dist/utils/guards.js.map +1 -1
  1444. package/dist/utils/ids.cjs.map +1 -1
  1445. package/dist/utils/ids.js.map +1 -1
  1446. package/dist/utils/intl-cache.cjs.map +1 -1
  1447. package/dist/utils/intl-cache.js.map +1 -1
  1448. package/dist/utils/json-frame.cjs.map +1 -1
  1449. package/dist/utils/json-frame.js.map +1 -1
  1450. package/dist/utils/numbers.cjs.map +1 -1
  1451. package/dist/utils/numbers.js.map +1 -1
  1452. package/dist/utils/objects.cjs.map +1 -1
  1453. package/dist/utils/objects.js.map +1 -1
  1454. package/dist/utils/owner-fingerprint.cjs.map +1 -1
  1455. package/dist/utils/owner-fingerprint.js.map +1 -1
  1456. package/dist/utils/promises.cjs.map +1 -1
  1457. package/dist/utils/promises.js.map +1 -1
  1458. package/dist/utils/relative-time.cjs.map +1 -1
  1459. package/dist/utils/relative-time.js.map +1 -1
  1460. package/dist/utils/safe-url.cjs.map +1 -1
  1461. package/dist/utils/safe-url.js.map +1 -1
  1462. package/dist/utils/schema-like.cjs.map +1 -1
  1463. package/dist/utils/schema-like.js.map +1 -1
  1464. package/dist/utils/storage.cjs +1 -1
  1465. package/dist/utils/storage.cjs.map +1 -1
  1466. package/dist/utils/storage.js +2 -2
  1467. package/dist/utils/storage.js.map +1 -1
  1468. package/dist/utils/strings.cjs.map +1 -1
  1469. package/dist/utils/strings.js.map +1 -1
  1470. package/dist/utils/xlsx.cjs.map +1 -1
  1471. package/dist/utils/xlsx.js.map +1 -1
  1472. package/dist/vision/core/canvas.cjs.map +1 -1
  1473. package/dist/vision/core/canvas.js.map +1 -1
  1474. package/dist/vision/core/dtypes.cjs.map +1 -1
  1475. package/dist/vision/core/dtypes.js.map +1 -1
  1476. package/dist/vision/core/exceptions.cjs.map +1 -1
  1477. package/dist/vision/core/exceptions.js.map +1 -1
  1478. package/dist/vision/core/graph.cjs.map +1 -1
  1479. package/dist/vision/core/graph.js.map +1 -1
  1480. package/dist/vision/core/metadata.cjs +1 -1
  1481. package/dist/vision/core/metadata.cjs.map +1 -1
  1482. package/dist/vision/core/metadata.js +9 -26
  1483. package/dist/vision/core/metadata.js.map +1 -1
  1484. package/dist/vision/core/providers.cjs.map +1 -1
  1485. package/dist/vision/core/providers.js.map +1 -1
  1486. package/dist/vision/core/session.cjs.map +1 -1
  1487. package/dist/vision/core/session.js.map +1 -1
  1488. package/dist/vision/core/timing.cjs.map +1 -1
  1489. package/dist/vision/core/timing.js.map +1 -1
  1490. package/dist/vision/fusion.cjs.map +1 -1
  1491. package/dist/vision/fusion.js.map +1 -1
  1492. package/dist/vision/index.cjs.map +1 -1
  1493. package/dist/vision/index.js.map +1 -1
  1494. package/dist/vision/io/image.cjs.map +1 -1
  1495. package/dist/vision/io/image.js.map +1 -1
  1496. package/dist/vision/labels.cjs.map +1 -1
  1497. package/dist/vision/labels.js.map +1 -1
  1498. package/dist/vision/luminance.cjs.map +1 -1
  1499. package/dist/vision/luminance.js.map +1 -1
  1500. package/dist/vision/normalization.cjs.map +1 -1
  1501. package/dist/vision/normalization.js.map +1 -1
  1502. package/dist/vision/postprocess/classification.cjs.map +1 -1
  1503. package/dist/vision/postprocess/classification.js.map +1 -1
  1504. package/dist/vision/postprocess/detection.cjs.map +1 -1
  1505. package/dist/vision/postprocess/detection.js.map +1 -1
  1506. package/dist/vision/postprocess/segmentation.cjs.map +1 -1
  1507. package/dist/vision/postprocess/segmentation.js.map +1 -1
  1508. package/dist/vision/preprocess/image.cjs.map +1 -1
  1509. package/dist/vision/preprocess/image.js.map +1 -1
  1510. package/dist/vision/preprocess/pipeline.cjs.map +1 -1
  1511. package/dist/vision/preprocess/pipeline.js.map +1 -1
  1512. package/dist/vision/results.cjs.map +1 -1
  1513. package/dist/vision/results.js.map +1 -1
  1514. package/dist/vision/tasks/base.cjs.map +1 -1
  1515. package/dist/vision/tasks/base.js.map +1 -1
  1516. package/dist/vision/tasks/classifier.cjs.map +1 -1
  1517. package/dist/vision/tasks/classifier.js.map +1 -1
  1518. package/dist/vision/tasks/detectClassify.cjs.map +1 -1
  1519. package/dist/vision/tasks/detectClassify.js.map +1 -1
  1520. package/dist/vision/tasks/detector.cjs.map +1 -1
  1521. package/dist/vision/tasks/detector.js.map +1 -1
  1522. package/dist/vision/tasks/segmenter.cjs.map +1 -1
  1523. package/dist/vision/tasks/segmenter.js.map +1 -1
  1524. package/dist/vision/types.cjs.map +1 -1
  1525. package/dist/vision/types.js.map +1 -1
  1526. package/dist/vision/use-camera-stream.cjs +1 -1
  1527. package/dist/vision/use-camera-stream.cjs.map +1 -1
  1528. package/dist/vision/use-camera-stream.js +3 -9
  1529. package/dist/vision/use-camera-stream.js.map +1 -1
  1530. package/dist/vision/use-live-luminance.cjs +1 -1
  1531. package/dist/vision/use-live-luminance.cjs.map +1 -1
  1532. package/dist/vision/use-live-luminance.js +1 -5
  1533. package/dist/vision/use-live-luminance.js.map +1 -1
  1534. package/dist/vite/base-url.cjs.map +1 -1
  1535. package/dist/vite/base-url.js.map +1 -1
  1536. package/dist/vite/create-vite-config.cjs.map +1 -1
  1537. package/dist/vite/create-vite-config.js.map +1 -1
  1538. package/dist/vite/narrow-tokens.cjs.map +1 -1
  1539. package/dist/vite/narrow-tokens.js.map +1 -1
  1540. package/dist/vite/tempest-csp.cjs +1 -1
  1541. package/dist/vite/tempest-csp.cjs.map +1 -1
  1542. package/dist/vite/tempest-csp.js +2 -10
  1543. package/dist/vite/tempest-csp.js.map +1 -1
  1544. package/dist/vite/tempest-icons.cjs.map +1 -1
  1545. package/dist/vite/tempest-icons.js.map +1 -1
  1546. package/dist/vite/tempest-pwa-dev-sw.cjs +1 -1
  1547. package/dist/vite/tempest-pwa-dev-sw.cjs.map +1 -1
  1548. package/dist/vite/tempest-pwa-dev-sw.js +9 -16
  1549. package/dist/vite/tempest-pwa-dev-sw.js.map +1 -1
  1550. package/dist/vite/tempest-pwa-icons.cjs.map +1 -1
  1551. package/dist/vite/tempest-pwa-icons.js.map +1 -1
  1552. package/dist/vite/tempest-pwa-manifest.cjs.map +1 -1
  1553. package/dist/vite/tempest-pwa-manifest.js.map +1 -1
  1554. package/dist/vite/tempest-styles.cjs.map +1 -1
  1555. package/dist/vite/tempest-styles.js.map +1 -1
  1556. package/dist/vite/tempest-vitest.cjs.map +1 -1
  1557. package/dist/vite/tempest-vitest.js.map +1 -1
  1558. package/dist/webrtc/link-stats.cjs.map +1 -1
  1559. package/dist/webrtc/link-stats.js.map +1 -1
  1560. package/dist/webrtc/mesh-quality.cjs.map +1 -1
  1561. package/dist/webrtc/mesh-quality.js.map +1 -1
  1562. package/dist/webrtc/opus-sdp.cjs.map +1 -1
  1563. package/dist/webrtc/opus-sdp.js.map +1 -1
  1564. package/dist/webrtc/peer-link.cjs +1 -1
  1565. package/dist/webrtc/peer-link.cjs.map +1 -1
  1566. package/dist/webrtc/peer-link.js +2 -5
  1567. package/dist/webrtc/peer-link.js.map +1 -1
  1568. package/dist/webrtc/peer-mesh.cjs +1 -1
  1569. package/dist/webrtc/peer-mesh.cjs.map +1 -1
  1570. package/dist/webrtc/peer-mesh.js +8 -24
  1571. package/dist/webrtc/peer-mesh.js.map +1 -1
  1572. package/dist/webrtc/sender-bitrate.cjs.map +1 -1
  1573. package/dist/webrtc/sender-bitrate.js.map +1 -1
  1574. package/dist/webrtc/use-link-stats.cjs.map +1 -1
  1575. package/dist/webrtc/use-link-stats.js.map +1 -1
  1576. package/dist/ws/create-web-socket.cjs +1 -1
  1577. package/dist/ws/create-web-socket.cjs.map +1 -1
  1578. package/dist/ws/create-web-socket.js +4 -22
  1579. package/dist/ws/create-web-socket.js.map +1 -1
  1580. package/dist/ws/resilience.cjs.map +1 -1
  1581. package/dist/ws/resilience.js.map +1 -1
  1582. package/dist/ws/use-web-socket.cjs.map +1 -1
  1583. package/dist/ws/use-web-socket.js.map +1 -1
  1584. package/package.json +9 -6
  1585. package/template/package.json +1 -1
@@ -17,11 +17,8 @@ function r(r, i) {
17
17
  }
18
18
  }
19
19
  return e(() => {
20
- if (h.current = o, o) {
21
- _.current && clearTimeout(_.current);
22
- return;
23
- }
24
- return m(!0), v(), () => {
20
+ if (h.current = o, o) _.current && clearTimeout(_.current);
21
+ else return m(!0), v(), () => {
25
22
  h.current = !0, _.current && clearTimeout(_.current);
26
23
  };
27
24
  }, [a, o]), {
@@ -1 +1 @@
1
- {"version":3,"file":"use-poll.js","names":[],"sources":["../../src/http/use-poll.ts"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nexport interface UsePollOptions<T> {\n /** Polling interval in ms. */\n interval: number;\n /** Disable polling without unmounting. Default: false. */\n disabled?: boolean;\n /** Stop polling once the predicate returns true. */\n stopWhen?: (data: T) => boolean;\n /** Called on each error. */\n onError?: (error: unknown) => void;\n}\n\nexport interface UsePollResult<T> {\n data: T | null;\n error: unknown;\n loading: boolean;\n stop: () => void;\n start: () => void;\n}\n\n/**\n * Poll an async factory on a fixed interval. Skips overlapping requests if a\n * prior call has not finished. Pause via `disabled` or `stopWhen`.\n */\nexport function usePoll<T>(\n factory: () => Promise<T>,\n options: UsePollOptions<T>,\n): UsePollResult<T> {\n const { interval, disabled = false, stopWhen, onError } = options;\n const [data, setData] = useState<T | null>(null);\n const [error, setError] = useState<unknown>(null);\n const [loading, setLoading] = useState<boolean>(!disabled);\n const stopped = useRef<boolean>(disabled);\n const inFlight = useRef<boolean>(false);\n const timer = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n async function tick(): Promise<void> {\n if (stopped.current || inFlight.current) return;\n inFlight.current = true;\n try {\n const next = await factory();\n if (stopped.current) return;\n setData(next);\n setError(null);\n if (stopWhen?.(next)) stopped.current = true;\n } catch (err) {\n if (!stopped.current) {\n setError(err);\n onError?.(err);\n }\n } finally {\n inFlight.current = false;\n setLoading(false);\n if (!stopped.current) {\n timer.current = setTimeout(tick, interval);\n }\n }\n }\n\n useEffect(() => {\n stopped.current = disabled;\n if (disabled) {\n if (timer.current) clearTimeout(timer.current);\n return;\n }\n setLoading(true);\n void tick();\n return () => {\n stopped.current = true;\n if (timer.current) clearTimeout(timer.current);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [interval, disabled]);\n\n return {\n data,\n error,\n loading,\n stop: () => {\n stopped.current = true;\n if (timer.current) clearTimeout(timer.current);\n },\n start: () => {\n if (!stopped.current) return;\n stopped.current = false;\n void tick();\n },\n };\n}\n"],"mappings":";;AAyBA,SAAgB,EACZ,GACA,GACgB;CAChB,IAAM,EAAE,aAAU,cAAW,IAAO,aAAU,eAAY,GACpD,CAAC,GAAM,KAAW,EAAmB,IAAI,GACzC,CAAC,GAAO,KAAY,EAAkB,IAAI,GAC1C,CAAC,GAAS,KAAc,EAAkB,CAAC,CAAQ,GACnD,IAAU,EAAgB,CAAQ,GAClC,IAAW,EAAgB,EAAK,GAChC,IAAQ,EAA6C,IAAI;CAE/D,eAAe,IAAsB;EAC7B,QAAQ,WAAW,EAAS,UAChC;KAAS,UAAU;GACnB,IAAI;IACA,IAAM,IAAO,MAAM,EAAQ;IAC3B,IAAI,EAAQ,SAAS;IAGrB,AAFA,EAAQ,CAAI,GACZ,EAAS,IAAI,GACT,IAAW,CAAI,MAAG,EAAQ,UAAU;GAC5C,SAAS,GAAK;IACV,AAAK,EAAQ,YACT,EAAS,CAAG,GACZ,IAAU,CAAG;GAErB,UAAU;IAGN,AAFA,EAAS,UAAU,IACnB,EAAW,EAAK,GACX,EAAQ,YACT,EAAM,UAAU,WAAW,GAAM,CAAQ;GAEjD;EAlBmB;CAmBvB;CAiBA,OAfA,QAAgB;EAEZ,IADA,EAAQ,UAAU,GACd,GAAU;GACV,AAAI,EAAM,WAAS,aAAa,EAAM,OAAO;GAC7C;EACJ;EAGA,OAFA,EAAW,EAAI,GACf,EAAU,SACG;GAET,AADA,EAAQ,UAAU,IACd,EAAM,WAAS,aAAa,EAAM,OAAO;EACjD;CAEJ,GAAG,CAAC,GAAU,CAAQ,CAAC,GAEhB;EACH;EACA;EACA;EACA,YAAY;GAER,AADA,EAAQ,UAAU,IACd,EAAM,WAAS,aAAa,EAAM,OAAO;EACjD;EACA,aAAa;GACJ,EAAQ,YACb,EAAQ,UAAU,IAClB,EAAU;EACd;CACJ;AACJ"}
1
+ {"version":3,"file":"use-poll.js","names":["usePoll","options","data","setData","useState","error","setError","loading","setLoading","disabled","stopped","useRef","inFlight","timer","tick","next","factory","stopWhen","err","onError","interval","useEffect"],"sources":["../../src/http/use-poll.ts"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nexport interface UsePollOptions<T> {\n /** Polling interval in ms. */\n interval: number;\n /** Disable polling without unmounting. Default: false. */\n disabled?: boolean;\n /** Stop polling once the predicate returns true. */\n stopWhen?: (data: T) => boolean;\n /** Called on each error. */\n onError?: (error: unknown) => void;\n}\n\nexport interface UsePollResult<T> {\n data: T | null;\n error: unknown;\n loading: boolean;\n stop: () => void;\n start: () => void;\n}\n\n/**\n * Poll an async factory on a fixed interval. Skips overlapping requests if a\n * prior call has not finished. Pause via `disabled` or `stopWhen`.\n */\nexport function usePoll<T>(\n factory: () => Promise<T>,\n options: UsePollOptions<T>,\n): UsePollResult<T> {\n const { interval, disabled = false, stopWhen, onError } = options;\n const [data, setData] = useState<T | null>(null);\n const [error, setError] = useState<unknown>(null);\n const [loading, setLoading] = useState<boolean>(!disabled);\n const stopped = useRef<boolean>(disabled);\n const inFlight = useRef<boolean>(false);\n const timer = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n async function tick(): Promise<void> {\n if (stopped.current || inFlight.current) return;\n inFlight.current = true;\n try {\n const next = await factory();\n if (stopped.current) return;\n setData(next);\n setError(null);\n if (stopWhen?.(next)) stopped.current = true;\n } catch (err) {\n if (!stopped.current) {\n setError(err);\n onError?.(err);\n }\n } finally {\n inFlight.current = false;\n setLoading(false);\n if (!stopped.current) {\n timer.current = setTimeout(tick, interval);\n }\n }\n }\n\n useEffect(() => {\n stopped.current = disabled;\n if (disabled) {\n if (timer.current) clearTimeout(timer.current);\n return;\n }\n setLoading(true);\n void tick();\n return () => {\n stopped.current = true;\n if (timer.current) clearTimeout(timer.current);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [interval, disabled]);\n\n return {\n data,\n error,\n loading,\n stop: () => {\n stopped.current = true;\n if (timer.current) clearTimeout(timer.current);\n },\n start: () => {\n if (!stopped.current) return;\n stopped.current = false;\n void tick();\n },\n };\n}\n"],"mappings":";;AAyBA,SAAgBA,EACZ,GACA,GACgB;CAChB,IAAM,EAAE,aAAU,cAAW,IAAO,aAAU,eAAYC,GACpD,CAACC,GAAMC,KAAWC,EAAmB,IAAI,GACzC,CAACC,GAAOC,KAAYF,EAAkB,IAAI,GAC1C,CAACG,GAASC,KAAcJ,EAAkB,CAACK,CAAQ,GACnDC,IAAUC,EAAgBF,CAAQ,GAClCG,IAAWD,EAAgB,EAAK,GAChCE,IAAQF,EAA6C,IAAI;CAE/D,eAAeG,IAAsB;EACjC,IAAI,IAAQ,WAAWF,EAAS,UAChC;KAAS,UAAU;GACnB,IAAI;IACA,IAAMG,IAAO,MAAMC,EAAQ;IAC3B,IAAIN,EAAQ,SAAS;IAGrB,AAFAP,EAAQY,CAAI,GACZT,EAAS,IAAI,GACTW,IAAWF,CAAI,MAAG,EAAQ,UAAU;GAC5C,SAASG,GAAK;IACV,AAAKR,EAAQ,YACTJ,EAASY,CAAG,GACZC,IAAUD,CAAG;GAErB,UAAU;IAGN,AAFA,EAAS,UAAU,IACnBV,EAAW,EAAK,GACXE,EAAQ,YACT,EAAM,UAAU,WAAWI,GAAMM,CAAQ;GAEjD;EAlBmB;CAmBvB;CAiBA,OAfAC,QAAgB;EAEZ,IADA,EAAQ,UAAUZ,GACdA,GACA,AAAII,EAAM,WAAS,aAAaA,EAAM,OAAO;OAKjD,OAFAL,EAAW,EAAI,GACfM,EAAU,SACG;GAET,AADA,EAAQ,UAAU,IACdD,EAAM,WAAS,aAAaA,EAAM,OAAO;EACjD;CAEJ,GAAG,CAACO,GAAUX,CAAQ,CAAC,GAEhB;EACH;EACA;EACA;EACA,YAAY;GAER,AADA,EAAQ,UAAU,IACdI,EAAM,WAAS,aAAaA,EAAM,OAAO;EACjD;EACA,aAAa;GACT,AAAKH,EAAQ,YACb,EAAQ,UAAU,IAClBI,EAAU;EACd;CACJ;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"I18nProvider.cjs","names":[],"sources":["../../src/i18n/I18nProvider.tsx"],"sourcesContent":["import { createContext, useCallback, useContext, useEffect, useMemo, useState } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { createI18n, type Catalog, type I18n } from \"./create-i18n\";\n\nexport interface I18nContextValue extends I18n {\n /** Switch the active locale. Persisted when `storageKey` is set. */\n setLocale: (locale: string) => void;\n /** Locales available in the catalog. */\n availableLocales: string[];\n}\n\nconst I18nContext = createContext<I18nContextValue | null>(null);\n\nexport interface I18nProviderProps {\n children: ReactNode;\n /** Initial locale. */\n locale: string;\n /** Fallback locale used when a key is missing. */\n fallbackLocale?: string;\n /** Translation catalog. */\n messages: Catalog;\n /** localStorage key for persisting the user choice. Pass `null` to disable. Default: `\"tempest-locale\"`. */\n storageKey?: string | null;\n}\n\nfunction readStored(storageKey: string | null, available: string[]): string | null {\n if (!storageKey || typeof window === \"undefined\") return null;\n try {\n const value = window.localStorage.getItem(storageKey);\n if (value && available.includes(value)) return value;\n return null;\n } catch {\n return null;\n }\n}\n\n/**\n * React provider for the SDK's lightweight i18n. Exposes the translation\n * helpers and a `setLocale` setter to children.\n *\n * @tempest-limits empty-catch — remembering the chosen locale is best-effort. The\n * switch itself is React state and already happened by the time the write runs, so\n * a storage failure costs the preference on the next load and nothing in this one.\n */\nexport function I18nProvider({\n children,\n locale: initialLocale,\n fallbackLocale,\n messages,\n storageKey = \"tempest-locale\",\n}: I18nProviderProps) {\n const availableLocales = useMemo(() => Object.keys(messages), [messages]);\n const [locale, setLocaleState] = useState<string>(\n () => readStored(storageKey, availableLocales) ?? initialLocale,\n );\n\n useEffect(() => {\n if (typeof document !== \"undefined\") {\n document.documentElement.setAttribute(\"lang\", locale);\n }\n }, [locale]);\n\n const setLocale = useCallback(\n (next: string) => {\n setLocaleState(next);\n if (storageKey && typeof window !== \"undefined\") {\n try {\n window.localStorage.setItem(storageKey, next);\n } catch {\n /* empty */\n }\n }\n },\n [storageKey],\n );\n\n const value = useMemo<I18nContextValue>(() => {\n const i18n = createI18n({ locale, fallbackLocale, messages });\n return { ...i18n, setLocale, availableLocales };\n }, [locale, fallbackLocale, messages, setLocale, availableLocales]);\n\n return <I18nContext.Provider value={value}>{children}</I18nContext.Provider>;\n}\n\n/**\n * Access translation helpers. Must be used inside an {@link I18nProvider}.\n */\nexport function useI18n(): I18nContextValue {\n const ctx = useContext(I18nContext);\n if (!ctx) throw new Error(\"useI18n must be used inside an <I18nProvider>\");\n return ctx;\n}\n\n/**\n * Access translation helpers when there may be no {@link I18nProvider} above.\n *\n * Returns `null` instead of throwing, which is what a piece of the SDK needs\n * when it wants to be translated where a catalog exists and still work where one\n * does not — i18n is opt-in in this SDK, and a helper that demanded a provider\n * would turn \"you did not configure translations\" into a crash.\n *\n * @returns The context value, or `null` outside a provider.\n */\nexport function useOptionalI18n(): I18nContextValue | null {\n return useContext(I18nContext);\n}\n\n/**\n * Shortcut for components that only need the `t` function — avoids destructuring.\n */\nexport function useTranslate(): I18nContextValue[\"t\"] {\n return useI18n().t;\n}\n"],"mappings":"2FAWA,IAAM,GAAA,EAAc,EAAA,cAAA,CAAuC,IAAI,EAc/D,SAAS,EAAW,EAA2B,EAAoC,CAC/E,GAAI,CAAC,GAAc,OAAO,OAAW,IAAa,OAAO,KACzD,GAAI,CACA,IAAM,EAAQ,OAAO,aAAa,QAAQ,CAAU,EAEpD,OADI,GAAS,EAAU,SAAS,CAAK,EAAU,EACxC,IACX,MAAQ,CACJ,OAAO,IACX,CACJ,CAUA,SAAgB,EAAa,CACzB,WACA,OAAQ,EACR,iBACA,WACA,aAAa,kBACK,CAClB,IAAM,GAAA,EAAmB,EAAA,QAAA,KAAc,OAAO,KAAK,CAAQ,EAAG,CAAC,CAAQ,CAAC,EAClE,CAAC,EAAQ,IAAA,EAAkB,EAAA,SAAA,KACvB,EAAW,EAAY,CAAgB,GAAK,CACtD,GAEA,EAAA,EAAA,UAAA,KAAgB,CACR,OAAO,SAAa,KACpB,SAAS,gBAAgB,aAAa,OAAQ,CAAM,CAE5D,EAAG,CAAC,CAAM,CAAC,EAEX,IAAM,GAAA,EAAY,EAAA,YAAA,CACb,GAAiB,CAEd,GADA,EAAe,CAAI,EACf,GAAc,OAAO,OAAW,IAChC,GAAI,CACA,OAAO,aAAa,QAAQ,EAAY,CAAI,CAChD,MAAQ,CAER,CAER,EACA,CAAC,CAAU,CACf,EAEM,GAAA,EAAQ,EAAA,QAAA,MAEH,CAAE,GADI,EAAA,WAAW,CAAE,SAAQ,iBAAgB,UAAS,CAC/C,EAAM,YAAW,kBAAiB,GAC/C,CAAC,EAAQ,EAAgB,EAAU,EAAW,CAAgB,CAAC,EAElE,OAAO,EAAA,EAAA,IAAA,CAAC,EAAY,SAAb,CAA6B,QAAQ,UAA+B,CAAA,CAC/E,CAKA,SAAgB,GAA4B,CACxC,IAAM,GAAA,EAAM,EAAA,WAAA,CAAW,CAAW,EAClC,GAAI,CAAC,EAAK,MAAU,MAAM,+CAA+C,EACzE,OAAO,CACX,CAYA,SAAgB,GAA2C,CACvD,OAAA,EAAO,EAAA,WAAA,CAAW,CAAW,CACjC,CAKA,SAAgB,GAAsC,CAClD,OAAO,EAAQ,CAAC,CAAC,CACrB"}
1
+ {"version":3,"file":"I18nProvider.cjs","names":["createContext","useMemo","useState","useCallback","createI18n","useContext","require_create_i18n","react","react_jsx_runtime","I18nContext","readStored","storageKey","value","available","I18nProvider","initialLocale","availableLocales","messages","locale","setLocaleState","setLocale","next","fallbackLocale","useI18n","ctx","useOptionalI18n","useTranslate"],"sources":["../../src/i18n/I18nProvider.tsx"],"sourcesContent":["import { createContext, useCallback, useContext, useEffect, useMemo, useState } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { createI18n, type Catalog, type I18n } from \"./create-i18n\";\n\nexport interface I18nContextValue extends I18n {\n /** Switch the active locale. Persisted when `storageKey` is set. */\n setLocale: (locale: string) => void;\n /** Locales available in the catalog. */\n availableLocales: string[];\n}\n\nconst I18nContext = createContext<I18nContextValue | null>(null);\n\nexport interface I18nProviderProps {\n children: ReactNode;\n /** Initial locale. */\n locale: string;\n /** Fallback locale used when a key is missing. */\n fallbackLocale?: string;\n /** Translation catalog. */\n messages: Catalog;\n /** localStorage key for persisting the user choice. Pass `null` to disable. Default: `\"tempest-locale\"`. */\n storageKey?: string | null;\n}\n\nfunction readStored(storageKey: string | null, available: string[]): string | null {\n if (!storageKey || typeof window === \"undefined\") return null;\n try {\n const value = window.localStorage.getItem(storageKey);\n if (value && available.includes(value)) return value;\n return null;\n } catch {\n return null;\n }\n}\n\n/**\n * React provider for the SDK's lightweight i18n. Exposes the translation\n * helpers and a `setLocale` setter to children.\n *\n * @tempest-limits empty-catch — remembering the chosen locale is best-effort. The\n * switch itself is React state and already happened by the time the write runs, so\n * a storage failure costs the preference on the next load and nothing in this one.\n */\nexport function I18nProvider({\n children,\n locale: initialLocale,\n fallbackLocale,\n messages,\n storageKey = \"tempest-locale\",\n}: I18nProviderProps) {\n const availableLocales = useMemo(() => Object.keys(messages), [messages]);\n const [locale, setLocaleState] = useState<string>(\n () => readStored(storageKey, availableLocales) ?? initialLocale,\n );\n\n useEffect(() => {\n if (typeof document !== \"undefined\") {\n document.documentElement.setAttribute(\"lang\", locale);\n }\n }, [locale]);\n\n const setLocale = useCallback(\n (next: string) => {\n setLocaleState(next);\n if (storageKey && typeof window !== \"undefined\") {\n try {\n window.localStorage.setItem(storageKey, next);\n } catch {\n /* empty */\n }\n }\n },\n [storageKey],\n );\n\n const value = useMemo<I18nContextValue>(() => {\n const i18n = createI18n({ locale, fallbackLocale, messages });\n return { ...i18n, setLocale, availableLocales };\n }, [locale, fallbackLocale, messages, setLocale, availableLocales]);\n\n return <I18nContext.Provider value={value}>{children}</I18nContext.Provider>;\n}\n\n/**\n * Access translation helpers. Must be used inside an {@link I18nProvider}.\n */\nexport function useI18n(): I18nContextValue {\n const ctx = useContext(I18nContext);\n if (!ctx) throw new Error(\"useI18n must be used inside an <I18nProvider>\");\n return ctx;\n}\n\n/**\n * Access translation helpers when there may be no {@link I18nProvider} above.\n *\n * Returns `null` instead of throwing, which is what a piece of the SDK needs\n * when it wants to be translated where a catalog exists and still work where one\n * does not — i18n is opt-in in this SDK, and a helper that demanded a provider\n * would turn \"you did not configure translations\" into a crash.\n *\n * @returns The context value, or `null` outside a provider.\n */\nexport function useOptionalI18n(): I18nContextValue | null {\n return useContext(I18nContext);\n}\n\n/**\n * Shortcut for components that only need the `t` function — avoids destructuring.\n */\nexport function useTranslate(): I18nContextValue[\"t\"] {\n return useI18n().t;\n}\n"],"mappings":"A,2FAWA,IAAMS,GAAA,EAAcT,EAAAA,cAAAA,CAAuC,IAAI,EAc/D,SAASU,EAAW,EAA2B,EAAoC,CAC/E,GAAI,CAACC,GAAc,OAAO,OAAW,IAAa,OAAO,KACzD,GAAI,CACA,IAAMC,EAAQ,OAAO,aAAa,QAAQD,CAAU,EAEpD,OADIC,GAASC,EAAU,SAASD,CAAK,EAAUA,EACxC,IACX,MAAQ,CACJ,OAAO,IACX,CACJ,CAUA,SAAgBE,EAAa,CACzB,WACA,OAAQC,EACR,iBACA,WACA,aAAa,kBACK,CAClB,IAAMC,GAAA,EAAmBf,EAAAA,QAAAA,KAAc,OAAO,KAAKgB,CAAQ,EAAG,CAACA,CAAQ,CAAC,EAClE,CAACC,EAAQC,IAAA,EAAkBjB,EAAAA,SAAAA,KACvBQ,EAAWC,EAAYK,CAAgB,GAAKD,CACtD,GAEA,EAAAR,EAAA,UAAA,KAAgB,CACR,OAAO,SAAa,KACpB,SAAS,gBAAgB,aAAa,OAAQW,CAAM,CAE5D,EAAG,CAACA,CAAM,CAAC,EAEX,IAAME,GAAA,EAAYjB,EAAAA,YAAAA,CACb,GAAiB,CAEd,GADAgB,EAAeE,CAAI,EACfV,GAAc,OAAO,OAAW,IAChC,GAAI,CACA,OAAO,aAAa,QAAQA,EAAYU,CAAI,CAChD,MAAQ,CAER,CAER,EACA,CAACV,CAAU,CACf,EAEMC,GAAA,EAAQX,EAAAA,QAAAA,MAEH,CAAE,GADIG,EAAAA,WAAW,CAAE,SAAQ,iBAAgB,UAAS,CAC/C,EAAM,YAAW,kBAAiB,GAC/C,CAACc,EAAQI,EAAgBL,EAAUG,EAAWJ,CAAgB,CAAC,EAElE,OAAO,EAAAR,EAAA,IAAA,CAACC,EAAY,SAAb,CAA6B,QAAQ,UAA+B,CAAA,CAC/E,CAKA,SAAgBc,GAA4B,CACxC,IAAMC,GAAA,EAAMnB,EAAAA,WAAAA,CAAWI,CAAW,EAClC,GAAI,CAACe,EAAK,MAAU,MAAM,+CAA+C,EACzE,OAAOA,CACX,CAYA,SAAgBC,GAA2C,CACvD,OAAA,EAAOpB,EAAAA,WAAAA,CAAWI,CAAW,CACjC,CAKA,SAAgBiB,GAAsC,CAClD,OAAOH,EAAQ,CAAC,CAAC,CACrB,C"}
@@ -1 +1 @@
1
- {"version":3,"file":"I18nProvider.js","names":[],"sources":["../../src/i18n/I18nProvider.tsx"],"sourcesContent":["import { createContext, useCallback, useContext, useEffect, useMemo, useState } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { createI18n, type Catalog, type I18n } from \"./create-i18n\";\n\nexport interface I18nContextValue extends I18n {\n /** Switch the active locale. Persisted when `storageKey` is set. */\n setLocale: (locale: string) => void;\n /** Locales available in the catalog. */\n availableLocales: string[];\n}\n\nconst I18nContext = createContext<I18nContextValue | null>(null);\n\nexport interface I18nProviderProps {\n children: ReactNode;\n /** Initial locale. */\n locale: string;\n /** Fallback locale used when a key is missing. */\n fallbackLocale?: string;\n /** Translation catalog. */\n messages: Catalog;\n /** localStorage key for persisting the user choice. Pass `null` to disable. Default: `\"tempest-locale\"`. */\n storageKey?: string | null;\n}\n\nfunction readStored(storageKey: string | null, available: string[]): string | null {\n if (!storageKey || typeof window === \"undefined\") return null;\n try {\n const value = window.localStorage.getItem(storageKey);\n if (value && available.includes(value)) return value;\n return null;\n } catch {\n return null;\n }\n}\n\n/**\n * React provider for the SDK's lightweight i18n. Exposes the translation\n * helpers and a `setLocale` setter to children.\n *\n * @tempest-limits empty-catch — remembering the chosen locale is best-effort. The\n * switch itself is React state and already happened by the time the write runs, so\n * a storage failure costs the preference on the next load and nothing in this one.\n */\nexport function I18nProvider({\n children,\n locale: initialLocale,\n fallbackLocale,\n messages,\n storageKey = \"tempest-locale\",\n}: I18nProviderProps) {\n const availableLocales = useMemo(() => Object.keys(messages), [messages]);\n const [locale, setLocaleState] = useState<string>(\n () => readStored(storageKey, availableLocales) ?? initialLocale,\n );\n\n useEffect(() => {\n if (typeof document !== \"undefined\") {\n document.documentElement.setAttribute(\"lang\", locale);\n }\n }, [locale]);\n\n const setLocale = useCallback(\n (next: string) => {\n setLocaleState(next);\n if (storageKey && typeof window !== \"undefined\") {\n try {\n window.localStorage.setItem(storageKey, next);\n } catch {\n /* empty */\n }\n }\n },\n [storageKey],\n );\n\n const value = useMemo<I18nContextValue>(() => {\n const i18n = createI18n({ locale, fallbackLocale, messages });\n return { ...i18n, setLocale, availableLocales };\n }, [locale, fallbackLocale, messages, setLocale, availableLocales]);\n\n return <I18nContext.Provider value={value}>{children}</I18nContext.Provider>;\n}\n\n/**\n * Access translation helpers. Must be used inside an {@link I18nProvider}.\n */\nexport function useI18n(): I18nContextValue {\n const ctx = useContext(I18nContext);\n if (!ctx) throw new Error(\"useI18n must be used inside an <I18nProvider>\");\n return ctx;\n}\n\n/**\n * Access translation helpers when there may be no {@link I18nProvider} above.\n *\n * Returns `null` instead of throwing, which is what a piece of the SDK needs\n * when it wants to be translated where a catalog exists and still work where one\n * does not — i18n is opt-in in this SDK, and a helper that demanded a provider\n * would turn \"you did not configure translations\" into a crash.\n *\n * @returns The context value, or `null` outside a provider.\n */\nexport function useOptionalI18n(): I18nContextValue | null {\n return useContext(I18nContext);\n}\n\n/**\n * Shortcut for components that only need the `t` function — avoids destructuring.\n */\nexport function useTranslate(): I18nContextValue[\"t\"] {\n return useI18n().t;\n}\n"],"mappings":";;;;AAWA,IAAM,IAAc,EAAuC,IAAI;AAc/D,SAAS,EAAW,GAA2B,GAAoC;CAC/E,IAAI,CAAC,KAAc,OAAO,SAAW,KAAa,OAAO;CACzD,IAAI;EACA,IAAM,IAAQ,OAAO,aAAa,QAAQ,CAAU;EAEpD,OADI,KAAS,EAAU,SAAS,CAAK,IAAU,IACxC;CACX,QAAQ;EACJ,OAAO;CACX;AACJ;AAUA,SAAgB,EAAa,EACzB,aACA,QAAQ,GACR,mBACA,aACA,gBAAa,oBACK;CAClB,IAAM,IAAmB,QAAc,OAAO,KAAK,CAAQ,GAAG,CAAC,CAAQ,CAAC,GAClE,CAAC,GAAQ,KAAkB,QACvB,EAAW,GAAY,CAAgB,KAAK,CACtD;CAEA,QAAgB;EACZ,AAAI,OAAO,WAAa,OACpB,SAAS,gBAAgB,aAAa,QAAQ,CAAM;CAE5D,GAAG,CAAC,CAAM,CAAC;CAEX,IAAM,IAAY,GACb,MAAiB;EAEd,IADA,EAAe,CAAI,GACf,KAAc,OAAO,SAAW,KAChC,IAAI;GACA,OAAO,aAAa,QAAQ,GAAY,CAAI;EAChD,QAAQ,CAER;CAER,GACA,CAAC,CAAU,CACf,GAEM,IAAQ,SAEH;EAAE,GADI,EAAW;GAAE;GAAQ;GAAgB;EAAS,CAC/C;EAAM;EAAW;CAAiB,IAC/C;EAAC;EAAQ;EAAgB;EAAU;EAAW;CAAgB,CAAC;CAElE,OAAO,kBAAC,EAAY,UAAb;EAA6B;EAAQ;CAA+B,CAAA;AAC/E;AAKA,SAAgB,IAA4B;CACxC,IAAM,IAAM,EAAW,CAAW;CAClC,IAAI,CAAC,GAAK,MAAU,MAAM,+CAA+C;CACzE,OAAO;AACX;AAYA,SAAgB,IAA2C;CACvD,OAAO,EAAW,CAAW;AACjC;AAKA,SAAgB,IAAsC;CAClD,OAAO,EAAQ,CAAC,CAAC;AACrB"}
1
+ {"version":3,"file":"I18nProvider.js","names":["I18nContext","createContext","readStored","storageKey","value","available","I18nProvider","initialLocale","availableLocales","useMemo","messages","locale","setLocaleState","useState","setLocale","useCallback","next","createI18n","fallbackLocale","useI18n","ctx","useContext","useOptionalI18n","useTranslate"],"sources":["../../src/i18n/I18nProvider.tsx"],"sourcesContent":["import { createContext, useCallback, useContext, useEffect, useMemo, useState } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { createI18n, type Catalog, type I18n } from \"./create-i18n\";\n\nexport interface I18nContextValue extends I18n {\n /** Switch the active locale. Persisted when `storageKey` is set. */\n setLocale: (locale: string) => void;\n /** Locales available in the catalog. */\n availableLocales: string[];\n}\n\nconst I18nContext = createContext<I18nContextValue | null>(null);\n\nexport interface I18nProviderProps {\n children: ReactNode;\n /** Initial locale. */\n locale: string;\n /** Fallback locale used when a key is missing. */\n fallbackLocale?: string;\n /** Translation catalog. */\n messages: Catalog;\n /** localStorage key for persisting the user choice. Pass `null` to disable. Default: `\"tempest-locale\"`. */\n storageKey?: string | null;\n}\n\nfunction readStored(storageKey: string | null, available: string[]): string | null {\n if (!storageKey || typeof window === \"undefined\") return null;\n try {\n const value = window.localStorage.getItem(storageKey);\n if (value && available.includes(value)) return value;\n return null;\n } catch {\n return null;\n }\n}\n\n/**\n * React provider for the SDK's lightweight i18n. Exposes the translation\n * helpers and a `setLocale` setter to children.\n *\n * @tempest-limits empty-catch — remembering the chosen locale is best-effort. The\n * switch itself is React state and already happened by the time the write runs, so\n * a storage failure costs the preference on the next load and nothing in this one.\n */\nexport function I18nProvider({\n children,\n locale: initialLocale,\n fallbackLocale,\n messages,\n storageKey = \"tempest-locale\",\n}: I18nProviderProps) {\n const availableLocales = useMemo(() => Object.keys(messages), [messages]);\n const [locale, setLocaleState] = useState<string>(\n () => readStored(storageKey, availableLocales) ?? initialLocale,\n );\n\n useEffect(() => {\n if (typeof document !== \"undefined\") {\n document.documentElement.setAttribute(\"lang\", locale);\n }\n }, [locale]);\n\n const setLocale = useCallback(\n (next: string) => {\n setLocaleState(next);\n if (storageKey && typeof window !== \"undefined\") {\n try {\n window.localStorage.setItem(storageKey, next);\n } catch {\n /* empty */\n }\n }\n },\n [storageKey],\n );\n\n const value = useMemo<I18nContextValue>(() => {\n const i18n = createI18n({ locale, fallbackLocale, messages });\n return { ...i18n, setLocale, availableLocales };\n }, [locale, fallbackLocale, messages, setLocale, availableLocales]);\n\n return <I18nContext.Provider value={value}>{children}</I18nContext.Provider>;\n}\n\n/**\n * Access translation helpers. Must be used inside an {@link I18nProvider}.\n */\nexport function useI18n(): I18nContextValue {\n const ctx = useContext(I18nContext);\n if (!ctx) throw new Error(\"useI18n must be used inside an <I18nProvider>\");\n return ctx;\n}\n\n/**\n * Access translation helpers when there may be no {@link I18nProvider} above.\n *\n * Returns `null` instead of throwing, which is what a piece of the SDK needs\n * when it wants to be translated where a catalog exists and still work where one\n * does not — i18n is opt-in in this SDK, and a helper that demanded a provider\n * would turn \"you did not configure translations\" into a crash.\n *\n * @returns The context value, or `null` outside a provider.\n */\nexport function useOptionalI18n(): I18nContextValue | null {\n return useContext(I18nContext);\n}\n\n/**\n * Shortcut for components that only need the `t` function — avoids destructuring.\n */\nexport function useTranslate(): I18nContextValue[\"t\"] {\n return useI18n().t;\n}\n"],"mappings":";;;;AAWA,IAAMA,IAAcC,EAAuC,IAAI;AAc/D,SAASC,EAAW,GAA2B,GAAoC;CAC/E,IAAI,CAACC,KAAc,OAAO,SAAW,KAAa,OAAO;CACzD,IAAI;EACA,IAAMC,IAAQ,OAAO,aAAa,QAAQD,CAAU;EAEpD,OADIC,KAASC,EAAU,SAASD,CAAK,IAAUA,IACxC;CACX,QAAQ;EACJ,OAAO;CACX;AACJ;AAUA,SAAgBE,EAAa,EACzB,aACA,QAAQC,GACR,mBACA,aACA,gBAAa,oBACK;CAClB,IAAMC,IAAmBC,QAAc,OAAO,KAAKC,CAAQ,GAAG,CAACA,CAAQ,CAAC,GAClE,CAACC,GAAQC,KAAkBC,QACvBX,EAAWC,GAAYK,CAAgB,KAAKD,CACtD;CAEA,QAAgB;EACZ,AAAI,OAAO,WAAa,OACpB,SAAS,gBAAgB,aAAa,QAAQI,CAAM;CAE5D,GAAG,CAACA,CAAM,CAAC;CAEX,IAAMG,IAAYC,GACb,MAAiB;EAEd,IADAH,EAAeI,CAAI,GACfb,KAAc,OAAO,SAAW,KAChC,IAAI;GACA,OAAO,aAAa,QAAQA,GAAYa,CAAI;EAChD,QAAQ,CAER;CAER,GACA,CAACb,CAAU,CACf,GAEMC,IAAQK,SAEH;EAAE,GADIQ,EAAW;GAAE;GAAQ;GAAgB;EAAS,CAC/C;EAAM;EAAW;CAAiB,IAC/C;EAACN;EAAQO;EAAgBR;EAAUI;EAAWN;CAAgB,CAAC;CAElE,OAAO,kBAACR,EAAY,UAAb;EAA6B;EAAQ;CAA+B,CAAA;AAC/E;AAKA,SAAgBmB,IAA4B;CACxC,IAAMC,IAAMC,EAAWrB,CAAW;CAClC,IAAI,CAACoB,GAAK,MAAU,MAAM,+CAA+C;CACzE,OAAOA;AACX;AAYA,SAAgBE,IAA2C;CACvD,OAAOD,EAAWrB,CAAW;AACjC;AAKA,SAAgBuB,IAAsC;CAClD,OAAOJ,EAAQ,CAAC,CAAC;AACrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-i18n.cjs","names":[],"sources":["../../src/i18n/create-i18n.ts"],"sourcesContent":["import { dateTimeFormat, numberFormat } from \"@/utils/intl-cache\";\nexport type Messages = Record<string, string>;\nexport type Catalog = Record<string, Messages>;\nexport type InterpolationValues = Record<string, string | number>;\n\nexport interface CreateI18nOptions {\n /** Initial locale. */\n locale: string;\n /** Fallback locale used when a key is missing in the active locale. */\n fallbackLocale?: string;\n /** Catalog `{ [locale]: { [key]: \"...\" } }`. */\n messages: Catalog;\n}\n\n/** Per-call options for {@link I18n.t} and {@link I18n.plural}. */\nexport interface TranslateOptions {\n /**\n * Text to use when the catalog defines neither the key nor its fallback.\n *\n * Without this, a miss returns the key, and a caller that wants its own text\n * instead has to *detect* the miss — which from the outside means comparing\n * the result against the key it just passed in. That heuristic is wrong for a\n * catalog that legitimately maps a key to itself, and it is what every\n * translatable string the SDK ships would otherwise have to copy.\n *\n * Interpolated like any other message, so a default carries `{placeholders}`\n * too and is not second-class.\n */\n default?: string;\n}\n\nexport interface I18n {\n /** Currently active locale. */\n locale: string;\n /** Fallback locale (or `null` when not configured). */\n fallbackLocale: string | null;\n /**\n * Translate `key`, interpolating `{name}` placeholders from `params`.\n * Falls back to the configured fallback locale, then to `options.default`,\n * then to the key itself.\n */\n t: (key: string, params?: InterpolationValues, options?: TranslateOptions) => string;\n /**\n * Plural-aware translation. Tries `${key}_one` for `count === 1` and\n * `${key}_other` otherwise, with `{count}` available for interpolation.\n * Falls back to `options.default`, then to the key itself.\n */\n plural: (\n key: string,\n count: number,\n params?: InterpolationValues,\n options?: TranslateOptions,\n ) => string;\n /** Format a number using `Intl.NumberFormat` on the active locale. */\n formatNumber: (value: number, options?: Intl.NumberFormatOptions) => string;\n /** Format a Date using `Intl.DateTimeFormat` on the active locale. */\n formatDate: (value: Date | string, options?: Intl.DateTimeFormatOptions) => string;\n /** Build a new `I18n` instance pointing at a different locale. */\n withLocale: (locale: string) => I18n;\n}\n\nfunction interpolate(template: string, params?: InterpolationValues): string {\n if (!params) return template;\n return template.replace(/\\{(\\w+)\\}/g, (_match, name: string) => {\n const value = params[name];\n return value === undefined ? `{${name}}` : String(value);\n });\n}\n\nfunction lookup(\n catalog: Catalog,\n locale: string,\n fallback: string | null,\n key: string,\n): string | null {\n const direct = catalog[locale]?.[key];\n if (direct !== undefined) return direct;\n if (fallback) {\n const fallbackValue = catalog[fallback]?.[key];\n if (fallbackValue !== undefined) return fallbackValue;\n }\n return null;\n}\n\n/**\n * Create an i18n object with translation, pluralization and Intl helpers.\n *\n * The catalog is a plain `{ [locale]: { [key]: \"...\" } }` map — bring your\n * own keys, namespaces, or nested-key conventions. The SDK does not enforce\n * a schema so you can plug it into any string-loading pipeline.\n *\n * @example\n * const i18n = createI18n({\n * locale: \"pt-BR\",\n * fallbackLocale: \"en\",\n * messages: {\n * \"pt-BR\": {\n * \"greet\": \"Olá, {name}\",\n * \"alos_one\": \"{count} Alô\",\n * \"alos_other\": \"{count} Alôs\",\n * },\n * \"en\": { greet: \"Hi, {name}\", alos_one: \"{count} Alo\", alos_other: \"{count} Alos\" },\n * },\n * });\n * i18n.t(\"greet\", { name: \"Mau\" }); // \"Olá, Mau\"\n * i18n.plural(\"alos\", 3); // \"3 Alôs\"\n *\n * @example\n * // A key the catalog does not define, with text to show instead of the key.\n * i18n.t(\"cart.empty\", undefined, { default: \"Seu carrinho está vazio\" });\n */\nexport function createI18n(options: CreateI18nOptions): I18n {\n const { locale, fallbackLocale = null, messages } = options;\n\n function t(key: string, params?: InterpolationValues, options?: TranslateOptions): string {\n const template = lookup(messages, locale, fallbackLocale, key) ?? options?.default;\n if (template === undefined) return key;\n return interpolate(template, params);\n }\n\n function plural(\n key: string,\n count: number,\n params?: InterpolationValues,\n options?: TranslateOptions,\n ): string {\n const suffix = count === 1 ? \"_one\" : \"_other\";\n const template =\n lookup(messages, locale, fallbackLocale, `${key}${suffix}`) ??\n lookup(messages, locale, fallbackLocale, key) ??\n options?.default;\n if (template === undefined) return key;\n return interpolate(template, { count, ...(params ?? {}) });\n }\n\n function formatNumber(value: number, opts?: Intl.NumberFormatOptions): string {\n return numberFormat(locale, opts).format(value);\n }\n\n function formatDate(value: Date | string, opts?: Intl.DateTimeFormatOptions): string {\n const date = typeof value === \"string\" ? new Date(value) : value;\n if (Number.isNaN(date.getTime())) return \"\";\n return dateTimeFormat(locale, opts).format(date);\n }\n\n return {\n locale,\n fallbackLocale,\n t,\n plural,\n formatNumber,\n formatDate,\n withLocale: (nextLocale) =>\n createI18n({\n locale: nextLocale,\n fallbackLocale: fallbackLocale ?? undefined,\n messages,\n }),\n };\n}\n"],"mappings":"2CA6DA,SAAS,EAAY,EAAkB,EAAsC,CAEzE,OADK,EACE,EAAS,QAAQ,cAAe,EAAQ,IAAiB,CAC5D,IAAM,EAAQ,EAAO,GACrB,OAAO,IAAU,IAAA,GAAY,IAAI,EAAK,GAAK,OAAO,CAAK,CAC3D,CAAC,EAJmB,CAKxB,CAEA,SAAS,EACL,EACA,EACA,EACA,EACa,CACb,IAAM,EAAS,EAAQ,EAAO,GAAG,GACjC,GAAI,IAAW,IAAA,GAAW,OAAO,EACjC,GAAI,EAAU,CACV,IAAM,EAAgB,EAAQ,EAAS,GAAG,GAC1C,GAAI,IAAkB,IAAA,GAAW,OAAO,CAC5C,CACA,OAAO,IACX,CA6BA,SAAgB,EAAW,EAAkC,CACzD,GAAM,CAAE,SAAQ,iBAAiB,KAAM,YAAa,EAEpD,SAAS,EAAE,EAAa,EAA8B,EAAoC,CACtF,IAAM,EAAW,EAAO,EAAU,EAAQ,EAAgB,CAAG,GAAK,GAAS,QAE3E,OADI,IAAa,IAAA,GAAkB,EAC5B,EAAY,EAAU,CAAM,CACvC,CAEA,SAAS,EACL,EACA,EACA,EACA,EACM,CAEN,IAAM,EACF,EAAO,EAAU,EAAQ,EAAgB,GAAG,IAFjC,IAAU,EAAI,OAAS,UAEwB,GAC1D,EAAO,EAAU,EAAQ,EAAgB,CAAG,GAC5C,GAAS,QAEb,OADI,IAAa,IAAA,GAAkB,EAC5B,EAAY,EAAU,CAAE,QAAO,GAAI,GAAU,CAAC,CAAG,CAAC,CAC7D,CAEA,SAAS,EAAa,EAAe,EAAyC,CAC1E,OAAO,EAAA,aAAa,EAAQ,CAAI,CAAC,CAAC,OAAO,CAAK,CAClD,CAEA,SAAS,EAAW,EAAsB,EAA2C,CACjF,IAAM,EAAO,OAAO,GAAU,SAAW,IAAI,KAAK,CAAK,EAAI,EAE3D,OADI,OAAO,MAAM,EAAK,QAAQ,CAAC,EAAU,GAClC,EAAA,eAAe,EAAQ,CAAI,CAAC,CAAC,OAAO,CAAI,CACnD,CAEA,MAAO,CACH,SACA,iBACA,IACA,SACA,eACA,aACA,WAAa,GACT,EAAW,CACP,OAAQ,EACR,eAAgB,GAAkB,IAAA,GAClC,UACJ,CAAC,CACT,CACJ"}
1
+ {"version":3,"file":"create-i18n.cjs","names":["numberFormat","dateTimeFormat","require_intl_cache","interpolate","params","template","value","name","lookup","direct","catalog","locale","key","fallback","fallbackValue","createI18n","options","t","messages","fallbackLocale","plural","count","formatNumber","opts","formatDate","date","nextLocale"],"sources":["../../src/i18n/create-i18n.ts"],"sourcesContent":["import { dateTimeFormat, numberFormat } from \"@/utils/intl-cache\";\nexport type Messages = Record<string, string>;\nexport type Catalog = Record<string, Messages>;\nexport type InterpolationValues = Record<string, string | number>;\n\nexport interface CreateI18nOptions {\n /** Initial locale. */\n locale: string;\n /** Fallback locale used when a key is missing in the active locale. */\n fallbackLocale?: string;\n /** Catalog `{ [locale]: { [key]: \"...\" } }`. */\n messages: Catalog;\n}\n\n/** Per-call options for {@link I18n.t} and {@link I18n.plural}. */\nexport interface TranslateOptions {\n /**\n * Text to use when the catalog defines neither the key nor its fallback.\n *\n * Without this, a miss returns the key, and a caller that wants its own text\n * instead has to *detect* the miss — which from the outside means comparing\n * the result against the key it just passed in. That heuristic is wrong for a\n * catalog that legitimately maps a key to itself, and it is what every\n * translatable string the SDK ships would otherwise have to copy.\n *\n * Interpolated like any other message, so a default carries `{placeholders}`\n * too and is not second-class.\n */\n default?: string;\n}\n\nexport interface I18n {\n /** Currently active locale. */\n locale: string;\n /** Fallback locale (or `null` when not configured). */\n fallbackLocale: string | null;\n /**\n * Translate `key`, interpolating `{name}` placeholders from `params`.\n * Falls back to the configured fallback locale, then to `options.default`,\n * then to the key itself.\n */\n t: (key: string, params?: InterpolationValues, options?: TranslateOptions) => string;\n /**\n * Plural-aware translation. Tries `${key}_one` for `count === 1` and\n * `${key}_other` otherwise, with `{count}` available for interpolation.\n * Falls back to `options.default`, then to the key itself.\n */\n plural: (\n key: string,\n count: number,\n params?: InterpolationValues,\n options?: TranslateOptions,\n ) => string;\n /** Format a number using `Intl.NumberFormat` on the active locale. */\n formatNumber: (value: number, options?: Intl.NumberFormatOptions) => string;\n /** Format a Date using `Intl.DateTimeFormat` on the active locale. */\n formatDate: (value: Date | string, options?: Intl.DateTimeFormatOptions) => string;\n /** Build a new `I18n` instance pointing at a different locale. */\n withLocale: (locale: string) => I18n;\n}\n\nfunction interpolate(template: string, params?: InterpolationValues): string {\n if (!params) return template;\n return template.replace(/\\{(\\w+)\\}/g, (_match, name: string) => {\n const value = params[name];\n return value === undefined ? `{${name}}` : String(value);\n });\n}\n\nfunction lookup(\n catalog: Catalog,\n locale: string,\n fallback: string | null,\n key: string,\n): string | null {\n const direct = catalog[locale]?.[key];\n if (direct !== undefined) return direct;\n if (fallback) {\n const fallbackValue = catalog[fallback]?.[key];\n if (fallbackValue !== undefined) return fallbackValue;\n }\n return null;\n}\n\n/**\n * Create an i18n object with translation, pluralization and Intl helpers.\n *\n * The catalog is a plain `{ [locale]: { [key]: \"...\" } }` map — bring your\n * own keys, namespaces, or nested-key conventions. The SDK does not enforce\n * a schema so you can plug it into any string-loading pipeline.\n *\n * @example\n * const i18n = createI18n({\n * locale: \"pt-BR\",\n * fallbackLocale: \"en\",\n * messages: {\n * \"pt-BR\": {\n * \"greet\": \"Olá, {name}\",\n * \"alos_one\": \"{count} Alô\",\n * \"alos_other\": \"{count} Alôs\",\n * },\n * \"en\": { greet: \"Hi, {name}\", alos_one: \"{count} Alo\", alos_other: \"{count} Alos\" },\n * },\n * });\n * i18n.t(\"greet\", { name: \"Mau\" }); // \"Olá, Mau\"\n * i18n.plural(\"alos\", 3); // \"3 Alôs\"\n *\n * @example\n * // A key the catalog does not define, with text to show instead of the key.\n * i18n.t(\"cart.empty\", undefined, { default: \"Seu carrinho está vazio\" });\n */\nexport function createI18n(options: CreateI18nOptions): I18n {\n const { locale, fallbackLocale = null, messages } = options;\n\n function t(key: string, params?: InterpolationValues, options?: TranslateOptions): string {\n const template = lookup(messages, locale, fallbackLocale, key) ?? options?.default;\n if (template === undefined) return key;\n return interpolate(template, params);\n }\n\n function plural(\n key: string,\n count: number,\n params?: InterpolationValues,\n options?: TranslateOptions,\n ): string {\n const suffix = count === 1 ? \"_one\" : \"_other\";\n const template =\n lookup(messages, locale, fallbackLocale, `${key}${suffix}`) ??\n lookup(messages, locale, fallbackLocale, key) ??\n options?.default;\n if (template === undefined) return key;\n return interpolate(template, { count, ...(params ?? {}) });\n }\n\n function formatNumber(value: number, opts?: Intl.NumberFormatOptions): string {\n return numberFormat(locale, opts).format(value);\n }\n\n function formatDate(value: Date | string, opts?: Intl.DateTimeFormatOptions): string {\n const date = typeof value === \"string\" ? new Date(value) : value;\n if (Number.isNaN(date.getTime())) return \"\";\n return dateTimeFormat(locale, opts).format(date);\n }\n\n return {\n locale,\n fallbackLocale,\n t,\n plural,\n formatNumber,\n formatDate,\n withLocale: (nextLocale) =>\n createI18n({\n locale: nextLocale,\n fallbackLocale: fallbackLocale ?? undefined,\n messages,\n }),\n };\n}\n"],"mappings":"A,2CA6DA,SAASG,EAAY,EAAkB,EAAsC,CAEzE,OADKC,EACEC,EAAS,QAAQ,cAAe,EAAQ,IAAiB,CAC5D,IAAMC,EAAQF,EAAOG,GACrB,OAAOD,IAAU,IAAA,GAAY,IAAIC,EAAK,GAAK,OAAOD,CAAK,CAC3D,CAAC,EAJmBD,CAKxB,CAEA,SAASG,EACL,EACA,EACA,EACA,EACa,CACb,IAAMC,EAASC,EAAQC,EAAO,GAAGC,GACjC,GAAIH,IAAW,IAAA,GAAW,OAAOA,EACjC,GAAII,EAAU,CACV,IAAMC,EAAgBJ,EAAQG,EAAS,GAAGD,GAC1C,GAAIE,IAAkB,IAAA,GAAW,OAAOA,CAC5C,CACA,OAAO,IACX,CA6BA,SAAgBC,EAAW,EAAkC,CACzD,GAAM,CAAE,SAAQ,iBAAiB,KAAM,YAAaC,EAEpD,SAASC,EAAE,EAAa,EAA8B,EAAoC,CACtF,IAAMZ,EAAWG,EAAOU,EAAUP,EAAQQ,EAAgBP,CAAG,GAAKI,GAAS,QAE3E,OADIX,IAAa,IAAA,GAAkBO,EAC5BT,EAAYE,EAAUD,CAAM,CACvC,CAEA,SAASgB,EACL,EACA,EACA,EACA,EACM,CAEN,IAAMf,EACFG,EAAOU,EAAUP,EAAQQ,EAAgB,GAAGP,IAFjCS,IAAU,EAAI,OAAS,UAEwB,GAC1Db,EAAOU,EAAUP,EAAQQ,EAAgBP,CAAG,GAC5CI,GAAS,QAEb,OADIX,IAAa,IAAA,GAAkBO,EAC5BT,EAAYE,EAAU,CAAE,QAAO,GAAID,GAAU,CAAC,CAAG,CAAC,CAC7D,CAEA,SAASkB,EAAa,EAAe,EAAyC,CAC1E,OAAOtB,EAAAA,aAAaW,EAAQY,CAAI,CAAC,CAAC,OAAOjB,CAAK,CAClD,CAEA,SAASkB,EAAW,EAAsB,EAA2C,CACjF,IAAMC,EAAO,OAAOnB,GAAU,SAAW,IAAI,KAAKA,CAAK,EAAIA,EAE3D,OADI,OAAO,MAAMmB,EAAK,QAAQ,CAAC,EAAU,GAClCxB,EAAAA,eAAeU,EAAQY,CAAI,CAAC,CAAC,OAAOE,CAAI,CACnD,CAEA,MAAO,CACH,SACA,iBACA,IACA,SACA,eACA,aACA,WAAa,GACTV,EAAW,CACP,OAAQW,EACR,eAAgBP,GAAkB,IAAA,GAClC,UACJ,CAAC,CACT,CACJ,C"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-i18n.js","names":[],"sources":["../../src/i18n/create-i18n.ts"],"sourcesContent":["import { dateTimeFormat, numberFormat } from \"@/utils/intl-cache\";\nexport type Messages = Record<string, string>;\nexport type Catalog = Record<string, Messages>;\nexport type InterpolationValues = Record<string, string | number>;\n\nexport interface CreateI18nOptions {\n /** Initial locale. */\n locale: string;\n /** Fallback locale used when a key is missing in the active locale. */\n fallbackLocale?: string;\n /** Catalog `{ [locale]: { [key]: \"...\" } }`. */\n messages: Catalog;\n}\n\n/** Per-call options for {@link I18n.t} and {@link I18n.plural}. */\nexport interface TranslateOptions {\n /**\n * Text to use when the catalog defines neither the key nor its fallback.\n *\n * Without this, a miss returns the key, and a caller that wants its own text\n * instead has to *detect* the miss — which from the outside means comparing\n * the result against the key it just passed in. That heuristic is wrong for a\n * catalog that legitimately maps a key to itself, and it is what every\n * translatable string the SDK ships would otherwise have to copy.\n *\n * Interpolated like any other message, so a default carries `{placeholders}`\n * too and is not second-class.\n */\n default?: string;\n}\n\nexport interface I18n {\n /** Currently active locale. */\n locale: string;\n /** Fallback locale (or `null` when not configured). */\n fallbackLocale: string | null;\n /**\n * Translate `key`, interpolating `{name}` placeholders from `params`.\n * Falls back to the configured fallback locale, then to `options.default`,\n * then to the key itself.\n */\n t: (key: string, params?: InterpolationValues, options?: TranslateOptions) => string;\n /**\n * Plural-aware translation. Tries `${key}_one` for `count === 1` and\n * `${key}_other` otherwise, with `{count}` available for interpolation.\n * Falls back to `options.default`, then to the key itself.\n */\n plural: (\n key: string,\n count: number,\n params?: InterpolationValues,\n options?: TranslateOptions,\n ) => string;\n /** Format a number using `Intl.NumberFormat` on the active locale. */\n formatNumber: (value: number, options?: Intl.NumberFormatOptions) => string;\n /** Format a Date using `Intl.DateTimeFormat` on the active locale. */\n formatDate: (value: Date | string, options?: Intl.DateTimeFormatOptions) => string;\n /** Build a new `I18n` instance pointing at a different locale. */\n withLocale: (locale: string) => I18n;\n}\n\nfunction interpolate(template: string, params?: InterpolationValues): string {\n if (!params) return template;\n return template.replace(/\\{(\\w+)\\}/g, (_match, name: string) => {\n const value = params[name];\n return value === undefined ? `{${name}}` : String(value);\n });\n}\n\nfunction lookup(\n catalog: Catalog,\n locale: string,\n fallback: string | null,\n key: string,\n): string | null {\n const direct = catalog[locale]?.[key];\n if (direct !== undefined) return direct;\n if (fallback) {\n const fallbackValue = catalog[fallback]?.[key];\n if (fallbackValue !== undefined) return fallbackValue;\n }\n return null;\n}\n\n/**\n * Create an i18n object with translation, pluralization and Intl helpers.\n *\n * The catalog is a plain `{ [locale]: { [key]: \"...\" } }` map — bring your\n * own keys, namespaces, or nested-key conventions. The SDK does not enforce\n * a schema so you can plug it into any string-loading pipeline.\n *\n * @example\n * const i18n = createI18n({\n * locale: \"pt-BR\",\n * fallbackLocale: \"en\",\n * messages: {\n * \"pt-BR\": {\n * \"greet\": \"Olá, {name}\",\n * \"alos_one\": \"{count} Alô\",\n * \"alos_other\": \"{count} Alôs\",\n * },\n * \"en\": { greet: \"Hi, {name}\", alos_one: \"{count} Alo\", alos_other: \"{count} Alos\" },\n * },\n * });\n * i18n.t(\"greet\", { name: \"Mau\" }); // \"Olá, Mau\"\n * i18n.plural(\"alos\", 3); // \"3 Alôs\"\n *\n * @example\n * // A key the catalog does not define, with text to show instead of the key.\n * i18n.t(\"cart.empty\", undefined, { default: \"Seu carrinho está vazio\" });\n */\nexport function createI18n(options: CreateI18nOptions): I18n {\n const { locale, fallbackLocale = null, messages } = options;\n\n function t(key: string, params?: InterpolationValues, options?: TranslateOptions): string {\n const template = lookup(messages, locale, fallbackLocale, key) ?? options?.default;\n if (template === undefined) return key;\n return interpolate(template, params);\n }\n\n function plural(\n key: string,\n count: number,\n params?: InterpolationValues,\n options?: TranslateOptions,\n ): string {\n const suffix = count === 1 ? \"_one\" : \"_other\";\n const template =\n lookup(messages, locale, fallbackLocale, `${key}${suffix}`) ??\n lookup(messages, locale, fallbackLocale, key) ??\n options?.default;\n if (template === undefined) return key;\n return interpolate(template, { count, ...(params ?? {}) });\n }\n\n function formatNumber(value: number, opts?: Intl.NumberFormatOptions): string {\n return numberFormat(locale, opts).format(value);\n }\n\n function formatDate(value: Date | string, opts?: Intl.DateTimeFormatOptions): string {\n const date = typeof value === \"string\" ? new Date(value) : value;\n if (Number.isNaN(date.getTime())) return \"\";\n return dateTimeFormat(locale, opts).format(date);\n }\n\n return {\n locale,\n fallbackLocale,\n t,\n plural,\n formatNumber,\n formatDate,\n withLocale: (nextLocale) =>\n createI18n({\n locale: nextLocale,\n fallbackLocale: fallbackLocale ?? undefined,\n messages,\n }),\n };\n}\n"],"mappings":";;AA6DA,SAAS,EAAY,GAAkB,GAAsC;CAEzE,OADK,IACE,EAAS,QAAQ,eAAe,GAAQ,MAAiB;EAC5D,IAAM,IAAQ,EAAO;EACrB,OAAO,MAAU,KAAA,IAAY,IAAI,EAAK,KAAK,OAAO,CAAK;CAC3D,CAAC,IAJmB;AAKxB;AAEA,SAAS,EACL,GACA,GACA,GACA,GACa;CACb,IAAM,IAAS,EAAQ,EAAO,GAAG;CACjC,IAAI,MAAW,KAAA,GAAW,OAAO;CACjC,IAAI,GAAU;EACV,IAAM,IAAgB,EAAQ,EAAS,GAAG;EAC1C,IAAI,MAAkB,KAAA,GAAW,OAAO;CAC5C;CACA,OAAO;AACX;AA6BA,SAAgB,EAAW,GAAkC;CACzD,IAAM,EAAE,WAAQ,oBAAiB,MAAM,gBAAa;CAEpD,SAAS,EAAE,GAAa,GAA8B,GAAoC;EACtF,IAAM,IAAW,EAAO,GAAU,GAAQ,GAAgB,CAAG,KAAK,GAAS;EAE3E,OADI,MAAa,KAAA,IAAkB,IAC5B,EAAY,GAAU,CAAM;CACvC;CAEA,SAAS,EACL,GACA,GACA,GACA,GACM;EAEN,IAAM,IACF,EAAO,GAAU,GAAQ,GAAgB,GAAG,IAFjC,MAAU,IAAI,SAAS,UAEwB,KAC1D,EAAO,GAAU,GAAQ,GAAgB,CAAG,KAC5C,GAAS;EAEb,OADI,MAAa,KAAA,IAAkB,IAC5B,EAAY,GAAU;GAAE;GAAO,GAAI,KAAU,CAAC;EAAG,CAAC;CAC7D;CAEA,SAAS,EAAa,GAAe,GAAyC;EAC1E,OAAO,EAAa,GAAQ,CAAI,CAAC,CAAC,OAAO,CAAK;CAClD;CAEA,SAAS,EAAW,GAAsB,GAA2C;EACjF,IAAM,IAAO,OAAO,KAAU,WAAW,IAAI,KAAK,CAAK,IAAI;EAE3D,OADI,OAAO,MAAM,EAAK,QAAQ,CAAC,IAAU,KAClC,EAAe,GAAQ,CAAI,CAAC,CAAC,OAAO,CAAI;CACnD;CAEA,OAAO;EACH;EACA;EACA;EACA;EACA;EACA;EACA,aAAa,MACT,EAAW;GACP,QAAQ;GACR,gBAAgB,KAAkB,KAAA;GAClC;EACJ,CAAC;CACT;AACJ"}
1
+ {"version":3,"file":"create-i18n.js","names":["interpolate","params","template","value","name","lookup","direct","catalog","locale","key","fallback","fallbackValue","createI18n","options","t","messages","fallbackLocale","plural","count","formatNumber","numberFormat","opts","formatDate","date","dateTimeFormat","nextLocale"],"sources":["../../src/i18n/create-i18n.ts"],"sourcesContent":["import { dateTimeFormat, numberFormat } from \"@/utils/intl-cache\";\nexport type Messages = Record<string, string>;\nexport type Catalog = Record<string, Messages>;\nexport type InterpolationValues = Record<string, string | number>;\n\nexport interface CreateI18nOptions {\n /** Initial locale. */\n locale: string;\n /** Fallback locale used when a key is missing in the active locale. */\n fallbackLocale?: string;\n /** Catalog `{ [locale]: { [key]: \"...\" } }`. */\n messages: Catalog;\n}\n\n/** Per-call options for {@link I18n.t} and {@link I18n.plural}. */\nexport interface TranslateOptions {\n /**\n * Text to use when the catalog defines neither the key nor its fallback.\n *\n * Without this, a miss returns the key, and a caller that wants its own text\n * instead has to *detect* the miss — which from the outside means comparing\n * the result against the key it just passed in. That heuristic is wrong for a\n * catalog that legitimately maps a key to itself, and it is what every\n * translatable string the SDK ships would otherwise have to copy.\n *\n * Interpolated like any other message, so a default carries `{placeholders}`\n * too and is not second-class.\n */\n default?: string;\n}\n\nexport interface I18n {\n /** Currently active locale. */\n locale: string;\n /** Fallback locale (or `null` when not configured). */\n fallbackLocale: string | null;\n /**\n * Translate `key`, interpolating `{name}` placeholders from `params`.\n * Falls back to the configured fallback locale, then to `options.default`,\n * then to the key itself.\n */\n t: (key: string, params?: InterpolationValues, options?: TranslateOptions) => string;\n /**\n * Plural-aware translation. Tries `${key}_one` for `count === 1` and\n * `${key}_other` otherwise, with `{count}` available for interpolation.\n * Falls back to `options.default`, then to the key itself.\n */\n plural: (\n key: string,\n count: number,\n params?: InterpolationValues,\n options?: TranslateOptions,\n ) => string;\n /** Format a number using `Intl.NumberFormat` on the active locale. */\n formatNumber: (value: number, options?: Intl.NumberFormatOptions) => string;\n /** Format a Date using `Intl.DateTimeFormat` on the active locale. */\n formatDate: (value: Date | string, options?: Intl.DateTimeFormatOptions) => string;\n /** Build a new `I18n` instance pointing at a different locale. */\n withLocale: (locale: string) => I18n;\n}\n\nfunction interpolate(template: string, params?: InterpolationValues): string {\n if (!params) return template;\n return template.replace(/\\{(\\w+)\\}/g, (_match, name: string) => {\n const value = params[name];\n return value === undefined ? `{${name}}` : String(value);\n });\n}\n\nfunction lookup(\n catalog: Catalog,\n locale: string,\n fallback: string | null,\n key: string,\n): string | null {\n const direct = catalog[locale]?.[key];\n if (direct !== undefined) return direct;\n if (fallback) {\n const fallbackValue = catalog[fallback]?.[key];\n if (fallbackValue !== undefined) return fallbackValue;\n }\n return null;\n}\n\n/**\n * Create an i18n object with translation, pluralization and Intl helpers.\n *\n * The catalog is a plain `{ [locale]: { [key]: \"...\" } }` map — bring your\n * own keys, namespaces, or nested-key conventions. The SDK does not enforce\n * a schema so you can plug it into any string-loading pipeline.\n *\n * @example\n * const i18n = createI18n({\n * locale: \"pt-BR\",\n * fallbackLocale: \"en\",\n * messages: {\n * \"pt-BR\": {\n * \"greet\": \"Olá, {name}\",\n * \"alos_one\": \"{count} Alô\",\n * \"alos_other\": \"{count} Alôs\",\n * },\n * \"en\": { greet: \"Hi, {name}\", alos_one: \"{count} Alo\", alos_other: \"{count} Alos\" },\n * },\n * });\n * i18n.t(\"greet\", { name: \"Mau\" }); // \"Olá, Mau\"\n * i18n.plural(\"alos\", 3); // \"3 Alôs\"\n *\n * @example\n * // A key the catalog does not define, with text to show instead of the key.\n * i18n.t(\"cart.empty\", undefined, { default: \"Seu carrinho está vazio\" });\n */\nexport function createI18n(options: CreateI18nOptions): I18n {\n const { locale, fallbackLocale = null, messages } = options;\n\n function t(key: string, params?: InterpolationValues, options?: TranslateOptions): string {\n const template = lookup(messages, locale, fallbackLocale, key) ?? options?.default;\n if (template === undefined) return key;\n return interpolate(template, params);\n }\n\n function plural(\n key: string,\n count: number,\n params?: InterpolationValues,\n options?: TranslateOptions,\n ): string {\n const suffix = count === 1 ? \"_one\" : \"_other\";\n const template =\n lookup(messages, locale, fallbackLocale, `${key}${suffix}`) ??\n lookup(messages, locale, fallbackLocale, key) ??\n options?.default;\n if (template === undefined) return key;\n return interpolate(template, { count, ...(params ?? {}) });\n }\n\n function formatNumber(value: number, opts?: Intl.NumberFormatOptions): string {\n return numberFormat(locale, opts).format(value);\n }\n\n function formatDate(value: Date | string, opts?: Intl.DateTimeFormatOptions): string {\n const date = typeof value === \"string\" ? new Date(value) : value;\n if (Number.isNaN(date.getTime())) return \"\";\n return dateTimeFormat(locale, opts).format(date);\n }\n\n return {\n locale,\n fallbackLocale,\n t,\n plural,\n formatNumber,\n formatDate,\n withLocale: (nextLocale) =>\n createI18n({\n locale: nextLocale,\n fallbackLocale: fallbackLocale ?? undefined,\n messages,\n }),\n };\n}\n"],"mappings":";;AA6DA,SAASA,EAAY,GAAkB,GAAsC;CAEzE,OADKC,IACEC,EAAS,QAAQ,eAAe,GAAQ,MAAiB;EAC5D,IAAMC,IAAQF,EAAOG;EACrB,OAAOD,MAAU,KAAA,IAAY,IAAIC,EAAK,KAAK,OAAOD,CAAK;CAC3D,CAAC,IAJmBD;AAKxB;AAEA,SAASG,EACL,GACA,GACA,GACA,GACa;CACb,IAAMC,IAASC,EAAQC,EAAO,GAAGC;CACjC,IAAIH,MAAW,KAAA,GAAW,OAAOA;CACjC,IAAII,GAAU;EACV,IAAMC,IAAgBJ,EAAQG,EAAS,GAAGD;EAC1C,IAAIE,MAAkB,KAAA,GAAW,OAAOA;CAC5C;CACA,OAAO;AACX;AA6BA,SAAgBC,EAAW,GAAkC;CACzD,IAAM,EAAE,WAAQ,oBAAiB,MAAM,gBAAaC;CAEpD,SAASC,EAAE,GAAa,GAA8B,GAAoC;EACtF,IAAMZ,IAAWG,EAAOU,GAAUP,GAAQQ,GAAgBP,CAAG,KAAKI,GAAS;EAE3E,OADIX,MAAa,KAAA,IAAkBO,IAC5BT,EAAYE,GAAUD,CAAM;CACvC;CAEA,SAASgB,EACL,GACA,GACA,GACA,GACM;EAEN,IAAMf,IACFG,EAAOU,GAAUP,GAAQQ,GAAgB,GAAGP,IAFjCS,MAAU,IAAI,SAAS,UAEwB,KAC1Db,EAAOU,GAAUP,GAAQQ,GAAgBP,CAAG,KAC5CI,GAAS;EAEb,OADIX,MAAa,KAAA,IAAkBO,IAC5BT,EAAYE,GAAU;GAAE;GAAO,GAAID,KAAU,CAAC;EAAG,CAAC;CAC7D;CAEA,SAASkB,EAAa,GAAe,GAAyC;EAC1E,OAAOC,EAAaZ,GAAQa,CAAI,CAAC,CAAC,OAAOlB,CAAK;CAClD;CAEA,SAASmB,EAAW,GAAsB,GAA2C;EACjF,IAAMC,IAAO,OAAOpB,KAAU,WAAW,IAAI,KAAKA,CAAK,IAAIA;EAE3D,OADI,OAAO,MAAMoB,EAAK,QAAQ,CAAC,IAAU,KAClCC,EAAehB,GAAQa,CAAI,CAAC,CAAC,OAAOE,CAAI;CACnD;CAEA,OAAO;EACH;EACA;EACA;EACA;EACA;EACA;EACA,aAAa,MACTX,EAAW;GACP,QAAQa;GACR,gBAAgBT,KAAkB,KAAA;GAClC;EACJ,CAAC;CACT;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.cjs","names":[],"sources":["../../src/icons/Icon.tsx"],"sourcesContent":["import { createElement, type ReactNode, type SVGProps } from \"react\";\nimport type { LucideIcon } from \"lucide-react\";\n\nimport type { IconName } from \"./generated/icon-name\";\nimport { useIconContext } from \"./icon-context\";\nimport { normalizeIconName } from \"./normalize-icon-name\";\nimport { iconStatus } from \"./shard-cache\";\nimport { useIcon } from \"./use-icon\";\nimport { isDevBuild } from \"../utils/dev-mode\";\n\ninterface IconBaseProps extends Omit<SVGProps<SVGSVGElement>, \"ref\" | \"name\"> {\n /** Width and height in px. Defaults to the provider's value, then lucide's `24`. */\n size?: number | string;\n /** Stroke width. Defaults to the provider's value, then lucide's `2`. */\n strokeWidth?: number;\n /**\n * Rendered while the icon's shard is in flight, and for a slug that does not\n * exist at all. Defaults to nothing.\n *\n * Pass a same-sized placeholder when the surrounding layout would otherwise\n * shift. Note that a slug already in the registry or the cache never renders\n * this — it resolves during render.\n */\n fallback?: ReactNode;\n /**\n * Clean up `name` before looking it up. Default `true`.\n *\n * A stored `icon_code` arrives dirty — `shopping_cart`, `\" Save\"`, a slug\n * lucide deprecated two releases ago — and normalizing is what makes those\n * render instead of falling back. `false` asks for a strict lookup, for the\n * case where you want an unexpected spelling to be visible rather than\n * quietly repaired.\n *\n * Ignored when the icon is passed as a component.\n */\n normalize?: boolean;\n}\n\n/**\n * Address the icon by slug — the reason this component exists.\n *\n * The slug is typed as the union of every name lucide ships, so a typo is a\n * compile error, while still accepting a plain `string` for the case that\n * motivates the whole module: a name arriving from an API, a CMS or a config\n * table.\n */\ninterface IconByNameProps extends IconBaseProps {\n name: IconName | (string & {});\n icon?: never;\n}\n\n/**\n * Address the icon by component, for a call site that already imported it.\n *\n * No lookup, no registry, no shard: the component is rendered as passed. It is\n * there so a screen mixing literal icons with data-driven ones can keep using one\n * component instead of alternating between `<Icon name>` and `<Wrench />`, which\n * is what makes the shared `size`/`strokeWidth` defaults apply to both.\n */\ninterface IconByComponentProps extends IconBaseProps {\n icon: LucideIcon;\n name?: never;\n}\n\nexport type IconProps = IconByNameProps | IconByComponentProps;\n\n/**\n * Render a lucide icon by slug.\n *\n * All ~2000 lucide icons are addressable, without the cost that makes\n * `lucide-react`'s own `DynamicIcon` unusable: its icon map holds a dynamic\n * `import()` per icon, so a bundler has to emit ~2000 chunk boundaries and the\n * browser floods with requests. Here a slug the app wrote as a literal is\n * resolved from a static registry, and a slug only known at runtime pulls a\n * single shard covering every icon sharing its initial letter.\n *\n * An unknown slug renders `fallback` (nothing, by default) and warns in dev only\n * — it never throws, because a bad name from an API must not take down the tree.\n *\n * `name` is normalized before the lookup, so a stored `icon_code` renders whether\n * it was written `shopping_cart`, `\" Save\"` or under a slug lucide has since\n * deprecated. Pass `normalize={false}` for a strict lookup.\n *\n * @example\n * <Icon name=\"save\" size={18} />\n * <Icon name={row.iconSlug} fallback={<span className=\"skeleton\" />} />\n * <Icon icon={Wrench} size={18} />\n */\nexport function Icon({\n name,\n icon,\n size,\n strokeWidth,\n fallback = null,\n normalize = true,\n ...rest\n}: IconProps): ReactNode {\n const context = useIconContext();\n const slug = name === undefined ? undefined : normalize ? normalizeIconName(name) : name;\n const fromSlug = useIcon(slug);\n const resolved = icon ?? fromSlug;\n\n if (!resolved) {\n if (isDevBuild() && name !== undefined && slug !== undefined) {\n if (iconStatus(slug) === \"missing\") warnUnknownIcon(name);\n }\n return fallback;\n }\n\n return createElement(resolved, {\n size: size ?? context?.size,\n strokeWidth: strokeWidth ?? context?.strokeWidth,\n ...rest,\n });\n}\n\nconst warnedSlugs = new Set<string>();\n\n/**\n * Warn once per unknown slug.\n *\n * Once, because `<Icon>` re-renders and a warning per render would bury the\n * console; the set is never cleared, since a slug that does not exist will not\n * start existing within the life of the page.\n *\n * Reports the name **as written**, not the normalized slug: the reader is the\n * developer who typed it, and `\"CircleAlert\"` is a far more useful thing to see in\n * the console than the `\"circlealert\"` it normalizes to.\n *\n * @param name - The slug that resolved to nothing, as passed.\n */\nfunction warnUnknownIcon(name: string): void {\n if (warnedSlugs.has(name)) return;\n warnedSlugs.add(name);\n console.warn(\n `[tempest-react-sdk] <Icon name=\"${name}\" /> — no such lucide icon. ` +\n `Slugs are kebab-case (\"circle-alert\", not \"CircleAlert\"); check against \\`iconNames\\`.`,\n );\n}\n"],"mappings":"kMAwFA,SAAgB,EAAK,CACjB,OACA,OACA,OACA,cACA,WAAW,KACX,YAAY,GACZ,GAAG,GACkB,CACrB,IAAM,EAAU,EAAA,eAAe,EACzB,EAAO,IAAS,IAAA,GAAY,IAAA,GAAY,EAAY,EAAA,kBAAkB,CAAI,EAAI,EAC9E,EAAW,EAAA,QAAQ,CAAI,EACvB,EAAW,GAAQ,EASzB,OAPK,GAOL,EAAO,EAAA,cAAA,CAAc,EAAU,CAC3B,KAAM,GAAQ,GAAS,KACvB,YAAa,GAAe,GAAS,YACrC,GAAG,CACP,CAAC,GAVO,EAAA,WAAW,GAAK,IAAS,IAAA,IAAa,IAAS,IAAA,IAC3C,EAAA,WAAW,CAAI,IAAM,WAAW,EAAgB,CAAI,EAErD,EAQf,CAEA,IAAM,EAAc,IAAI,IAexB,SAAS,EAAgB,EAAoB,CACrC,EAAY,IAAI,CAAI,IACxB,EAAY,IAAI,CAAI,EACpB,QAAQ,KACJ,mCAAmC,EAAK,mHAE5C,EACJ"}
1
+ {"version":3,"file":"Icon.cjs","names":["useIconContext","normalizeIconName","useIcon","isDevBuild","iconStatus","createElement","require_dev_mode","require_icon_context","require_normalize_icon_name","require_shard_cache","require_use_icon","react","Icon","rest","context","slug","name","normalize","fromSlug","resolved","icon","size","strokeWidth","warnUnknownIcon","fallback","warnedSlugs"],"sources":["../../src/icons/Icon.tsx"],"sourcesContent":["import { createElement, type ReactNode, type SVGProps } from \"react\";\nimport type { LucideIcon } from \"lucide-react\";\n\nimport type { IconName } from \"./generated/icon-name\";\nimport { useIconContext } from \"./icon-context\";\nimport { normalizeIconName } from \"./normalize-icon-name\";\nimport { iconStatus } from \"./shard-cache\";\nimport { useIcon } from \"./use-icon\";\nimport { isDevBuild } from \"../utils/dev-mode\";\n\ninterface IconBaseProps extends Omit<SVGProps<SVGSVGElement>, \"ref\" | \"name\"> {\n /** Width and height in px. Defaults to the provider's value, then lucide's `24`. */\n size?: number | string;\n /** Stroke width. Defaults to the provider's value, then lucide's `2`. */\n strokeWidth?: number;\n /**\n * Rendered while the icon's shard is in flight, and for a slug that does not\n * exist at all. Defaults to nothing.\n *\n * Pass a same-sized placeholder when the surrounding layout would otherwise\n * shift. Note that a slug already in the registry or the cache never renders\n * this — it resolves during render.\n */\n fallback?: ReactNode;\n /**\n * Clean up `name` before looking it up. Default `true`.\n *\n * A stored `icon_code` arrives dirty — `shopping_cart`, `\" Save\"`, a slug\n * lucide deprecated two releases ago — and normalizing is what makes those\n * render instead of falling back. `false` asks for a strict lookup, for the\n * case where you want an unexpected spelling to be visible rather than\n * quietly repaired.\n *\n * Ignored when the icon is passed as a component.\n */\n normalize?: boolean;\n}\n\n/**\n * Address the icon by slug — the reason this component exists.\n *\n * The slug is typed as the union of every name lucide ships, so a typo is a\n * compile error, while still accepting a plain `string` for the case that\n * motivates the whole module: a name arriving from an API, a CMS or a config\n * table.\n */\ninterface IconByNameProps extends IconBaseProps {\n name: IconName | (string & {});\n icon?: never;\n}\n\n/**\n * Address the icon by component, for a call site that already imported it.\n *\n * No lookup, no registry, no shard: the component is rendered as passed. It is\n * there so a screen mixing literal icons with data-driven ones can keep using one\n * component instead of alternating between `<Icon name>` and `<Wrench />`, which\n * is what makes the shared `size`/`strokeWidth` defaults apply to both.\n */\ninterface IconByComponentProps extends IconBaseProps {\n icon: LucideIcon;\n name?: never;\n}\n\nexport type IconProps = IconByNameProps | IconByComponentProps;\n\n/**\n * Render a lucide icon by slug.\n *\n * All ~2000 lucide icons are addressable, without the cost that makes\n * `lucide-react`'s own `DynamicIcon` unusable: its icon map holds a dynamic\n * `import()` per icon, so a bundler has to emit ~2000 chunk boundaries and the\n * browser floods with requests. Here a slug the app wrote as a literal is\n * resolved from a static registry, and a slug only known at runtime pulls a\n * single shard covering every icon sharing its initial letter.\n *\n * An unknown slug renders `fallback` (nothing, by default) and warns in dev only\n * — it never throws, because a bad name from an API must not take down the tree.\n *\n * `name` is normalized before the lookup, so a stored `icon_code` renders whether\n * it was written `shopping_cart`, `\" Save\"` or under a slug lucide has since\n * deprecated. Pass `normalize={false}` for a strict lookup.\n *\n * @example\n * <Icon name=\"save\" size={18} />\n * <Icon name={row.iconSlug} fallback={<span className=\"skeleton\" />} />\n * <Icon icon={Wrench} size={18} />\n */\nexport function Icon({\n name,\n icon,\n size,\n strokeWidth,\n fallback = null,\n normalize = true,\n ...rest\n}: IconProps): ReactNode {\n const context = useIconContext();\n const slug = name === undefined ? undefined : normalize ? normalizeIconName(name) : name;\n const fromSlug = useIcon(slug);\n const resolved = icon ?? fromSlug;\n\n if (!resolved) {\n if (isDevBuild() && name !== undefined && slug !== undefined) {\n if (iconStatus(slug) === \"missing\") warnUnknownIcon(name);\n }\n return fallback;\n }\n\n return createElement(resolved, {\n size: size ?? context?.size,\n strokeWidth: strokeWidth ?? context?.strokeWidth,\n ...rest,\n });\n}\n\nconst warnedSlugs = new Set<string>();\n\n/**\n * Warn once per unknown slug.\n *\n * Once, because `<Icon>` re-renders and a warning per render would bury the\n * console; the set is never cleared, since a slug that does not exist will not\n * start existing within the life of the page.\n *\n * Reports the name **as written**, not the normalized slug: the reader is the\n * developer who typed it, and `\"CircleAlert\"` is a far more useful thing to see in\n * the console than the `\"circlealert\"` it normalizes to.\n *\n * @param name - The slug that resolved to nothing, as passed.\n */\nfunction warnUnknownIcon(name: string): void {\n if (warnedSlugs.has(name)) return;\n warnedSlugs.add(name);\n console.warn(\n `[tempest-react-sdk] <Icon name=\"${name}\" /> — no such lucide icon. ` +\n `Slugs are kebab-case (\"circle-alert\", not \"CircleAlert\"); check against \\`iconNames\\`.`,\n );\n}\n"],"mappings":"A,kMAwFA,SAAgBY,EAAK,CACjB,OACA,OACA,OACA,cACA,WAAW,KACX,YAAY,GACZ,GAAGC,GACkB,CACrB,IAAMC,EAAUd,EAAAA,eAAe,EACzBe,EAAOC,IAAS,IAAA,GAAY,IAAA,GAAYC,EAAYhB,EAAAA,kBAAkBe,CAAI,EAAIA,EAC9EE,EAAWhB,EAAAA,QAAQa,CAAI,EACvBI,EAAWC,GAAQF,EASzB,OAPKC,GAOL,EAAOd,EAAAA,cAAAA,CAAcc,EAAU,CAC3B,KAAME,GAAQP,GAAS,KACvB,YAAaQ,GAAeR,GAAS,YACrC,GAAGD,CACP,CAAC,GAVOV,EAAAA,WAAW,GAAKa,IAAS,IAAA,IAAaD,IAAS,IAAA,IAC3CX,EAAAA,WAAWW,CAAI,IAAM,WAAWQ,EAAgBP,CAAI,EAErDQ,EAQf,CAEA,IAAMC,EAAc,IAAI,IAexB,SAASF,EAAgB,EAAoB,CACrCE,EAAY,IAAIT,CAAI,IACxBS,EAAY,IAAIT,CAAI,EACpB,QAAQ,KACJ,mCAAmCA,EAAK,mHAE5C,EACJ,C"}
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.js","names":[],"sources":["../../src/icons/Icon.tsx"],"sourcesContent":["import { createElement, type ReactNode, type SVGProps } from \"react\";\nimport type { LucideIcon } from \"lucide-react\";\n\nimport type { IconName } from \"./generated/icon-name\";\nimport { useIconContext } from \"./icon-context\";\nimport { normalizeIconName } from \"./normalize-icon-name\";\nimport { iconStatus } from \"./shard-cache\";\nimport { useIcon } from \"./use-icon\";\nimport { isDevBuild } from \"../utils/dev-mode\";\n\ninterface IconBaseProps extends Omit<SVGProps<SVGSVGElement>, \"ref\" | \"name\"> {\n /** Width and height in px. Defaults to the provider's value, then lucide's `24`. */\n size?: number | string;\n /** Stroke width. Defaults to the provider's value, then lucide's `2`. */\n strokeWidth?: number;\n /**\n * Rendered while the icon's shard is in flight, and for a slug that does not\n * exist at all. Defaults to nothing.\n *\n * Pass a same-sized placeholder when the surrounding layout would otherwise\n * shift. Note that a slug already in the registry or the cache never renders\n * this — it resolves during render.\n */\n fallback?: ReactNode;\n /**\n * Clean up `name` before looking it up. Default `true`.\n *\n * A stored `icon_code` arrives dirty — `shopping_cart`, `\" Save\"`, a slug\n * lucide deprecated two releases ago — and normalizing is what makes those\n * render instead of falling back. `false` asks for a strict lookup, for the\n * case where you want an unexpected spelling to be visible rather than\n * quietly repaired.\n *\n * Ignored when the icon is passed as a component.\n */\n normalize?: boolean;\n}\n\n/**\n * Address the icon by slug — the reason this component exists.\n *\n * The slug is typed as the union of every name lucide ships, so a typo is a\n * compile error, while still accepting a plain `string` for the case that\n * motivates the whole module: a name arriving from an API, a CMS or a config\n * table.\n */\ninterface IconByNameProps extends IconBaseProps {\n name: IconName | (string & {});\n icon?: never;\n}\n\n/**\n * Address the icon by component, for a call site that already imported it.\n *\n * No lookup, no registry, no shard: the component is rendered as passed. It is\n * there so a screen mixing literal icons with data-driven ones can keep using one\n * component instead of alternating between `<Icon name>` and `<Wrench />`, which\n * is what makes the shared `size`/`strokeWidth` defaults apply to both.\n */\ninterface IconByComponentProps extends IconBaseProps {\n icon: LucideIcon;\n name?: never;\n}\n\nexport type IconProps = IconByNameProps | IconByComponentProps;\n\n/**\n * Render a lucide icon by slug.\n *\n * All ~2000 lucide icons are addressable, without the cost that makes\n * `lucide-react`'s own `DynamicIcon` unusable: its icon map holds a dynamic\n * `import()` per icon, so a bundler has to emit ~2000 chunk boundaries and the\n * browser floods with requests. Here a slug the app wrote as a literal is\n * resolved from a static registry, and a slug only known at runtime pulls a\n * single shard covering every icon sharing its initial letter.\n *\n * An unknown slug renders `fallback` (nothing, by default) and warns in dev only\n * — it never throws, because a bad name from an API must not take down the tree.\n *\n * `name` is normalized before the lookup, so a stored `icon_code` renders whether\n * it was written `shopping_cart`, `\" Save\"` or under a slug lucide has since\n * deprecated. Pass `normalize={false}` for a strict lookup.\n *\n * @example\n * <Icon name=\"save\" size={18} />\n * <Icon name={row.iconSlug} fallback={<span className=\"skeleton\" />} />\n * <Icon icon={Wrench} size={18} />\n */\nexport function Icon({\n name,\n icon,\n size,\n strokeWidth,\n fallback = null,\n normalize = true,\n ...rest\n}: IconProps): ReactNode {\n const context = useIconContext();\n const slug = name === undefined ? undefined : normalize ? normalizeIconName(name) : name;\n const fromSlug = useIcon(slug);\n const resolved = icon ?? fromSlug;\n\n if (!resolved) {\n if (isDevBuild() && name !== undefined && slug !== undefined) {\n if (iconStatus(slug) === \"missing\") warnUnknownIcon(name);\n }\n return fallback;\n }\n\n return createElement(resolved, {\n size: size ?? context?.size,\n strokeWidth: strokeWidth ?? context?.strokeWidth,\n ...rest,\n });\n}\n\nconst warnedSlugs = new Set<string>();\n\n/**\n * Warn once per unknown slug.\n *\n * Once, because `<Icon>` re-renders and a warning per render would bury the\n * console; the set is never cleared, since a slug that does not exist will not\n * start existing within the life of the page.\n *\n * Reports the name **as written**, not the normalized slug: the reader is the\n * developer who typed it, and `\"CircleAlert\"` is a far more useful thing to see in\n * the console than the `\"circlealert\"` it normalizes to.\n *\n * @param name - The slug that resolved to nothing, as passed.\n */\nfunction warnUnknownIcon(name: string): void {\n if (warnedSlugs.has(name)) return;\n warnedSlugs.add(name);\n console.warn(\n `[tempest-react-sdk] <Icon name=\"${name}\" /> — no such lucide icon. ` +\n `Slugs are kebab-case (\"circle-alert\", not \"CircleAlert\"); check against \\`iconNames\\`.`,\n );\n}\n"],"mappings":";;;;;;;AAwFA,SAAgB,EAAK,EACjB,SACA,SACA,SACA,gBACA,cAAW,MACX,eAAY,IACZ,GAAG,KACkB;CACrB,IAAM,IAAU,EAAe,GACzB,IAAO,MAAS,KAAA,IAAY,KAAA,IAAY,IAAY,EAAkB,CAAI,IAAI,GAC9E,IAAW,EAAQ,CAAI,GACvB,IAAW,KAAQ;CASzB,OAPK,IAOE,EAAc,GAAU;EAC3B,MAAM,KAAQ,GAAS;EACvB,aAAa,KAAe,GAAS;EACrC,GAAG;CACP,CAAC,KAVO,EAAW,KAAK,MAAS,KAAA,KAAa,MAAS,KAAA,KAC3C,EAAW,CAAI,MAAM,aAAW,EAAgB,CAAI,GAErD;AAQf;AAEA,IAAM,oBAAc,IAAI,IAAY;AAepC,SAAS,EAAgB,GAAoB;CACrC,EAAY,IAAI,CAAI,MACxB,EAAY,IAAI,CAAI,GACpB,QAAQ,KACJ,mCAAmC,EAAK,mHAE5C;AACJ"}
1
+ {"version":3,"file":"Icon.js","names":["Icon","rest","context","useIconContext","slug","name","normalize","normalizeIconName","fromSlug","useIcon","resolved","icon","createElement","size","strokeWidth","isDevBuild","iconStatus","warnUnknownIcon","fallback","warnedSlugs"],"sources":["../../src/icons/Icon.tsx"],"sourcesContent":["import { createElement, type ReactNode, type SVGProps } from \"react\";\nimport type { LucideIcon } from \"lucide-react\";\n\nimport type { IconName } from \"./generated/icon-name\";\nimport { useIconContext } from \"./icon-context\";\nimport { normalizeIconName } from \"./normalize-icon-name\";\nimport { iconStatus } from \"./shard-cache\";\nimport { useIcon } from \"./use-icon\";\nimport { isDevBuild } from \"../utils/dev-mode\";\n\ninterface IconBaseProps extends Omit<SVGProps<SVGSVGElement>, \"ref\" | \"name\"> {\n /** Width and height in px. Defaults to the provider's value, then lucide's `24`. */\n size?: number | string;\n /** Stroke width. Defaults to the provider's value, then lucide's `2`. */\n strokeWidth?: number;\n /**\n * Rendered while the icon's shard is in flight, and for a slug that does not\n * exist at all. Defaults to nothing.\n *\n * Pass a same-sized placeholder when the surrounding layout would otherwise\n * shift. Note that a slug already in the registry or the cache never renders\n * this — it resolves during render.\n */\n fallback?: ReactNode;\n /**\n * Clean up `name` before looking it up. Default `true`.\n *\n * A stored `icon_code` arrives dirty — `shopping_cart`, `\" Save\"`, a slug\n * lucide deprecated two releases ago — and normalizing is what makes those\n * render instead of falling back. `false` asks for a strict lookup, for the\n * case where you want an unexpected spelling to be visible rather than\n * quietly repaired.\n *\n * Ignored when the icon is passed as a component.\n */\n normalize?: boolean;\n}\n\n/**\n * Address the icon by slug — the reason this component exists.\n *\n * The slug is typed as the union of every name lucide ships, so a typo is a\n * compile error, while still accepting a plain `string` for the case that\n * motivates the whole module: a name arriving from an API, a CMS or a config\n * table.\n */\ninterface IconByNameProps extends IconBaseProps {\n name: IconName | (string & {});\n icon?: never;\n}\n\n/**\n * Address the icon by component, for a call site that already imported it.\n *\n * No lookup, no registry, no shard: the component is rendered as passed. It is\n * there so a screen mixing literal icons with data-driven ones can keep using one\n * component instead of alternating between `<Icon name>` and `<Wrench />`, which\n * is what makes the shared `size`/`strokeWidth` defaults apply to both.\n */\ninterface IconByComponentProps extends IconBaseProps {\n icon: LucideIcon;\n name?: never;\n}\n\nexport type IconProps = IconByNameProps | IconByComponentProps;\n\n/**\n * Render a lucide icon by slug.\n *\n * All ~2000 lucide icons are addressable, without the cost that makes\n * `lucide-react`'s own `DynamicIcon` unusable: its icon map holds a dynamic\n * `import()` per icon, so a bundler has to emit ~2000 chunk boundaries and the\n * browser floods with requests. Here a slug the app wrote as a literal is\n * resolved from a static registry, and a slug only known at runtime pulls a\n * single shard covering every icon sharing its initial letter.\n *\n * An unknown slug renders `fallback` (nothing, by default) and warns in dev only\n * — it never throws, because a bad name from an API must not take down the tree.\n *\n * `name` is normalized before the lookup, so a stored `icon_code` renders whether\n * it was written `shopping_cart`, `\" Save\"` or under a slug lucide has since\n * deprecated. Pass `normalize={false}` for a strict lookup.\n *\n * @example\n * <Icon name=\"save\" size={18} />\n * <Icon name={row.iconSlug} fallback={<span className=\"skeleton\" />} />\n * <Icon icon={Wrench} size={18} />\n */\nexport function Icon({\n name,\n icon,\n size,\n strokeWidth,\n fallback = null,\n normalize = true,\n ...rest\n}: IconProps): ReactNode {\n const context = useIconContext();\n const slug = name === undefined ? undefined : normalize ? normalizeIconName(name) : name;\n const fromSlug = useIcon(slug);\n const resolved = icon ?? fromSlug;\n\n if (!resolved) {\n if (isDevBuild() && name !== undefined && slug !== undefined) {\n if (iconStatus(slug) === \"missing\") warnUnknownIcon(name);\n }\n return fallback;\n }\n\n return createElement(resolved, {\n size: size ?? context?.size,\n strokeWidth: strokeWidth ?? context?.strokeWidth,\n ...rest,\n });\n}\n\nconst warnedSlugs = new Set<string>();\n\n/**\n * Warn once per unknown slug.\n *\n * Once, because `<Icon>` re-renders and a warning per render would bury the\n * console; the set is never cleared, since a slug that does not exist will not\n * start existing within the life of the page.\n *\n * Reports the name **as written**, not the normalized slug: the reader is the\n * developer who typed it, and `\"CircleAlert\"` is a far more useful thing to see in\n * the console than the `\"circlealert\"` it normalizes to.\n *\n * @param name - The slug that resolved to nothing, as passed.\n */\nfunction warnUnknownIcon(name: string): void {\n if (warnedSlugs.has(name)) return;\n warnedSlugs.add(name);\n console.warn(\n `[tempest-react-sdk] <Icon name=\"${name}\" /> — no such lucide icon. ` +\n `Slugs are kebab-case (\"circle-alert\", not \"CircleAlert\"); check against \\`iconNames\\`.`,\n );\n}\n"],"mappings":";;;;;;;AAwFA,SAAgBA,EAAK,EACjB,SACA,SACA,SACA,gBACA,cAAW,MACX,eAAY,IACZ,GAAGC,KACkB;CACrB,IAAMC,IAAUC,EAAe,GACzBC,IAAOC,MAAS,KAAA,IAAY,KAAA,IAAYC,IAAYC,EAAkBF,CAAI,IAAIA,GAC9EG,IAAWC,EAAQL,CAAI,GACvBM,IAAWC,KAAQH;CASzB,OAPKE,IAOEE,EAAcF,GAAU;EAC3B,MAAMG,KAAQX,GAAS;EACvB,aAAaY,KAAeZ,GAAS;EACrC,GAAGD;CACP,CAAC,KAVOc,EAAW,KAAKV,MAAS,KAAA,KAAaD,MAAS,KAAA,KAC3CY,EAAWZ,CAAI,MAAM,aAAWa,EAAgBZ,CAAI,GAErDa;AAQf;AAEA,IAAMC,oBAAc,IAAI,IAAY;AAepC,SAASF,EAAgB,GAAoB;CACzC,AAAIE,EAAY,IAAId,CAAI,MACxBc,EAAY,IAAId,CAAI,GACpB,QAAQ,KACJ,mCAAmCA,EAAK,mHAE5C;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"IconPicker.cjs","names":[],"sources":["../../src/icons/IconPicker.tsx"],"sourcesContent":["import { useEffect, useId, useMemo, useRef, type InputHTMLAttributes, type ReactNode } from \"react\";\n\nimport { cn } from \"../utils/cn\";\nimport { iconNames } from \"./generated/icon-names\";\nimport { Icon } from \"./Icon\";\nimport { normalizeIconName } from \"./normalize-icon-name\";\nimport { validateIconName } from \"./validate-icon-name\";\nimport styles from \"./IconPicker.module.css\";\n\n/**\n * @tempest-limits props-count — value/onChange are the field, limit/placeholder\n * the suggestion list, and previewSize/invalidMessage the two things a form\n * around it needs to restyle or translate.\n */\nexport interface IconPickerProps extends Omit<\n InputHTMLAttributes<HTMLInputElement>,\n \"value\" | \"onChange\" | \"list\" | \"type\"\n> {\n /** The chosen slug. Always canonical — see `onChange`. */\n value: string;\n /**\n * Fires with the **canonical** slug on every keystroke.\n *\n * Legacy spellings are normalized on the way out (`Shopping_Cart` →\n * `shopping-cart`, `alert-circle` → `circle-alert`), so what a form stores is\n * what `<Icon>` resolves without further cleanup.\n */\n onChange: (slug: string) => void;\n /**\n * How many suggestions to render. Default `40`.\n *\n * There are 2024 slugs, and building every one as an `<option>` on each\n * keystroke freezes the datalist — which is the reason this prop exists rather\n * than a \"show everything\" default.\n */\n limit?: number;\n /** Size of the preview glyph, in px. Default `20`. */\n previewSize?: number;\n /** Overrides the message shown for a slug that does not exist. */\n invalidMessage?: string;\n /** Rendered in the preview box while nothing valid is chosen. */\n emptyPreview?: ReactNode;\n}\n\n/**\n * An icon field: native autocomplete over every lucide slug, plus a preview.\n *\n * Every panel that lets someone choose an icon was rewriting this — filter the\n * list, cap the suggestions, build the `<datalist>`, and block submit when the\n * typed name does not exist. That last step is the one that matters: without it\n * an invalid value reaches the database and only shows up later as a missing icon\n * on every screen that renders the record.\n *\n * Validation is wired to the **native** form: the input carries a custom validity\n * message, so a plain `<form>` refuses to submit and the browser points at the\n * field. `validateIconName` is exported for react-hook-form and zod.\n *\n * Built on `<datalist>` rather than a custom listbox on purpose: keyboard,\n * screen-reader and mobile behaviour come from the platform, and the component\n * stays small enough that its cost is the slug list it has to import — ~7 KB\n * brotli, which only a picker pays.\n *\n * @example\n * const [icon, setIcon] = useState(\"\");\n *\n * <form onSubmit={save}>\n * <IconPicker value={icon} onChange={setIcon} required />\n * <button type=\"submit\">Salvar</button>\n * </form>\n */\nexport function IconPicker({\n value,\n onChange,\n limit = 40,\n previewSize = 20,\n invalidMessage,\n emptyPreview = null,\n className,\n ...rest\n}: IconPickerProps): ReactNode {\n const listId = useId();\n const input = useRef<HTMLInputElement>(null);\n const error = validateIconName(value, invalidMessage);\n\n const suggestions = useMemo(() => {\n const query = normalizeIconName(value);\n const matches = query === \"\" ? iconNames : iconNames.filter((name) => name.includes(query));\n return matches.slice(0, limit);\n }, [value, limit]);\n\n useEffect(() => {\n input.current?.setCustomValidity(error ?? \"\");\n }, [error]);\n\n return (\n <span className={cn(styles.picker, className)}>\n <span className={styles.preview} aria-hidden=\"true\">\n {error === undefined && value.trim() !== \"\" ? (\n <Icon name={value} size={previewSize} fallback={emptyPreview} />\n ) : (\n emptyPreview\n )}\n </span>\n <input\n {...rest}\n ref={input}\n type=\"text\"\n className={styles.input}\n list={listId}\n value={value}\n aria-invalid={error !== undefined || undefined}\n onChange={(event) => onChange(normalizeIconName(event.target.value))}\n />\n <datalist id={listId}>\n {suggestions.map((name) => (\n <option key={name} value={name} />\n ))}\n </datalist>\n </span>\n );\n}\n"],"mappings":"2QAsEA,SAAgB,EAAW,CACvB,QACA,WACA,QAAQ,GACR,cAAc,GACd,iBACA,eAAe,KACf,YACA,GAAG,GACwB,CAC3B,IAAM,GAAA,EAAS,EAAA,MAAA,CAAM,EACf,GAAA,EAAQ,EAAA,OAAA,CAAyB,IAAI,EACrC,EAAQ,EAAA,iBAAiB,EAAO,CAAc,EAE9C,GAAA,EAAc,EAAA,QAAA,KAAc,CAC9B,IAAM,EAAQ,EAAA,kBAAkB,CAAK,EAErC,OADgB,IAAU,GAAK,EAAA,UAAY,EAAA,UAAU,OAAQ,GAAS,EAAK,SAAS,CAAK,CAAC,EAAA,CAC3E,MAAM,EAAG,CAAK,CACjC,EAAG,CAAC,EAAO,CAAK,CAAC,EAMjB,OAJA,EAAA,EAAA,UAAA,KAAgB,CACZ,EAAM,SAAS,kBAAkB,GAAS,EAAE,CAChD,EAAG,CAAC,CAAK,CAAC,GAGN,EAAA,EAAA,KAAA,CAAC,OAAD,CAAM,UAAW,EAAA,GAAG,EAAA,QAAO,OAAQ,CAAS,EAA5C,SAAA,EACI,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAW,EAAA,QAAO,QAAS,cAAY,OACxC,SAAA,IAAU,IAAA,IAAa,EAAM,KAAK,IAAM,IACrC,EAAA,EAAA,IAAA,CAAC,EAAA,KAAD,CAAM,KAAM,EAAO,KAAM,EAAa,SAAU,CAAe,CAAA,EAE/D,CAEF,CAAA,GACN,EAAA,EAAA,IAAA,CAAC,QAAD,CACI,GAAI,EACJ,IAAK,EACL,KAAK,OACL,UAAW,EAAA,QAAO,MAClB,KAAM,EACC,QACP,eAAc,IAAU,IAAA,IAAa,IAAA,GACrC,SAAW,GAAU,EAAS,EAAA,kBAAkB,EAAM,OAAO,KAAK,CAAC,CACtE,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,WAAD,CAAU,GAAI,EACT,SAAA,EAAY,IAAK,IACd,EAAA,EAAA,IAAA,CAAC,SAAD,CAAmB,MAAO,CAAO,EAApB,CAAoB,CACpC,CACK,CAAA,CACR,GAEd"}
1
+ {"version":3,"file":"IconPicker.cjs","names":["useId","useRef","validateIconName","useMemo","normalizeIconName","iconNames","cn","styles","Icon","require_cn","require_icon_names","require_normalize_icon_name","require_Icon","require_validate_icon_name","require_IconPicker_module","react","react_jsx_runtime","IconPicker","rest","listId","input","error","value","invalidMessage","suggestions","query","name","limit","className","previewSize","emptyPreview","onChange","event"],"sources":["../../src/icons/IconPicker.tsx"],"sourcesContent":["import { useEffect, useId, useMemo, useRef, type InputHTMLAttributes, type ReactNode } from \"react\";\n\nimport { cn } from \"../utils/cn\";\nimport { iconNames } from \"./generated/icon-names\";\nimport { Icon } from \"./Icon\";\nimport { normalizeIconName } from \"./normalize-icon-name\";\nimport { validateIconName } from \"./validate-icon-name\";\nimport styles from \"./IconPicker.module.css\";\n\n/**\n * @tempest-limits props-count — value/onChange are the field, limit/placeholder\n * the suggestion list, and previewSize/invalidMessage the two things a form\n * around it needs to restyle or translate.\n */\nexport interface IconPickerProps extends Omit<\n InputHTMLAttributes<HTMLInputElement>,\n \"value\" | \"onChange\" | \"list\" | \"type\"\n> {\n /** The chosen slug. Always canonical — see `onChange`. */\n value: string;\n /**\n * Fires with the **canonical** slug on every keystroke.\n *\n * Legacy spellings are normalized on the way out (`Shopping_Cart` →\n * `shopping-cart`, `alert-circle` → `circle-alert`), so what a form stores is\n * what `<Icon>` resolves without further cleanup.\n */\n onChange: (slug: string) => void;\n /**\n * How many suggestions to render. Default `40`.\n *\n * There are 2024 slugs, and building every one as an `<option>` on each\n * keystroke freezes the datalist — which is the reason this prop exists rather\n * than a \"show everything\" default.\n */\n limit?: number;\n /** Size of the preview glyph, in px. Default `20`. */\n previewSize?: number;\n /** Overrides the message shown for a slug that does not exist. */\n invalidMessage?: string;\n /** Rendered in the preview box while nothing valid is chosen. */\n emptyPreview?: ReactNode;\n}\n\n/**\n * An icon field: native autocomplete over every lucide slug, plus a preview.\n *\n * Every panel that lets someone choose an icon was rewriting this — filter the\n * list, cap the suggestions, build the `<datalist>`, and block submit when the\n * typed name does not exist. That last step is the one that matters: without it\n * an invalid value reaches the database and only shows up later as a missing icon\n * on every screen that renders the record.\n *\n * Validation is wired to the **native** form: the input carries a custom validity\n * message, so a plain `<form>` refuses to submit and the browser points at the\n * field. `validateIconName` is exported for react-hook-form and zod.\n *\n * Built on `<datalist>` rather than a custom listbox on purpose: keyboard,\n * screen-reader and mobile behaviour come from the platform, and the component\n * stays small enough that its cost is the slug list it has to import — ~7 KB\n * brotli, which only a picker pays.\n *\n * @example\n * const [icon, setIcon] = useState(\"\");\n *\n * <form onSubmit={save}>\n * <IconPicker value={icon} onChange={setIcon} required />\n * <button type=\"submit\">Salvar</button>\n * </form>\n */\nexport function IconPicker({\n value,\n onChange,\n limit = 40,\n previewSize = 20,\n invalidMessage,\n emptyPreview = null,\n className,\n ...rest\n}: IconPickerProps): ReactNode {\n const listId = useId();\n const input = useRef<HTMLInputElement>(null);\n const error = validateIconName(value, invalidMessage);\n\n const suggestions = useMemo(() => {\n const query = normalizeIconName(value);\n const matches = query === \"\" ? iconNames : iconNames.filter((name) => name.includes(query));\n return matches.slice(0, limit);\n }, [value, limit]);\n\n useEffect(() => {\n input.current?.setCustomValidity(error ?? \"\");\n }, [error]);\n\n return (\n <span className={cn(styles.picker, className)}>\n <span className={styles.preview} aria-hidden=\"true\">\n {error === undefined && value.trim() !== \"\" ? (\n <Icon name={value} size={previewSize} fallback={emptyPreview} />\n ) : (\n emptyPreview\n )}\n </span>\n <input\n {...rest}\n ref={input}\n type=\"text\"\n className={styles.input}\n list={listId}\n value={value}\n aria-invalid={error !== undefined || undefined}\n onChange={(event) => onChange(normalizeIconName(event.target.value))}\n />\n <datalist id={listId}>\n {suggestions.map((name) => (\n <option key={name} value={name} />\n ))}\n </datalist>\n </span>\n );\n}\n"],"mappings":"A,2QAsEA,SAAgBiB,EAAW,CACvB,QACA,WACA,QAAQ,GACR,cAAc,GACd,iBACA,eAAe,KACf,YACA,GAAGC,GACwB,CAC3B,IAAMC,GAAA,EAASnB,EAAAA,MAAAA,CAAM,EACfoB,GAAA,EAAQnB,EAAAA,OAAAA,CAAyB,IAAI,EACrCoB,EAAQnB,EAAAA,iBAAiBoB,EAAOC,CAAc,EAE9CC,GAAA,EAAcrB,EAAAA,QAAAA,KAAc,CAC9B,IAAMsB,EAAQrB,EAAAA,kBAAkBkB,CAAK,EAErC,OADgBG,IAAU,GAAKpB,EAAAA,UAAYA,EAAAA,UAAU,OAAQ,GAASqB,EAAK,SAASD,CAAK,CAAC,EAAA,CAC3E,MAAM,EAAGE,CAAK,CACjC,EAAG,CAACL,EAAOK,CAAK,CAAC,EAMjB,OAJA,EAAAZ,EAAA,UAAA,KAAgB,CACZK,EAAM,SAAS,kBAAkBC,GAAS,EAAE,CAChD,EAAG,CAACA,CAAK,CAAC,GAGN,EAAAL,EAAA,KAAA,CAAC,OAAD,CAAM,UAAWV,EAAAA,GAAGC,EAAAA,QAAO,OAAQqB,CAAS,EAA5C,SAAA,EACI,EAAAZ,EAAA,IAAA,CAAC,OAAD,CAAM,UAAWT,EAAAA,QAAO,QAAS,cAAY,OACxC,SAAAc,IAAU,IAAA,IAAaC,EAAM,KAAK,IAAM,IACrC,EAAAN,EAAA,IAAA,CAACR,EAAAA,KAAD,CAAM,KAAMc,EAAO,KAAMO,EAAa,SAAUC,CAAe,CAAA,EAE/DA,CAEF,CAAA,GACN,EAAAd,EAAA,IAAA,CAAC,QAAD,CACI,GAAIE,EACJ,IAAKE,EACL,KAAK,OACL,UAAWb,EAAAA,QAAO,MAClB,KAAMY,EACC,QACP,eAAcE,IAAU,IAAA,IAAa,IAAA,GACrC,SAAW,GAAUU,EAAS3B,EAAAA,kBAAkB4B,EAAM,OAAO,KAAK,CAAC,CACtE,CAAA,GACD,EAAAhB,EAAA,IAAA,CAAC,WAAD,CAAU,GAAIG,EACT,SAAAK,EAAY,IAAK,IACd,EAAAR,EAAA,IAAA,CAAC,SAAD,CAAmB,MAAOU,CAAO,EAApBA,CAAoB,CACpC,CACK,CAAA,CACR,C,EAEd,C"}
@@ -1 +1 @@
1
- {"version":3,"file":"IconPicker.js","names":[],"sources":["../../src/icons/IconPicker.tsx"],"sourcesContent":["import { useEffect, useId, useMemo, useRef, type InputHTMLAttributes, type ReactNode } from \"react\";\n\nimport { cn } from \"../utils/cn\";\nimport { iconNames } from \"./generated/icon-names\";\nimport { Icon } from \"./Icon\";\nimport { normalizeIconName } from \"./normalize-icon-name\";\nimport { validateIconName } from \"./validate-icon-name\";\nimport styles from \"./IconPicker.module.css\";\n\n/**\n * @tempest-limits props-count — value/onChange are the field, limit/placeholder\n * the suggestion list, and previewSize/invalidMessage the two things a form\n * around it needs to restyle or translate.\n */\nexport interface IconPickerProps extends Omit<\n InputHTMLAttributes<HTMLInputElement>,\n \"value\" | \"onChange\" | \"list\" | \"type\"\n> {\n /** The chosen slug. Always canonical — see `onChange`. */\n value: string;\n /**\n * Fires with the **canonical** slug on every keystroke.\n *\n * Legacy spellings are normalized on the way out (`Shopping_Cart` →\n * `shopping-cart`, `alert-circle` → `circle-alert`), so what a form stores is\n * what `<Icon>` resolves without further cleanup.\n */\n onChange: (slug: string) => void;\n /**\n * How many suggestions to render. Default `40`.\n *\n * There are 2024 slugs, and building every one as an `<option>` on each\n * keystroke freezes the datalist — which is the reason this prop exists rather\n * than a \"show everything\" default.\n */\n limit?: number;\n /** Size of the preview glyph, in px. Default `20`. */\n previewSize?: number;\n /** Overrides the message shown for a slug that does not exist. */\n invalidMessage?: string;\n /** Rendered in the preview box while nothing valid is chosen. */\n emptyPreview?: ReactNode;\n}\n\n/**\n * An icon field: native autocomplete over every lucide slug, plus a preview.\n *\n * Every panel that lets someone choose an icon was rewriting this — filter the\n * list, cap the suggestions, build the `<datalist>`, and block submit when the\n * typed name does not exist. That last step is the one that matters: without it\n * an invalid value reaches the database and only shows up later as a missing icon\n * on every screen that renders the record.\n *\n * Validation is wired to the **native** form: the input carries a custom validity\n * message, so a plain `<form>` refuses to submit and the browser points at the\n * field. `validateIconName` is exported for react-hook-form and zod.\n *\n * Built on `<datalist>` rather than a custom listbox on purpose: keyboard,\n * screen-reader and mobile behaviour come from the platform, and the component\n * stays small enough that its cost is the slug list it has to import — ~7 KB\n * brotli, which only a picker pays.\n *\n * @example\n * const [icon, setIcon] = useState(\"\");\n *\n * <form onSubmit={save}>\n * <IconPicker value={icon} onChange={setIcon} required />\n * <button type=\"submit\">Salvar</button>\n * </form>\n */\nexport function IconPicker({\n value,\n onChange,\n limit = 40,\n previewSize = 20,\n invalidMessage,\n emptyPreview = null,\n className,\n ...rest\n}: IconPickerProps): ReactNode {\n const listId = useId();\n const input = useRef<HTMLInputElement>(null);\n const error = validateIconName(value, invalidMessage);\n\n const suggestions = useMemo(() => {\n const query = normalizeIconName(value);\n const matches = query === \"\" ? iconNames : iconNames.filter((name) => name.includes(query));\n return matches.slice(0, limit);\n }, [value, limit]);\n\n useEffect(() => {\n input.current?.setCustomValidity(error ?? \"\");\n }, [error]);\n\n return (\n <span className={cn(styles.picker, className)}>\n <span className={styles.preview} aria-hidden=\"true\">\n {error === undefined && value.trim() !== \"\" ? (\n <Icon name={value} size={previewSize} fallback={emptyPreview} />\n ) : (\n emptyPreview\n )}\n </span>\n <input\n {...rest}\n ref={input}\n type=\"text\"\n className={styles.input}\n list={listId}\n value={value}\n aria-invalid={error !== undefined || undefined}\n onChange={(event) => onChange(normalizeIconName(event.target.value))}\n />\n <datalist id={listId}>\n {suggestions.map((name) => (\n <option key={name} value={name} />\n ))}\n </datalist>\n </span>\n );\n}\n"],"mappings":";;;;;;;;;AAsEA,SAAgB,EAAW,EACvB,UACA,aACA,WAAQ,IACR,iBAAc,IACd,mBACA,kBAAe,MACf,cACA,GAAG,KACwB;CAC3B,IAAM,IAAS,EAAM,GACf,IAAQ,EAAyB,IAAI,GACrC,IAAQ,EAAiB,GAAO,CAAc,GAE9C,IAAc,QAAc;EAC9B,IAAM,IAAQ,EAAkB,CAAK;EAErC,QADgB,MAAU,KAAK,IAAY,EAAU,QAAQ,MAAS,EAAK,SAAS,CAAK,CAAC,EAAA,CAC3E,MAAM,GAAG,CAAK;CACjC,GAAG,CAAC,GAAO,CAAK,CAAC;CAMjB,OAJA,QAAgB;EACZ,EAAM,SAAS,kBAAkB,KAAS,EAAE;CAChD,GAAG,CAAC,CAAK,CAAC,GAGN,kBAAC,QAAD;EAAM,WAAW,EAAG,EAAO,QAAQ,CAAS;EAA5C,UAAA;GACI,kBAAC,QAAD;IAAM,WAAW,EAAO;IAAS,eAAY;IACxC,UAAA,MAAU,KAAA,KAAa,EAAM,KAAK,MAAM,KACrC,kBAAC,GAAD;KAAM,MAAM;KAAO,MAAM;KAAa,UAAU;IAAe,CAAA,IAE/D;GAEF,CAAA;GACN,kBAAC,SAAD;IACI,GAAI;IACJ,KAAK;IACL,MAAK;IACL,WAAW,EAAO;IAClB,MAAM;IACC;IACP,gBAAc,MAAU,KAAA,KAAa,KAAA;IACrC,WAAW,MAAU,EAAS,EAAkB,EAAM,OAAO,KAAK,CAAC;GACtE,CAAA;GACD,kBAAC,YAAD;IAAU,IAAI;IACT,UAAA,EAAY,KAAK,MACd,kBAAC,UAAD,EAAmB,OAAO,EAAO,GAApB,CAAoB,CACpC;GACK,CAAA;EACR;;AAEd"}
1
+ {"version":3,"file":"IconPicker.js","names":["styles","IconPicker_module_default","IconPicker","rest","listId","useId","input","useRef","error","validateIconName","value","invalidMessage","suggestions","useMemo","query","normalizeIconName","iconNames","name","limit","useEffect","cn","className","Icon","previewSize","emptyPreview","onChange","event"],"sources":["../../src/icons/IconPicker.tsx"],"sourcesContent":["import { useEffect, useId, useMemo, useRef, type InputHTMLAttributes, type ReactNode } from \"react\";\n\nimport { cn } from \"../utils/cn\";\nimport { iconNames } from \"./generated/icon-names\";\nimport { Icon } from \"./Icon\";\nimport { normalizeIconName } from \"./normalize-icon-name\";\nimport { validateIconName } from \"./validate-icon-name\";\nimport styles from \"./IconPicker.module.css\";\n\n/**\n * @tempest-limits props-count — value/onChange are the field, limit/placeholder\n * the suggestion list, and previewSize/invalidMessage the two things a form\n * around it needs to restyle or translate.\n */\nexport interface IconPickerProps extends Omit<\n InputHTMLAttributes<HTMLInputElement>,\n \"value\" | \"onChange\" | \"list\" | \"type\"\n> {\n /** The chosen slug. Always canonical — see `onChange`. */\n value: string;\n /**\n * Fires with the **canonical** slug on every keystroke.\n *\n * Legacy spellings are normalized on the way out (`Shopping_Cart` →\n * `shopping-cart`, `alert-circle` → `circle-alert`), so what a form stores is\n * what `<Icon>` resolves without further cleanup.\n */\n onChange: (slug: string) => void;\n /**\n * How many suggestions to render. Default `40`.\n *\n * There are 2024 slugs, and building every one as an `<option>` on each\n * keystroke freezes the datalist — which is the reason this prop exists rather\n * than a \"show everything\" default.\n */\n limit?: number;\n /** Size of the preview glyph, in px. Default `20`. */\n previewSize?: number;\n /** Overrides the message shown for a slug that does not exist. */\n invalidMessage?: string;\n /** Rendered in the preview box while nothing valid is chosen. */\n emptyPreview?: ReactNode;\n}\n\n/**\n * An icon field: native autocomplete over every lucide slug, plus a preview.\n *\n * Every panel that lets someone choose an icon was rewriting this — filter the\n * list, cap the suggestions, build the `<datalist>`, and block submit when the\n * typed name does not exist. That last step is the one that matters: without it\n * an invalid value reaches the database and only shows up later as a missing icon\n * on every screen that renders the record.\n *\n * Validation is wired to the **native** form: the input carries a custom validity\n * message, so a plain `<form>` refuses to submit and the browser points at the\n * field. `validateIconName` is exported for react-hook-form and zod.\n *\n * Built on `<datalist>` rather than a custom listbox on purpose: keyboard,\n * screen-reader and mobile behaviour come from the platform, and the component\n * stays small enough that its cost is the slug list it has to import — ~7 KB\n * brotli, which only a picker pays.\n *\n * @example\n * const [icon, setIcon] = useState(\"\");\n *\n * <form onSubmit={save}>\n * <IconPicker value={icon} onChange={setIcon} required />\n * <button type=\"submit\">Salvar</button>\n * </form>\n */\nexport function IconPicker({\n value,\n onChange,\n limit = 40,\n previewSize = 20,\n invalidMessage,\n emptyPreview = null,\n className,\n ...rest\n}: IconPickerProps): ReactNode {\n const listId = useId();\n const input = useRef<HTMLInputElement>(null);\n const error = validateIconName(value, invalidMessage);\n\n const suggestions = useMemo(() => {\n const query = normalizeIconName(value);\n const matches = query === \"\" ? iconNames : iconNames.filter((name) => name.includes(query));\n return matches.slice(0, limit);\n }, [value, limit]);\n\n useEffect(() => {\n input.current?.setCustomValidity(error ?? \"\");\n }, [error]);\n\n return (\n <span className={cn(styles.picker, className)}>\n <span className={styles.preview} aria-hidden=\"true\">\n {error === undefined && value.trim() !== \"\" ? (\n <Icon name={value} size={previewSize} fallback={emptyPreview} />\n ) : (\n emptyPreview\n )}\n </span>\n <input\n {...rest}\n ref={input}\n type=\"text\"\n className={styles.input}\n list={listId}\n value={value}\n aria-invalid={error !== undefined || undefined}\n onChange={(event) => onChange(normalizeIconName(event.target.value))}\n />\n <datalist id={listId}>\n {suggestions.map((name) => (\n <option key={name} value={name} />\n ))}\n </datalist>\n </span>\n );\n}\n"],"mappings":";;;;;;;;;AAsEA,SAAgBE,EAAW,EACvB,UACA,aACA,WAAQ,IACR,iBAAc,IACd,mBACA,kBAAe,MACf,cACA,GAAGC,KACwB;CAC3B,IAAMC,IAASC,EAAM,GACfC,IAAQC,EAAyB,IAAI,GACrCC,IAAQC,EAAiBC,GAAOC,CAAc,GAE9CC,IAAcC,QAAc;EAC9B,IAAMC,IAAQC,EAAkBL,CAAK;EAErC,QADgBI,MAAU,KAAKE,IAAYA,EAAU,QAAQ,MAASC,EAAK,SAASH,CAAK,CAAC,EAAA,CAC3E,MAAM,GAAGI,CAAK;CACjC,GAAG,CAACR,GAAOQ,CAAK,CAAC;CAMjB,OAJAC,QAAgB;EACZ,EAAM,SAAS,kBAAkBX,KAAS,EAAE;CAChD,GAAG,CAACA,CAAK,CAAC,GAGN,kBAAC,QAAD;EAAM,WAAWY,EAAGpB,EAAO,QAAQqB,CAAS;EAA5C,UAAA;GACI,kBAAC,QAAD;IAAM,WAAWrB,EAAO;IAAS,eAAY;IACxC,UAAAQ,MAAU,KAAA,KAAaE,EAAM,KAAK,MAAM,KACrC,kBAACY,GAAD;KAAM,MAAMZ;KAAO,MAAMa;KAAa,UAAUC;IAAe,CAAA,IAE/DA;GAEF,CAAA;GACN,kBAAC,SAAD;IACI,GAAIrB;IACJ,KAAKG;IACL,MAAK;IACL,WAAWN,EAAO;IAClB,MAAMI;IACC;IACP,gBAAcI,MAAU,KAAA,KAAa,KAAA;IACrC,WAAW,MAAUiB,EAASV,EAAkBW,EAAM,OAAO,KAAK,CAAC;GACtE,CAAA;GACD,kBAAC,YAAD;IAAU,IAAItB;IACT,UAAAQ,EAAY,KAAK,MACd,kBAAC,UAAD,EAAmB,OAAOK,EAAO,GAApBA,CAAoB,CACpC;GACK,CAAA;EACR;;AAEd"}
@@ -1 +1 @@
1
- {"version":3,"file":"IconPicker.module.cjs","names":[],"sources":["../../src/icons/IconPicker.module.css"],"sourcesContent":[".picker {\n display: inline-flex;\n align-items: center;\n gap: var(--tempest-space-2);\n font-family: var(--tempest-font-sans);\n}\n\n.preview {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n width: 34px;\n height: 34px;\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background: var(--tempest-surface);\n color: var(--tempest-text);\n}\n\n.input {\n flex: 1 1 auto;\n min-width: 0;\n padding: var(--tempest-space-2) var(--tempest-space-3);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background: var(--tempest-bg);\n color: var(--tempest-text);\n font-family: inherit;\n font-size: var(--tempest-text-sm);\n min-height: 34px;\n}\n\n.input:focus-visible {\n outline: var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);\n outline-offset: 1px;\n}\n\n.input[aria-invalid=\"true\"] {\n border-color: var(--tempest-danger);\n}\n"],"mappings":";"}
1
+ {"version":3,"file":"IconPicker.module.cjs","names":["picker","preview","input","IconPicker_module_default"],"sources":["../../src/icons/IconPicker.module.css"],"sourcesContent":[".picker {\n display: inline-flex;\n align-items: center;\n gap: var(--tempest-space-2);\n font-family: var(--tempest-font-sans);\n}\n\n.preview {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n width: 34px;\n height: 34px;\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background: var(--tempest-surface);\n color: var(--tempest-text);\n}\n\n.input {\n flex: 1 1 auto;\n min-width: 0;\n padding: var(--tempest-space-2) var(--tempest-space-3);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background: var(--tempest-bg);\n color: var(--tempest-text);\n font-family: inherit;\n font-size: var(--tempest-text-sm);\n min-height: 34px;\n}\n\n.input:focus-visible {\n outline: var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);\n outline-offset: 1px;\n}\n\n.input[aria-invalid=\"true\"] {\n border-color: var(--tempest-danger);\n}\n"],"mappings":";"}
@@ -1 +1 @@
1
- {"version":3,"file":"IconPicker.module.js","names":[],"sources":["../../src/icons/IconPicker.module.css"],"sourcesContent":[".picker {\n display: inline-flex;\n align-items: center;\n gap: var(--tempest-space-2);\n font-family: var(--tempest-font-sans);\n}\n\n.preview {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n width: 34px;\n height: 34px;\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background: var(--tempest-surface);\n color: var(--tempest-text);\n}\n\n.input {\n flex: 1 1 auto;\n min-width: 0;\n padding: var(--tempest-space-2) var(--tempest-space-3);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background: var(--tempest-bg);\n color: var(--tempest-text);\n font-family: inherit;\n font-size: var(--tempest-text-sm);\n min-height: 34px;\n}\n\n.input:focus-visible {\n outline: var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);\n outline-offset: 1px;\n}\n\n.input[aria-invalid=\"true\"] {\n border-color: var(--tempest-danger);\n}\n"],"mappings":";"}
1
+ {"version":3,"file":"IconPicker.module.js","names":["picker","preview","input","IconPicker_module_default"],"sources":["../../src/icons/IconPicker.module.css"],"sourcesContent":[".picker {\n display: inline-flex;\n align-items: center;\n gap: var(--tempest-space-2);\n font-family: var(--tempest-font-sans);\n}\n\n.preview {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n width: 34px;\n height: 34px;\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background: var(--tempest-surface);\n color: var(--tempest-text);\n}\n\n.input {\n flex: 1 1 auto;\n min-width: 0;\n padding: var(--tempest-space-2) var(--tempest-space-3);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background: var(--tempest-bg);\n color: var(--tempest-text);\n font-family: inherit;\n font-size: var(--tempest-text-sm);\n min-height: 34px;\n}\n\n.input:focus-visible {\n outline: var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);\n outline-offset: 1px;\n}\n\n.input[aria-invalid=\"true\"] {\n border-color: var(--tempest-danger);\n}\n"],"mappings":";"}
@@ -1 +1 @@
1
- {"version":3,"file":"IconProvider.cjs","names":[],"sources":["../../src/icons/IconProvider.tsx"],"sourcesContent":["import { type ReactNode, useMemo } from \"react\";\n\nimport { IconContext, type IconContextValue, type IconRegistry } from \"./icon-context\";\n\nexport interface IconProviderProps {\n /**\n * Icons resolved with zero extra requests.\n *\n * Pass `staticIcons` from the `virtual:tempest-icons` module the\n * `tempestIcons()` Vite plugin generates, or a table built by\n * `createIconRegistry`. Slugs found here never trigger a shard fetch.\n */\n registry?: IconRegistry;\n /** Default `size` for every `<Icon>` below. Lucide's own default is `24`. */\n size?: number | string;\n /** Default `strokeWidth` for every `<Icon>` below. Lucide's own default is `2`. */\n strokeWidth?: number;\n children: ReactNode;\n}\n\nconst EMPTY_REGISTRY: IconRegistry = {};\n\n/**\n * Provide a static icon registry and shared `<Icon>` defaults to a subtree.\n *\n * Entirely optional: without it `<Icon>` still resolves any of lucide's ~2000\n * slugs by fetching the shard that owns it. What the provider buys is the\n * zero-request path for the slugs an app actually uses, plus one place to set\n * `size`/`strokeWidth` instead of repeating them at every call site.\n *\n * @example\n * import { IconProvider } from \"tempest-react-sdk/icons\";\n * import { staticIcons } from \"virtual:tempest-icons\";\n *\n * <IconProvider registry={staticIcons} size={18}>\n * <App />\n * </IconProvider>\n */\nexport function IconProvider({\n registry = EMPTY_REGISTRY,\n size,\n strokeWidth,\n children,\n}: IconProviderProps): ReactNode {\n const value = useMemo<IconContextValue>(\n () => ({ registry, size, strokeWidth }),\n [registry, size, strokeWidth],\n );\n return <IconContext.Provider value={value}>{children}</IconContext.Provider>;\n}\n"],"mappings":"4FAoBA,IAAM,EAA+B,CAAC,EAkBtC,SAAgB,EAAa,CACzB,WAAW,EACX,OACA,cACA,YAC6B,CAC7B,IAAM,GAAA,EAAQ,EAAA,QAAA,MACH,CAAE,WAAU,OAAM,aAAY,GACrC,CAAC,EAAU,EAAM,CAAW,CAChC,EACA,OAAO,EAAA,EAAA,IAAA,CAAC,EAAA,YAAY,SAAb,CAA6B,QAAQ,UAA+B,CAAA,CAC/E"}
1
+ {"version":3,"file":"IconProvider.cjs","names":["useMemo","IconContext","require_icon_context","react","react_jsx_runtime","EMPTY_REGISTRY","IconProvider","value","registry","size","strokeWidth"],"sources":["../../src/icons/IconProvider.tsx"],"sourcesContent":["import { type ReactNode, useMemo } from \"react\";\n\nimport { IconContext, type IconContextValue, type IconRegistry } from \"./icon-context\";\n\nexport interface IconProviderProps {\n /**\n * Icons resolved with zero extra requests.\n *\n * Pass `staticIcons` from the `virtual:tempest-icons` module the\n * `tempestIcons()` Vite plugin generates, or a table built by\n * `createIconRegistry`. Slugs found here never trigger a shard fetch.\n */\n registry?: IconRegistry;\n /** Default `size` for every `<Icon>` below. Lucide's own default is `24`. */\n size?: number | string;\n /** Default `strokeWidth` for every `<Icon>` below. Lucide's own default is `2`. */\n strokeWidth?: number;\n children: ReactNode;\n}\n\nconst EMPTY_REGISTRY: IconRegistry = {};\n\n/**\n * Provide a static icon registry and shared `<Icon>` defaults to a subtree.\n *\n * Entirely optional: without it `<Icon>` still resolves any of lucide's ~2000\n * slugs by fetching the shard that owns it. What the provider buys is the\n * zero-request path for the slugs an app actually uses, plus one place to set\n * `size`/`strokeWidth` instead of repeating them at every call site.\n *\n * @example\n * import { IconProvider } from \"tempest-react-sdk/icons\";\n * import { staticIcons } from \"virtual:tempest-icons\";\n *\n * <IconProvider registry={staticIcons} size={18}>\n * <App />\n * </IconProvider>\n */\nexport function IconProvider({\n registry = EMPTY_REGISTRY,\n size,\n strokeWidth,\n children,\n}: IconProviderProps): ReactNode {\n const value = useMemo<IconContextValue>(\n () => ({ registry, size, strokeWidth }),\n [registry, size, strokeWidth],\n );\n return <IconContext.Provider value={value}>{children}</IconContext.Provider>;\n}\n"],"mappings":"A,4FAoBA,IAAMK,EAA+B,CAAC,EAkBtC,SAAgBC,EAAa,CACzB,WAAWD,EACX,OACA,cACA,YAC6B,CAC7B,IAAME,GAAA,EAAQP,EAAAA,QAAAA,MACH,CAAE,WAAU,OAAM,aAAY,GACrC,CAACQ,EAAUC,EAAMC,CAAW,CAChC,EACA,OAAO,EAAAN,EAAA,IAAA,CAACH,EAAAA,YAAY,SAAb,CAA6B,QAAQ,UAA+B,CAAA,CAC/E,C"}
@@ -1 +1 @@
1
- {"version":3,"file":"IconProvider.js","names":[],"sources":["../../src/icons/IconProvider.tsx"],"sourcesContent":["import { type ReactNode, useMemo } from \"react\";\n\nimport { IconContext, type IconContextValue, type IconRegistry } from \"./icon-context\";\n\nexport interface IconProviderProps {\n /**\n * Icons resolved with zero extra requests.\n *\n * Pass `staticIcons` from the `virtual:tempest-icons` module the\n * `tempestIcons()` Vite plugin generates, or a table built by\n * `createIconRegistry`. Slugs found here never trigger a shard fetch.\n */\n registry?: IconRegistry;\n /** Default `size` for every `<Icon>` below. Lucide's own default is `24`. */\n size?: number | string;\n /** Default `strokeWidth` for every `<Icon>` below. Lucide's own default is `2`. */\n strokeWidth?: number;\n children: ReactNode;\n}\n\nconst EMPTY_REGISTRY: IconRegistry = {};\n\n/**\n * Provide a static icon registry and shared `<Icon>` defaults to a subtree.\n *\n * Entirely optional: without it `<Icon>` still resolves any of lucide's ~2000\n * slugs by fetching the shard that owns it. What the provider buys is the\n * zero-request path for the slugs an app actually uses, plus one place to set\n * `size`/`strokeWidth` instead of repeating them at every call site.\n *\n * @example\n * import { IconProvider } from \"tempest-react-sdk/icons\";\n * import { staticIcons } from \"virtual:tempest-icons\";\n *\n * <IconProvider registry={staticIcons} size={18}>\n * <App />\n * </IconProvider>\n */\nexport function IconProvider({\n registry = EMPTY_REGISTRY,\n size,\n strokeWidth,\n children,\n}: IconProviderProps): ReactNode {\n const value = useMemo<IconContextValue>(\n () => ({ registry, size, strokeWidth }),\n [registry, size, strokeWidth],\n );\n return <IconContext.Provider value={value}>{children}</IconContext.Provider>;\n}\n"],"mappings":";;;;AAoBA,IAAM,IAA+B,CAAC;AAkBtC,SAAgB,EAAa,EACzB,cAAW,GACX,SACA,gBACA,eAC6B;CAC7B,IAAM,IAAQ,SACH;EAAE;EAAU;EAAM;CAAY,IACrC;EAAC;EAAU;EAAM;CAAW,CAChC;CACA,OAAO,kBAAC,EAAY,UAAb;EAA6B;EAAQ;CAA+B,CAAA;AAC/E"}
1
+ {"version":3,"file":"IconProvider.js","names":["EMPTY_REGISTRY","IconProvider","value","useMemo","registry","size","strokeWidth","IconContext"],"sources":["../../src/icons/IconProvider.tsx"],"sourcesContent":["import { type ReactNode, useMemo } from \"react\";\n\nimport { IconContext, type IconContextValue, type IconRegistry } from \"./icon-context\";\n\nexport interface IconProviderProps {\n /**\n * Icons resolved with zero extra requests.\n *\n * Pass `staticIcons` from the `virtual:tempest-icons` module the\n * `tempestIcons()` Vite plugin generates, or a table built by\n * `createIconRegistry`. Slugs found here never trigger a shard fetch.\n */\n registry?: IconRegistry;\n /** Default `size` for every `<Icon>` below. Lucide's own default is `24`. */\n size?: number | string;\n /** Default `strokeWidth` for every `<Icon>` below. Lucide's own default is `2`. */\n strokeWidth?: number;\n children: ReactNode;\n}\n\nconst EMPTY_REGISTRY: IconRegistry = {};\n\n/**\n * Provide a static icon registry and shared `<Icon>` defaults to a subtree.\n *\n * Entirely optional: without it `<Icon>` still resolves any of lucide's ~2000\n * slugs by fetching the shard that owns it. What the provider buys is the\n * zero-request path for the slugs an app actually uses, plus one place to set\n * `size`/`strokeWidth` instead of repeating them at every call site.\n *\n * @example\n * import { IconProvider } from \"tempest-react-sdk/icons\";\n * import { staticIcons } from \"virtual:tempest-icons\";\n *\n * <IconProvider registry={staticIcons} size={18}>\n * <App />\n * </IconProvider>\n */\nexport function IconProvider({\n registry = EMPTY_REGISTRY,\n size,\n strokeWidth,\n children,\n}: IconProviderProps): ReactNode {\n const value = useMemo<IconContextValue>(\n () => ({ registry, size, strokeWidth }),\n [registry, size, strokeWidth],\n );\n return <IconContext.Provider value={value}>{children}</IconContext.Provider>;\n}\n"],"mappings":";;;;AAoBA,IAAMA,IAA+B,CAAC;AAkBtC,SAAgBC,EAAa,EACzB,cAAWD,GACX,SACA,gBACA,eAC6B;CAC7B,IAAME,IAAQC,SACH;EAAE;EAAU;EAAM;CAAY,IACrC;EAACC;EAAUC;EAAMC;CAAW,CAChC;CACA,OAAO,kBAACC,EAAY,UAAb;EAA6B;EAAQ;CAA+B,CAAA;AAC/E"}
@@ -1 +1 @@
1
- {"version":3,"file":"alias.cjs","names":[],"sources":["../../src/icons/alias.ts"],"sourcesContent":["import { iconAliases } from \"./generated/aliases\";\n\n/**\n * Map a slug to the canonical slug that owns the icon.\n *\n * Lucide keeps 257 deprecated aliases (`alert-circle` → `circle-alert`), and a\n * slug persisted in a database years ago is exactly the case this feature exists\n * for, so an alias must keep resolving after a lucide bump renames it. Resolution\n * happens before the shard lookup, since only canonical slugs are sharded.\n *\n * Its own module, not part of `shard-cache`: everything that merely *names* an\n * icon needs this — `normalizeIconName`, `validateIconName`, a form checking a\n * value before submit — and none of that needs the shard loader index. Sharing a\n * module made a validator that never renders anything drag in all 45 shard\n * modules.\n *\n * @param slug - Any icon slug, canonical or deprecated.\n * @returns The canonical slug.\n */\nexport function resolveIconAlias(slug: string): string {\n return iconAliases[slug] ?? slug;\n}\n"],"mappings":"2CAmBA,SAAgB,EAAiB,EAAsB,CACnD,OAAO,EAAA,YAAY,IAAS,CAChC"}
1
+ {"version":3,"file":"alias.cjs","names":["iconAliases","require_aliases","resolveIconAlias","slug"],"sources":["../../src/icons/alias.ts"],"sourcesContent":["import { iconAliases } from \"./generated/aliases\";\n\n/**\n * Map a slug to the canonical slug that owns the icon.\n *\n * Lucide keeps 257 deprecated aliases (`alert-circle` → `circle-alert`), and a\n * slug persisted in a database years ago is exactly the case this feature exists\n * for, so an alias must keep resolving after a lucide bump renames it. Resolution\n * happens before the shard lookup, since only canonical slugs are sharded.\n *\n * Its own module, not part of `shard-cache`: everything that merely *names* an\n * icon needs this — `normalizeIconName`, `validateIconName`, a form checking a\n * value before submit — and none of that needs the shard loader index. Sharing a\n * module made a validator that never renders anything drag in all 45 shard\n * modules.\n *\n * @param slug - Any icon slug, canonical or deprecated.\n * @returns The canonical slug.\n */\nexport function resolveIconAlias(slug: string): string {\n return iconAliases[slug] ?? slug;\n}\n"],"mappings":"A,2CAmBA,SAAgBE,EAAiB,EAAsB,CACnD,OAAOF,EAAAA,YAAYG,IAASA,CAChC,C"}
@@ -1 +1 @@
1
- {"version":3,"file":"alias.js","names":[],"sources":["../../src/icons/alias.ts"],"sourcesContent":["import { iconAliases } from \"./generated/aliases\";\n\n/**\n * Map a slug to the canonical slug that owns the icon.\n *\n * Lucide keeps 257 deprecated aliases (`alert-circle` → `circle-alert`), and a\n * slug persisted in a database years ago is exactly the case this feature exists\n * for, so an alias must keep resolving after a lucide bump renames it. Resolution\n * happens before the shard lookup, since only canonical slugs are sharded.\n *\n * Its own module, not part of `shard-cache`: everything that merely *names* an\n * icon needs this — `normalizeIconName`, `validateIconName`, a form checking a\n * value before submit — and none of that needs the shard loader index. Sharing a\n * module made a validator that never renders anything drag in all 45 shard\n * modules.\n *\n * @param slug - Any icon slug, canonical or deprecated.\n * @returns The canonical slug.\n */\nexport function resolveIconAlias(slug: string): string {\n return iconAliases[slug] ?? slug;\n}\n"],"mappings":";;AAmBA,SAAgB,EAAiB,GAAsB;CACnD,OAAO,EAAY,MAAS;AAChC"}
1
+ {"version":3,"file":"alias.js","names":["resolveIconAlias","iconAliases","slug"],"sources":["../../src/icons/alias.ts"],"sourcesContent":["import { iconAliases } from \"./generated/aliases\";\n\n/**\n * Map a slug to the canonical slug that owns the icon.\n *\n * Lucide keeps 257 deprecated aliases (`alert-circle` → `circle-alert`), and a\n * slug persisted in a database years ago is exactly the case this feature exists\n * for, so an alias must keep resolving after a lucide bump renames it. Resolution\n * happens before the shard lookup, since only canonical slugs are sharded.\n *\n * Its own module, not part of `shard-cache`: everything that merely *names* an\n * icon needs this — `normalizeIconName`, `validateIconName`, a form checking a\n * value before submit — and none of that needs the shard loader index. Sharing a\n * module made a validator that never renders anything drag in all 45 shard\n * modules.\n *\n * @param slug - Any icon slug, canonical or deprecated.\n * @returns The canonical slug.\n */\nexport function resolveIconAlias(slug: string): string {\n return iconAliases[slug] ?? slug;\n}\n"],"mappings":";;AAmBA,SAAgBA,EAAiB,GAAsB;CACnD,OAAOC,EAAYC,MAASA;AAChC"}
@@ -1 +1 @@
1
- {"version":3,"file":"aliases.cjs","names":[],"sources":["../../../src/icons/generated/aliases.ts"],"sourcesContent":["// GENERATED by scripts/gen-icons.mjs — do not edit.\n// Run `npm run gen:icons` after bumping lucide-react.\n\n/**\n * Lucide's 258 deprecated slugs, mapped to the canonical slug that\n * replaced them (`alert-circle` → `circle-alert`).\n *\n * Kept so a name stored in a database years ago keeps rendering after a lucide\n * bump renames it. Resolution goes through here first, so an alias loads the\n * shard of its *canonical* slug.\n */\nexport const iconAliases: Record<string, string> = {\n \"activity-square\": \"square-activity\",\n \"alarm-check\": \"alarm-clock-check\",\n \"alarm-minus\": \"alarm-clock-minus\",\n \"alarm-plus\": \"alarm-clock-plus\",\n \"alert-circle\": \"circle-alert\",\n \"alert-octagon\": \"octagon-alert\",\n \"alert-triangle\": \"triangle-alert\",\n \"align-center\": \"text-align-center\",\n \"align-justify\": \"text-align-justify\",\n \"align-left\": \"text-align-start\",\n \"align-right\": \"text-align-end\",\n angry: \"face-angry\",\n annoyed: \"face-expressionless\",\n \"area-chart\": \"chart-area\",\n \"arrow-down-01\": \"arrow-down-0-1\",\n \"arrow-down-10\": \"arrow-down-1-0\",\n \"arrow-down-az\": \"arrow-down-a-z\",\n \"arrow-down-circle\": \"circle-arrow-down\",\n \"arrow-down-left-from-circle\": \"circle-arrow-out-down-left\",\n \"arrow-down-left-from-square\": \"square-arrow-out-down-left\",\n \"arrow-down-left-square\": \"square-arrow-down-left\",\n \"arrow-down-right-from-circle\": \"circle-arrow-out-down-right\",\n \"arrow-down-right-from-square\": \"square-arrow-out-down-right\",\n \"arrow-down-right-square\": \"square-arrow-down-right\",\n \"arrow-down-square\": \"square-arrow-down\",\n \"arrow-down-za\": \"arrow-down-z-a\",\n \"arrow-left-circle\": \"circle-arrow-left\",\n \"arrow-left-square\": \"square-arrow-left\",\n \"arrow-right-circle\": \"circle-arrow-right\",\n \"arrow-right-square\": \"square-arrow-right\",\n \"arrow-up-01\": \"arrow-up-0-1\",\n \"arrow-up-10\": \"arrow-up-1-0\",\n \"arrow-up-az\": \"arrow-up-a-z\",\n \"arrow-up-circle\": \"circle-arrow-up\",\n \"arrow-up-left-from-circle\": \"circle-arrow-out-up-left\",\n \"arrow-up-left-from-square\": \"square-arrow-out-up-left\",\n \"arrow-up-left-square\": \"square-arrow-up-left\",\n \"arrow-up-right-from-circle\": \"circle-arrow-out-up-right\",\n \"arrow-up-right-from-square\": \"square-arrow-out-up-right\",\n \"arrow-up-right-square\": \"square-arrow-up-right\",\n \"arrow-up-square\": \"square-arrow-up\",\n \"arrow-up-za\": \"arrow-up-z-a\",\n \"asterisk-square\": \"square-asterisk\",\n \"axis-3-d\": \"axis-3d\",\n \"badge-help\": \"badge-question-mark\",\n \"bar-chart\": \"chart-no-axes-column-increasing\",\n \"bar-chart-2\": \"chart-no-axes-column\",\n \"bar-chart-3\": \"chart-column\",\n \"bar-chart-4\": \"chart-column-increasing\",\n \"bar-chart-big\": \"chart-column-big\",\n \"bar-chart-horizontal\": \"chart-bar\",\n \"bar-chart-horizontal-big\": \"chart-bar-big\",\n \"between-horizonal-end\": \"between-horizontal-end\",\n \"between-horizonal-start\": \"between-horizontal-start\",\n \"book-template\": \"book-dashed\",\n \"box-select\": \"square-dashed\",\n \"candlestick-chart\": \"chart-candlestick\",\n \"check-circle\": \"circle-check-big\",\n \"check-circle-2\": \"circle-check\",\n \"check-square\": \"square-check-big\",\n \"check-square-2\": \"square-check\",\n \"chevron-down-circle\": \"circle-chevron-down\",\n \"chevron-down-square\": \"square-chevron-down\",\n \"chevron-left-circle\": \"circle-chevron-left\",\n \"chevron-left-square\": \"square-chevron-left\",\n \"chevron-right-circle\": \"circle-chevron-right\",\n \"chevron-right-square\": \"square-chevron-right\",\n \"chevron-up-circle\": \"circle-chevron-up\",\n \"chevron-up-square\": \"square-chevron-up\",\n \"circle-help\": \"circle-question-mark\",\n \"circle-slashed\": \"circle-slash-2\",\n \"clipboard-edit\": \"clipboard-pen\",\n \"clipboard-signature\": \"clipboard-pen-line\",\n \"code-2\": \"code-xml\",\n \"code-square\": \"square-code\",\n columns: \"columns-2\",\n \"columns-settings\": \"columns-3-cog\",\n \"contact-2\": \"contact-round\",\n \"curly-braces\": \"braces\",\n \"divide-circle\": \"circle-divide\",\n \"divide-square\": \"square-divide\",\n \"dot-square\": \"square-dot\",\n \"download-cloud\": \"cloud-download\",\n edit: \"square-pen\",\n \"edit-2\": \"pen\",\n \"edit-3\": \"pen-line\",\n \"equal-square\": \"square-equal\",\n \"file-audio\": \"file-headphone\",\n \"file-audio-2\": \"file-headphone\",\n \"file-axis-3-d\": \"file-axis-3d\",\n \"file-badge-2\": \"file-badge\",\n \"file-bar-chart\": \"file-chart-column-increasing\",\n \"file-bar-chart-2\": \"file-chart-column\",\n \"file-check-2\": \"file-check-corner\",\n \"file-code-2\": \"file-code-corner\",\n \"file-cog-2\": \"file-cog\",\n \"file-edit\": \"file-pen\",\n \"file-json\": \"file-braces\",\n \"file-json-2\": \"file-braces-corner\",\n \"file-key-2\": \"file-key\",\n \"file-line-chart\": \"file-chart-line\",\n \"file-lock-2\": \"file-lock\",\n \"file-minus-2\": \"file-minus-corner\",\n \"file-pie-chart\": \"file-chart-pie\",\n \"file-plus-2\": \"file-plus-corner\",\n \"file-question\": \"file-question-mark\",\n \"file-search-2\": \"file-search-corner\",\n \"file-signature\": \"file-pen-line\",\n \"file-type-2\": \"file-type-corner\",\n \"file-video\": \"file-play\",\n \"file-video-2\": \"file-video-camera\",\n \"file-volume-2\": \"file-signal\",\n \"file-warning\": \"file-exclamation-point\",\n \"file-x-2\": \"file-x-corner\",\n filter: \"funnel\",\n \"filter-x\": \"funnel-x\",\n \"flip-horizontal\": \"square-centerline-dashed-horizontal\",\n \"flip-vertical\": \"square-centerline-dashed-vertical\",\n \"folder-cog-2\": \"folder-cog\",\n \"folder-edit\": \"folder-pen\",\n \"fork-knife\": \"utensils\",\n \"fork-knife-crossed\": \"utensils-crossed\",\n \"form-input\": \"rectangle-ellipsis\",\n frown: \"face-slightly-frowning\",\n \"function-square\": \"square-function\",\n \"gantt-chart\": \"chart-no-axes-gantt\",\n \"gantt-chart-square\": \"square-chart-gantt\",\n \"gauge-circle\": \"circle-gauge\",\n \"git-commit\": \"git-commit-horizontal\",\n \"globe-2\": \"earth\",\n grab: \"hand-grab\",\n grid: \"grid-3x3\",\n \"grid-2-x-2\": \"grid-2x2\",\n \"grid-2-x-2-check\": \"grid-2x2-check\",\n \"grid-2-x-2-plus\": \"grid-2x2-plus\",\n \"grid-2-x-2-x\": \"grid-2x2-x\",\n \"grid-3-x-3\": \"grid-3x3\",\n \"help-circle\": \"circle-question-mark\",\n \"helping-hand\": \"hand-helping\",\n history: \"rotate-ccw-clock\",\n home: \"house\",\n \"ice-cream\": \"ice-cream-cone\",\n \"ice-cream-2\": \"ice-cream-bowl\",\n indent: \"list-indent-increase\",\n \"indent-decrease\": \"list-indent-decrease\",\n \"indent-increase\": \"list-indent-increase\",\n inspect: \"square-mouse-pointer\",\n \"kanban-square\": \"square-kanban\",\n \"kanban-square-dashed\": \"square-dashed-kanban\",\n \"laptop-2\": \"laptop-minimal\",\n laugh: \"face-grinning\",\n \"layers-3\": \"layers\",\n layout: \"panels-top-left\",\n \"letter-text\": \"text-initial\",\n \"library-square\": \"square-library\",\n \"line-chart\": \"chart-line\",\n \"loader-2\": \"loader-circle\",\n \"location-edit\": \"map-pin-pen\",\n \"m-square\": \"square-m\",\n \"mail-question\": \"mail-question-mark\",\n meh: \"face-neutral\",\n \"menu-square\": \"square-menu\",\n \"message-circle-question\": \"message-circle-question-mark\",\n \"mic-2\": \"mic-vocal\",\n \"minus-circle\": \"circle-minus\",\n \"minus-square\": \"square-minus\",\n \"more-horizontal\": \"ellipsis\",\n \"more-vertical\": \"ellipsis-vertical\",\n \"mouse-pointer-square-dashed\": \"square-dashed-mouse-pointer\",\n \"move-3-d\": \"move-3d\",\n outdent: \"list-indent-decrease\",\n \"paintbrush-2\": \"paintbrush-vertical\",\n palmtree: \"tree-palm\",\n \"panel-bottom-inactive\": \"panel-bottom-dashed\",\n \"panel-left-inactive\": \"panel-left-dashed\",\n \"panel-right-inactive\": \"panel-right-dashed\",\n \"panel-top-inactive\": \"panel-top-dashed\",\n \"panels-left-right\": \"columns-3\",\n \"panels-top-bottom\": \"rows-3\",\n \"parking-circle\": \"circle-parking\",\n \"parking-circle-off\": \"circle-parking-off\",\n \"parking-square\": \"square-parking\",\n \"parking-square-off\": \"square-parking-off\",\n \"pause-circle\": \"circle-pause\",\n \"pause-octagon\": \"octagon-pause\",\n \"pen-box\": \"square-pen\",\n \"pen-square\": \"square-pen\",\n \"percent-circle\": \"circle-percent\",\n \"percent-diamond\": \"diamond-percent\",\n \"percent-square\": \"square-percent\",\n \"pi-square\": \"square-pi\",\n \"pie-chart\": \"chart-pie\",\n \"pilcrow-square\": \"square-pilcrow\",\n \"play-circle\": \"circle-play\",\n \"play-square\": \"square-play\",\n \"plug-zap-2\": \"plug-zap\",\n \"plus-circle\": \"circle-plus\",\n \"plus-square\": \"square-plus\",\n podcast: \"mic-signal\",\n \"power-circle\": \"circle-power\",\n \"power-square\": \"square-power\",\n \"rotate-3-d\": \"rotate-3d\",\n rows: \"rows-2\",\n \"scale-3-d\": \"scale-3d\",\n \"scatter-chart\": \"chart-scatter\",\n \"school-2\": \"university\",\n \"scissors-square\": \"square-scissors\",\n \"scissors-square-dashed-bottom\": \"square-bottom-dashed-scissors\",\n \"send-horizonal\": \"send-horizontal\",\n \"shield-close\": \"shield-x\",\n \"shield-question\": \"shield-question-mark\",\n sidebar: \"panel-left\",\n \"sidebar-close\": \"panel-left-close\",\n \"sidebar-open\": \"panel-left-open\",\n \"sigma-square\": \"square-sigma\",\n \"slash-square\": \"square-slash\",\n sliders: \"sliders-vertical\",\n smile: \"face-slightly-smiling\",\n \"smile-plus\": \"face-slightly-smiling-plus\",\n \"sort-asc\": \"arrow-up-narrow-wide\",\n \"sort-desc\": \"arrow-down-wide-narrow\",\n \"split-square-horizontal\": \"square-split-horizontal\",\n \"split-square-vertical\": \"square-split-vertical\",\n \"square-gantt-chart\": \"square-chart-gantt\",\n stars: \"sparkles\",\n \"stop-circle\": \"circle-stop\",\n subtitles: \"captions\",\n \"table-config\": \"columns-3-cog\",\n \"terminal-square\": \"square-terminal\",\n \"test-tube-2\": \"test-tube-diagonal\",\n text: \"text-align-start\",\n \"text-select\": \"square-dashed-text\",\n \"text-selection\": \"square-dashed-text\",\n train: \"tram-front\",\n \"trash-2\": \"trash\",\n \"tv-2\": \"tv-minimal\",\n unlock: \"lock-open\",\n \"unlock-keyhole\": \"lock-keyhole-open\",\n \"upload-cloud\": \"cloud-upload\",\n \"user-2\": \"user-round\",\n \"user-check-2\": \"user-round-check\",\n \"user-circle\": \"circle-user\",\n \"user-circle-2\": \"circle-user-round\",\n \"user-cog-2\": \"user-round-cog\",\n \"user-minus-2\": \"user-round-minus\",\n \"user-plus-2\": \"user-round-plus\",\n \"user-square\": \"square-user\",\n \"user-square-2\": \"square-user-round\",\n \"user-x-2\": \"user-round-x\",\n \"users-2\": \"users-round\",\n verified: \"badge-check\",\n \"wallet-2\": \"wallet-minimal\",\n \"wand-2\": \"wand-sparkles\",\n waves: \"waves-horizontal\",\n \"wrap-text\": \"text-wrap\",\n \"x-circle\": \"circle-x\",\n \"x-octagon\": \"octagon-x\",\n \"x-square\": \"square-x\",\n};\n"],"mappings":"AAWA,IAAa,EAAsC,CAC/C,kBAAmB,kBACnB,cAAe,oBACf,cAAe,oBACf,aAAc,mBACd,eAAgB,eAChB,gBAAiB,gBACjB,iBAAkB,iBAClB,eAAgB,oBAChB,gBAAiB,qBACjB,aAAc,mBACd,cAAe,iBACf,MAAO,aACP,QAAS,sBACT,aAAc,aACd,gBAAiB,iBACjB,gBAAiB,iBACjB,gBAAiB,iBACjB,oBAAqB,oBACrB,8BAA+B,6BAC/B,8BAA+B,6BAC/B,yBAA0B,yBAC1B,+BAAgC,8BAChC,+BAAgC,8BAChC,0BAA2B,0BAC3B,oBAAqB,oBACrB,gBAAiB,iBACjB,oBAAqB,oBACrB,oBAAqB,oBACrB,qBAAsB,qBACtB,qBAAsB,qBACtB,cAAe,eACf,cAAe,eACf,cAAe,eACf,kBAAmB,kBACnB,4BAA6B,2BAC7B,4BAA6B,2BAC7B,uBAAwB,uBACxB,6BAA8B,4BAC9B,6BAA8B,4BAC9B,wBAAyB,wBACzB,kBAAmB,kBACnB,cAAe,eACf,kBAAmB,kBACnB,WAAY,UACZ,aAAc,sBACd,YAAa,kCACb,cAAe,uBACf,cAAe,eACf,cAAe,0BACf,gBAAiB,mBACjB,uBAAwB,YACxB,2BAA4B,gBAC5B,wBAAyB,yBACzB,0BAA2B,2BAC3B,gBAAiB,cACjB,aAAc,gBACd,oBAAqB,oBACrB,eAAgB,mBAChB,iBAAkB,eAClB,eAAgB,mBAChB,iBAAkB,eAClB,sBAAuB,sBACvB,sBAAuB,sBACvB,sBAAuB,sBACvB,sBAAuB,sBACvB,uBAAwB,uBACxB,uBAAwB,uBACxB,oBAAqB,oBACrB,oBAAqB,oBACrB,cAAe,uBACf,iBAAkB,iBAClB,iBAAkB,gBAClB,sBAAuB,qBACvB,SAAU,WACV,cAAe,cACf,QAAS,YACT,mBAAoB,gBACpB,YAAa,gBACb,eAAgB,SAChB,gBAAiB,gBACjB,gBAAiB,gBACjB,aAAc,aACd,iBAAkB,iBAClB,KAAM,aACN,SAAU,MACV,SAAU,WACV,eAAgB,eAChB,aAAc,iBACd,eAAgB,iBAChB,gBAAiB,eACjB,eAAgB,aAChB,iBAAkB,+BAClB,mBAAoB,oBACpB,eAAgB,oBAChB,cAAe,mBACf,aAAc,WACd,YAAa,WACb,YAAa,cACb,cAAe,qBACf,aAAc,WACd,kBAAmB,kBACnB,cAAe,YACf,eAAgB,oBAChB,iBAAkB,iBAClB,cAAe,mBACf,gBAAiB,qBACjB,gBAAiB,qBACjB,iBAAkB,gBAClB,cAAe,mBACf,aAAc,YACd,eAAgB,oBAChB,gBAAiB,cACjB,eAAgB,yBAChB,WAAY,gBACZ,OAAQ,SACR,WAAY,WACZ,kBAAmB,sCACnB,gBAAiB,oCACjB,eAAgB,aAChB,cAAe,aACf,aAAc,WACd,qBAAsB,mBACtB,aAAc,qBACd,MAAO,yBACP,kBAAmB,kBACnB,cAAe,sBACf,qBAAsB,qBACtB,eAAgB,eAChB,aAAc,wBACd,UAAW,QACX,KAAM,YACN,KAAM,WACN,aAAc,WACd,mBAAoB,iBACpB,kBAAmB,gBACnB,eAAgB,aAChB,aAAc,WACd,cAAe,uBACf,eAAgB,eAChB,QAAS,mBACT,KAAM,QACN,YAAa,iBACb,cAAe,iBACf,OAAQ,uBACR,kBAAmB,uBACnB,kBAAmB,uBACnB,QAAS,uBACT,gBAAiB,gBACjB,uBAAwB,uBACxB,WAAY,iBACZ,MAAO,gBACP,WAAY,SACZ,OAAQ,kBACR,cAAe,eACf,iBAAkB,iBAClB,aAAc,aACd,WAAY,gBACZ,gBAAiB,cACjB,WAAY,WACZ,gBAAiB,qBACjB,IAAK,eACL,cAAe,cACf,0BAA2B,+BAC3B,QAAS,YACT,eAAgB,eAChB,eAAgB,eAChB,kBAAmB,WACnB,gBAAiB,oBACjB,8BAA+B,8BAC/B,WAAY,UACZ,QAAS,uBACT,eAAgB,sBAChB,SAAU,YACV,wBAAyB,sBACzB,sBAAuB,oBACvB,uBAAwB,qBACxB,qBAAsB,mBACtB,oBAAqB,YACrB,oBAAqB,SACrB,iBAAkB,iBAClB,qBAAsB,qBACtB,iBAAkB,iBAClB,qBAAsB,qBACtB,eAAgB,eAChB,gBAAiB,gBACjB,UAAW,aACX,aAAc,aACd,iBAAkB,iBAClB,kBAAmB,kBACnB,iBAAkB,iBAClB,YAAa,YACb,YAAa,YACb,iBAAkB,iBAClB,cAAe,cACf,cAAe,cACf,aAAc,WACd,cAAe,cACf,cAAe,cACf,QAAS,aACT,eAAgB,eAChB,eAAgB,eAChB,aAAc,YACd,KAAM,SACN,YAAa,WACb,gBAAiB,gBACjB,WAAY,aACZ,kBAAmB,kBACnB,gCAAiC,gCACjC,iBAAkB,kBAClB,eAAgB,WAChB,kBAAmB,uBACnB,QAAS,aACT,gBAAiB,mBACjB,eAAgB,kBAChB,eAAgB,eAChB,eAAgB,eAChB,QAAS,mBACT,MAAO,wBACP,aAAc,6BACd,WAAY,uBACZ,YAAa,yBACb,0BAA2B,0BAC3B,wBAAyB,wBACzB,qBAAsB,qBACtB,MAAO,WACP,cAAe,cACf,UAAW,WACX,eAAgB,gBAChB,kBAAmB,kBACnB,cAAe,qBACf,KAAM,mBACN,cAAe,qBACf,iBAAkB,qBAClB,MAAO,aACP,UAAW,QACX,OAAQ,aACR,OAAQ,YACR,iBAAkB,oBAClB,eAAgB,eAChB,SAAU,aACV,eAAgB,mBAChB,cAAe,cACf,gBAAiB,oBACjB,aAAc,iBACd,eAAgB,mBAChB,cAAe,kBACf,cAAe,cACf,gBAAiB,oBACjB,WAAY,eACZ,UAAW,cACX,SAAU,cACV,WAAY,iBACZ,SAAU,gBACV,MAAO,mBACP,YAAa,YACb,WAAY,WACZ,YAAa,YACb,WAAY,UAChB"}
1
+ {"version":3,"file":"aliases.cjs","names":["iconAliases"],"sources":["../../../src/icons/generated/aliases.ts"],"sourcesContent":["// GENERATED by scripts/gen-icons.mjs — do not edit.\n// Run `npm run gen:icons` after bumping lucide-react.\n\n/**\n * Lucide's 258 deprecated slugs, mapped to the canonical slug that\n * replaced them (`alert-circle` → `circle-alert`).\n *\n * Kept so a name stored in a database years ago keeps rendering after a lucide\n * bump renames it. Resolution goes through here first, so an alias loads the\n * shard of its *canonical* slug.\n */\nexport const iconAliases: Record<string, string> = {\n \"activity-square\": \"square-activity\",\n \"alarm-check\": \"alarm-clock-check\",\n \"alarm-minus\": \"alarm-clock-minus\",\n \"alarm-plus\": \"alarm-clock-plus\",\n \"alert-circle\": \"circle-alert\",\n \"alert-octagon\": \"octagon-alert\",\n \"alert-triangle\": \"triangle-alert\",\n \"align-center\": \"text-align-center\",\n \"align-justify\": \"text-align-justify\",\n \"align-left\": \"text-align-start\",\n \"align-right\": \"text-align-end\",\n angry: \"face-angry\",\n annoyed: \"face-expressionless\",\n \"area-chart\": \"chart-area\",\n \"arrow-down-01\": \"arrow-down-0-1\",\n \"arrow-down-10\": \"arrow-down-1-0\",\n \"arrow-down-az\": \"arrow-down-a-z\",\n \"arrow-down-circle\": \"circle-arrow-down\",\n \"arrow-down-left-from-circle\": \"circle-arrow-out-down-left\",\n \"arrow-down-left-from-square\": \"square-arrow-out-down-left\",\n \"arrow-down-left-square\": \"square-arrow-down-left\",\n \"arrow-down-right-from-circle\": \"circle-arrow-out-down-right\",\n \"arrow-down-right-from-square\": \"square-arrow-out-down-right\",\n \"arrow-down-right-square\": \"square-arrow-down-right\",\n \"arrow-down-square\": \"square-arrow-down\",\n \"arrow-down-za\": \"arrow-down-z-a\",\n \"arrow-left-circle\": \"circle-arrow-left\",\n \"arrow-left-square\": \"square-arrow-left\",\n \"arrow-right-circle\": \"circle-arrow-right\",\n \"arrow-right-square\": \"square-arrow-right\",\n \"arrow-up-01\": \"arrow-up-0-1\",\n \"arrow-up-10\": \"arrow-up-1-0\",\n \"arrow-up-az\": \"arrow-up-a-z\",\n \"arrow-up-circle\": \"circle-arrow-up\",\n \"arrow-up-left-from-circle\": \"circle-arrow-out-up-left\",\n \"arrow-up-left-from-square\": \"square-arrow-out-up-left\",\n \"arrow-up-left-square\": \"square-arrow-up-left\",\n \"arrow-up-right-from-circle\": \"circle-arrow-out-up-right\",\n \"arrow-up-right-from-square\": \"square-arrow-out-up-right\",\n \"arrow-up-right-square\": \"square-arrow-up-right\",\n \"arrow-up-square\": \"square-arrow-up\",\n \"arrow-up-za\": \"arrow-up-z-a\",\n \"asterisk-square\": \"square-asterisk\",\n \"axis-3-d\": \"axis-3d\",\n \"badge-help\": \"badge-question-mark\",\n \"bar-chart\": \"chart-no-axes-column-increasing\",\n \"bar-chart-2\": \"chart-no-axes-column\",\n \"bar-chart-3\": \"chart-column\",\n \"bar-chart-4\": \"chart-column-increasing\",\n \"bar-chart-big\": \"chart-column-big\",\n \"bar-chart-horizontal\": \"chart-bar\",\n \"bar-chart-horizontal-big\": \"chart-bar-big\",\n \"between-horizonal-end\": \"between-horizontal-end\",\n \"between-horizonal-start\": \"between-horizontal-start\",\n \"book-template\": \"book-dashed\",\n \"box-select\": \"square-dashed\",\n \"candlestick-chart\": \"chart-candlestick\",\n \"check-circle\": \"circle-check-big\",\n \"check-circle-2\": \"circle-check\",\n \"check-square\": \"square-check-big\",\n \"check-square-2\": \"square-check\",\n \"chevron-down-circle\": \"circle-chevron-down\",\n \"chevron-down-square\": \"square-chevron-down\",\n \"chevron-left-circle\": \"circle-chevron-left\",\n \"chevron-left-square\": \"square-chevron-left\",\n \"chevron-right-circle\": \"circle-chevron-right\",\n \"chevron-right-square\": \"square-chevron-right\",\n \"chevron-up-circle\": \"circle-chevron-up\",\n \"chevron-up-square\": \"square-chevron-up\",\n \"circle-help\": \"circle-question-mark\",\n \"circle-slashed\": \"circle-slash-2\",\n \"clipboard-edit\": \"clipboard-pen\",\n \"clipboard-signature\": \"clipboard-pen-line\",\n \"code-2\": \"code-xml\",\n \"code-square\": \"square-code\",\n columns: \"columns-2\",\n \"columns-settings\": \"columns-3-cog\",\n \"contact-2\": \"contact-round\",\n \"curly-braces\": \"braces\",\n \"divide-circle\": \"circle-divide\",\n \"divide-square\": \"square-divide\",\n \"dot-square\": \"square-dot\",\n \"download-cloud\": \"cloud-download\",\n edit: \"square-pen\",\n \"edit-2\": \"pen\",\n \"edit-3\": \"pen-line\",\n \"equal-square\": \"square-equal\",\n \"file-audio\": \"file-headphone\",\n \"file-audio-2\": \"file-headphone\",\n \"file-axis-3-d\": \"file-axis-3d\",\n \"file-badge-2\": \"file-badge\",\n \"file-bar-chart\": \"file-chart-column-increasing\",\n \"file-bar-chart-2\": \"file-chart-column\",\n \"file-check-2\": \"file-check-corner\",\n \"file-code-2\": \"file-code-corner\",\n \"file-cog-2\": \"file-cog\",\n \"file-edit\": \"file-pen\",\n \"file-json\": \"file-braces\",\n \"file-json-2\": \"file-braces-corner\",\n \"file-key-2\": \"file-key\",\n \"file-line-chart\": \"file-chart-line\",\n \"file-lock-2\": \"file-lock\",\n \"file-minus-2\": \"file-minus-corner\",\n \"file-pie-chart\": \"file-chart-pie\",\n \"file-plus-2\": \"file-plus-corner\",\n \"file-question\": \"file-question-mark\",\n \"file-search-2\": \"file-search-corner\",\n \"file-signature\": \"file-pen-line\",\n \"file-type-2\": \"file-type-corner\",\n \"file-video\": \"file-play\",\n \"file-video-2\": \"file-video-camera\",\n \"file-volume-2\": \"file-signal\",\n \"file-warning\": \"file-exclamation-point\",\n \"file-x-2\": \"file-x-corner\",\n filter: \"funnel\",\n \"filter-x\": \"funnel-x\",\n \"flip-horizontal\": \"square-centerline-dashed-horizontal\",\n \"flip-vertical\": \"square-centerline-dashed-vertical\",\n \"folder-cog-2\": \"folder-cog\",\n \"folder-edit\": \"folder-pen\",\n \"fork-knife\": \"utensils\",\n \"fork-knife-crossed\": \"utensils-crossed\",\n \"form-input\": \"rectangle-ellipsis\",\n frown: \"face-slightly-frowning\",\n \"function-square\": \"square-function\",\n \"gantt-chart\": \"chart-no-axes-gantt\",\n \"gantt-chart-square\": \"square-chart-gantt\",\n \"gauge-circle\": \"circle-gauge\",\n \"git-commit\": \"git-commit-horizontal\",\n \"globe-2\": \"earth\",\n grab: \"hand-grab\",\n grid: \"grid-3x3\",\n \"grid-2-x-2\": \"grid-2x2\",\n \"grid-2-x-2-check\": \"grid-2x2-check\",\n \"grid-2-x-2-plus\": \"grid-2x2-plus\",\n \"grid-2-x-2-x\": \"grid-2x2-x\",\n \"grid-3-x-3\": \"grid-3x3\",\n \"help-circle\": \"circle-question-mark\",\n \"helping-hand\": \"hand-helping\",\n history: \"rotate-ccw-clock\",\n home: \"house\",\n \"ice-cream\": \"ice-cream-cone\",\n \"ice-cream-2\": \"ice-cream-bowl\",\n indent: \"list-indent-increase\",\n \"indent-decrease\": \"list-indent-decrease\",\n \"indent-increase\": \"list-indent-increase\",\n inspect: \"square-mouse-pointer\",\n \"kanban-square\": \"square-kanban\",\n \"kanban-square-dashed\": \"square-dashed-kanban\",\n \"laptop-2\": \"laptop-minimal\",\n laugh: \"face-grinning\",\n \"layers-3\": \"layers\",\n layout: \"panels-top-left\",\n \"letter-text\": \"text-initial\",\n \"library-square\": \"square-library\",\n \"line-chart\": \"chart-line\",\n \"loader-2\": \"loader-circle\",\n \"location-edit\": \"map-pin-pen\",\n \"m-square\": \"square-m\",\n \"mail-question\": \"mail-question-mark\",\n meh: \"face-neutral\",\n \"menu-square\": \"square-menu\",\n \"message-circle-question\": \"message-circle-question-mark\",\n \"mic-2\": \"mic-vocal\",\n \"minus-circle\": \"circle-minus\",\n \"minus-square\": \"square-minus\",\n \"more-horizontal\": \"ellipsis\",\n \"more-vertical\": \"ellipsis-vertical\",\n \"mouse-pointer-square-dashed\": \"square-dashed-mouse-pointer\",\n \"move-3-d\": \"move-3d\",\n outdent: \"list-indent-decrease\",\n \"paintbrush-2\": \"paintbrush-vertical\",\n palmtree: \"tree-palm\",\n \"panel-bottom-inactive\": \"panel-bottom-dashed\",\n \"panel-left-inactive\": \"panel-left-dashed\",\n \"panel-right-inactive\": \"panel-right-dashed\",\n \"panel-top-inactive\": \"panel-top-dashed\",\n \"panels-left-right\": \"columns-3\",\n \"panels-top-bottom\": \"rows-3\",\n \"parking-circle\": \"circle-parking\",\n \"parking-circle-off\": \"circle-parking-off\",\n \"parking-square\": \"square-parking\",\n \"parking-square-off\": \"square-parking-off\",\n \"pause-circle\": \"circle-pause\",\n \"pause-octagon\": \"octagon-pause\",\n \"pen-box\": \"square-pen\",\n \"pen-square\": \"square-pen\",\n \"percent-circle\": \"circle-percent\",\n \"percent-diamond\": \"diamond-percent\",\n \"percent-square\": \"square-percent\",\n \"pi-square\": \"square-pi\",\n \"pie-chart\": \"chart-pie\",\n \"pilcrow-square\": \"square-pilcrow\",\n \"play-circle\": \"circle-play\",\n \"play-square\": \"square-play\",\n \"plug-zap-2\": \"plug-zap\",\n \"plus-circle\": \"circle-plus\",\n \"plus-square\": \"square-plus\",\n podcast: \"mic-signal\",\n \"power-circle\": \"circle-power\",\n \"power-square\": \"square-power\",\n \"rotate-3-d\": \"rotate-3d\",\n rows: \"rows-2\",\n \"scale-3-d\": \"scale-3d\",\n \"scatter-chart\": \"chart-scatter\",\n \"school-2\": \"university\",\n \"scissors-square\": \"square-scissors\",\n \"scissors-square-dashed-bottom\": \"square-bottom-dashed-scissors\",\n \"send-horizonal\": \"send-horizontal\",\n \"shield-close\": \"shield-x\",\n \"shield-question\": \"shield-question-mark\",\n sidebar: \"panel-left\",\n \"sidebar-close\": \"panel-left-close\",\n \"sidebar-open\": \"panel-left-open\",\n \"sigma-square\": \"square-sigma\",\n \"slash-square\": \"square-slash\",\n sliders: \"sliders-vertical\",\n smile: \"face-slightly-smiling\",\n \"smile-plus\": \"face-slightly-smiling-plus\",\n \"sort-asc\": \"arrow-up-narrow-wide\",\n \"sort-desc\": \"arrow-down-wide-narrow\",\n \"split-square-horizontal\": \"square-split-horizontal\",\n \"split-square-vertical\": \"square-split-vertical\",\n \"square-gantt-chart\": \"square-chart-gantt\",\n stars: \"sparkles\",\n \"stop-circle\": \"circle-stop\",\n subtitles: \"captions\",\n \"table-config\": \"columns-3-cog\",\n \"terminal-square\": \"square-terminal\",\n \"test-tube-2\": \"test-tube-diagonal\",\n text: \"text-align-start\",\n \"text-select\": \"square-dashed-text\",\n \"text-selection\": \"square-dashed-text\",\n train: \"tram-front\",\n \"trash-2\": \"trash\",\n \"tv-2\": \"tv-minimal\",\n unlock: \"lock-open\",\n \"unlock-keyhole\": \"lock-keyhole-open\",\n \"upload-cloud\": \"cloud-upload\",\n \"user-2\": \"user-round\",\n \"user-check-2\": \"user-round-check\",\n \"user-circle\": \"circle-user\",\n \"user-circle-2\": \"circle-user-round\",\n \"user-cog-2\": \"user-round-cog\",\n \"user-minus-2\": \"user-round-minus\",\n \"user-plus-2\": \"user-round-plus\",\n \"user-square\": \"square-user\",\n \"user-square-2\": \"square-user-round\",\n \"user-x-2\": \"user-round-x\",\n \"users-2\": \"users-round\",\n verified: \"badge-check\",\n \"wallet-2\": \"wallet-minimal\",\n \"wand-2\": \"wand-sparkles\",\n waves: \"waves-horizontal\",\n \"wrap-text\": \"text-wrap\",\n \"x-circle\": \"circle-x\",\n \"x-octagon\": \"octagon-x\",\n \"x-square\": \"square-x\",\n};\n"],"mappings":"AAWA,IAAaA,EAAsC,CAC/C,kBAAmB,kBACnB,cAAe,oBACf,cAAe,oBACf,aAAc,mBACd,eAAgB,eAChB,gBAAiB,gBACjB,iBAAkB,iBAClB,eAAgB,oBAChB,gBAAiB,qBACjB,aAAc,mBACd,cAAe,iBACf,MAAO,aACP,QAAS,sBACT,aAAc,aACd,gBAAiB,iBACjB,gBAAiB,iBACjB,gBAAiB,iBACjB,oBAAqB,oBACrB,8BAA+B,6BAC/B,8BAA+B,6BAC/B,yBAA0B,yBAC1B,+BAAgC,8BAChC,+BAAgC,8BAChC,0BAA2B,0BAC3B,oBAAqB,oBACrB,gBAAiB,iBACjB,oBAAqB,oBACrB,oBAAqB,oBACrB,qBAAsB,qBACtB,qBAAsB,qBACtB,cAAe,eACf,cAAe,eACf,cAAe,eACf,kBAAmB,kBACnB,4BAA6B,2BAC7B,4BAA6B,2BAC7B,uBAAwB,uBACxB,6BAA8B,4BAC9B,6BAA8B,4BAC9B,wBAAyB,wBACzB,kBAAmB,kBACnB,cAAe,eACf,kBAAmB,kBACnB,WAAY,UACZ,aAAc,sBACd,YAAa,kCACb,cAAe,uBACf,cAAe,eACf,cAAe,0BACf,gBAAiB,mBACjB,uBAAwB,YACxB,2BAA4B,gBAC5B,wBAAyB,yBACzB,0BAA2B,2BAC3B,gBAAiB,cACjB,aAAc,gBACd,oBAAqB,oBACrB,eAAgB,mBAChB,iBAAkB,eAClB,eAAgB,mBAChB,iBAAkB,eAClB,sBAAuB,sBACvB,sBAAuB,sBACvB,sBAAuB,sBACvB,sBAAuB,sBACvB,uBAAwB,uBACxB,uBAAwB,uBACxB,oBAAqB,oBACrB,oBAAqB,oBACrB,cAAe,uBACf,iBAAkB,iBAClB,iBAAkB,gBAClB,sBAAuB,qBACvB,SAAU,WACV,cAAe,cACf,QAAS,YACT,mBAAoB,gBACpB,YAAa,gBACb,eAAgB,SAChB,gBAAiB,gBACjB,gBAAiB,gBACjB,aAAc,aACd,iBAAkB,iBAClB,KAAM,aACN,SAAU,MACV,SAAU,WACV,eAAgB,eAChB,aAAc,iBACd,eAAgB,iBAChB,gBAAiB,eACjB,eAAgB,aAChB,iBAAkB,+BAClB,mBAAoB,oBACpB,eAAgB,oBAChB,cAAe,mBACf,aAAc,WACd,YAAa,WACb,YAAa,cACb,cAAe,qBACf,aAAc,WACd,kBAAmB,kBACnB,cAAe,YACf,eAAgB,oBAChB,iBAAkB,iBAClB,cAAe,mBACf,gBAAiB,qBACjB,gBAAiB,qBACjB,iBAAkB,gBAClB,cAAe,mBACf,aAAc,YACd,eAAgB,oBAChB,gBAAiB,cACjB,eAAgB,yBAChB,WAAY,gBACZ,OAAQ,SACR,WAAY,WACZ,kBAAmB,sCACnB,gBAAiB,oCACjB,eAAgB,aAChB,cAAe,aACf,aAAc,WACd,qBAAsB,mBACtB,aAAc,qBACd,MAAO,yBACP,kBAAmB,kBACnB,cAAe,sBACf,qBAAsB,qBACtB,eAAgB,eAChB,aAAc,wBACd,UAAW,QACX,KAAM,YACN,KAAM,WACN,aAAc,WACd,mBAAoB,iBACpB,kBAAmB,gBACnB,eAAgB,aAChB,aAAc,WACd,cAAe,uBACf,eAAgB,eAChB,QAAS,mBACT,KAAM,QACN,YAAa,iBACb,cAAe,iBACf,OAAQ,uBACR,kBAAmB,uBACnB,kBAAmB,uBACnB,QAAS,uBACT,gBAAiB,gBACjB,uBAAwB,uBACxB,WAAY,iBACZ,MAAO,gBACP,WAAY,SACZ,OAAQ,kBACR,cAAe,eACf,iBAAkB,iBAClB,aAAc,aACd,WAAY,gBACZ,gBAAiB,cACjB,WAAY,WACZ,gBAAiB,qBACjB,IAAK,eACL,cAAe,cACf,0BAA2B,+BAC3B,QAAS,YACT,eAAgB,eAChB,eAAgB,eAChB,kBAAmB,WACnB,gBAAiB,oBACjB,8BAA+B,8BAC/B,WAAY,UACZ,QAAS,uBACT,eAAgB,sBAChB,SAAU,YACV,wBAAyB,sBACzB,sBAAuB,oBACvB,uBAAwB,qBACxB,qBAAsB,mBACtB,oBAAqB,YACrB,oBAAqB,SACrB,iBAAkB,iBAClB,qBAAsB,qBACtB,iBAAkB,iBAClB,qBAAsB,qBACtB,eAAgB,eAChB,gBAAiB,gBACjB,UAAW,aACX,aAAc,aACd,iBAAkB,iBAClB,kBAAmB,kBACnB,iBAAkB,iBAClB,YAAa,YACb,YAAa,YACb,iBAAkB,iBAClB,cAAe,cACf,cAAe,cACf,aAAc,WACd,cAAe,cACf,cAAe,cACf,QAAS,aACT,eAAgB,eAChB,eAAgB,eAChB,aAAc,YACd,KAAM,SACN,YAAa,WACb,gBAAiB,gBACjB,WAAY,aACZ,kBAAmB,kBACnB,gCAAiC,gCACjC,iBAAkB,kBAClB,eAAgB,WAChB,kBAAmB,uBACnB,QAAS,aACT,gBAAiB,mBACjB,eAAgB,kBAChB,eAAgB,eAChB,eAAgB,eAChB,QAAS,mBACT,MAAO,wBACP,aAAc,6BACd,WAAY,uBACZ,YAAa,yBACb,0BAA2B,0BAC3B,wBAAyB,wBACzB,qBAAsB,qBACtB,MAAO,WACP,cAAe,cACf,UAAW,WACX,eAAgB,gBAChB,kBAAmB,kBACnB,cAAe,qBACf,KAAM,mBACN,cAAe,qBACf,iBAAkB,qBAClB,MAAO,aACP,UAAW,QACX,OAAQ,aACR,OAAQ,YACR,iBAAkB,oBAClB,eAAgB,eAChB,SAAU,aACV,eAAgB,mBAChB,cAAe,cACf,gBAAiB,oBACjB,aAAc,iBACd,eAAgB,mBAChB,cAAe,kBACf,cAAe,cACf,gBAAiB,oBACjB,WAAY,eACZ,UAAW,cACX,SAAU,cACV,WAAY,iBACZ,SAAU,gBACV,MAAO,mBACP,YAAa,YACb,WAAY,WACZ,YAAa,YACb,WAAY,UAChB,E"}