@buoy-gg/shared-ui 7.0.39 → 7.0.41

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 (377) hide show
  1. package/README.md +6 -0
  2. package/lib/commonjs/JsModal.js +13 -61
  3. package/lib/commonjs/JsModal.web.js +32 -95
  4. package/lib/commonjs/clipboard/autoDetectClipboard.js +1 -1
  5. package/lib/commonjs/clipboard/clipboard-impl.web.js +21 -0
  6. package/lib/commonjs/dataViewer/tree/TreeDiffViewer.js +4 -2
  7. package/lib/commonjs/hooks/index.js +1 -1
  8. package/lib/commonjs/hooks/safe-area-impl.js +1 -1
  9. package/lib/commonjs/hooks/usePersistedState.js +1 -1
  10. package/lib/commonjs/hooks/useSafeAreaInsets.web.js +41 -0
  11. package/lib/commonjs/icons/index.js +14 -0
  12. package/lib/commonjs/index.js +34 -0
  13. package/lib/commonjs/license/AccountSetup.js +4 -25
  14. package/lib/commonjs/license/AccountSetup.web.js +78 -64
  15. package/lib/commonjs/license/AccountSetupContent.js +482 -0
  16. package/lib/commonjs/license/FreeAccountPrompt.js +32 -178
  17. package/lib/commonjs/license/LicenseEntryModal.js +5 -12
  18. package/lib/commonjs/license/accountRuntime.js +8 -0
  19. package/lib/commonjs/license/accountRuntime.web.js +9 -0
  20. package/lib/commonjs/license/licenseModule.js +2 -0
  21. package/lib/commonjs/settings/components/BubbleSettingsSection.js +1 -1
  22. package/lib/commonjs/storage/definePersistedSetting.js +1 -1
  23. package/lib/commonjs/stores/ignoredPatternsCore.js +8 -1
  24. package/lib/commonjs/stores/ignoredPatternsStore.js +10 -199
  25. package/lib/commonjs/stores/ignoredPatternsStore.shared.js +205 -0
  26. package/lib/commonjs/stores/ignoredPatternsStore.web.js +10 -230
  27. package/lib/commonjs/ui/backgrounds/backgroundStore.js +1 -1
  28. package/lib/commonjs/ui/backgrounds/variants/wormhole.js +3 -0
  29. package/lib/commonjs/ui/components/CopyButton.js +1 -1
  30. package/lib/commonjs/ui/components/EventStepperFooter.js +1 -1
  31. package/lib/commonjs/ui/components/ToolFooter.js +1 -1
  32. package/lib/commonjs/ui/floating/FloatingTool.web.js +12 -2
  33. package/lib/commonjs/ui/night/primitives.js +10 -3
  34. package/lib/commonjs/ui/otto/OttoSprite.js +1 -1
  35. package/lib/commonjs/utils/browserAsyncStorage.js +157 -0
  36. package/lib/commonjs/utils/browserNavigation.js +116 -0
  37. package/lib/commonjs/utils/devServer.js +8 -4
  38. package/lib/commonjs/utils/devServer.web.js +10 -0
  39. package/lib/commonjs/utils/domRuntime.js +143 -0
  40. package/lib/commonjs/utils/expoRouterModule.js +51 -0
  41. package/lib/commonjs/utils/expoRouterModule.web.js +14 -0
  42. package/lib/commonjs/utils/getSafeAreaInsets.web.js +35 -0
  43. package/lib/commonjs/utils/index.js +111 -4
  44. package/lib/commonjs/utils/loadToolModule.js +46 -0
  45. package/lib/commonjs/utils/loadToolModule.web.js +12 -0
  46. package/lib/commonjs/utils/modalStorage.js +42 -0
  47. package/lib/commonjs/utils/nativeWeb.js +454 -0
  48. package/lib/commonjs/utils/persistentStorage.web.js +78 -0
  49. package/lib/commonjs/utils/reloadApp.js +18 -57
  50. package/lib/commonjs/utils/reloadPlatform.js +37 -0
  51. package/lib/commonjs/utils/reloadPlatform.web.js +17 -0
  52. package/lib/commonjs/utils/safeExpoRouter.js +3 -53
  53. package/lib/commonjs/utils/safeExpoRouter.web.js +48 -0
  54. package/lib/commonjs/utils/toolModules.js +25 -0
  55. package/lib/module/JsModal.js +11 -59
  56. package/lib/module/JsModal.web.js +28 -91
  57. package/lib/module/clipboard/autoDetectClipboard.js +2 -2
  58. package/lib/module/clipboard/clipboard-impl.web.js +14 -0
  59. package/lib/module/dataViewer/tree/TreeDiffViewer.js +4 -2
  60. package/lib/module/hooks/index.js +2 -2
  61. package/lib/module/hooks/safe-area-impl.js +1 -1
  62. package/lib/module/hooks/usePersistedState.js +1 -1
  63. package/lib/module/hooks/useSafeAreaInsets.web.js +30 -0
  64. package/lib/module/icons/index.js +2 -1
  65. package/lib/module/index.js +3 -0
  66. package/lib/module/license/AccountSetup.js +5 -26
  67. package/lib/module/license/AccountSetup.web.js +79 -65
  68. package/lib/module/license/AccountSetupContent.js +476 -0
  69. package/lib/module/license/FreeAccountPrompt.js +27 -176
  70. package/lib/module/license/LicenseEntryModal.js +6 -13
  71. package/lib/module/license/accountRuntime.js +3 -0
  72. package/lib/module/license/accountRuntime.web.js +4 -0
  73. package/lib/module/license/licenseModule.js +2 -0
  74. package/lib/module/settings/components/BubbleSettingsSection.js +1 -1
  75. package/lib/module/storage/definePersistedSetting.js +1 -1
  76. package/lib/module/stores/ignoredPatternsCore.js +8 -1
  77. package/lib/module/stores/ignoredPatternsStore.js +1 -187
  78. package/lib/module/stores/ignoredPatternsStore.shared.js +189 -0
  79. package/lib/module/stores/ignoredPatternsStore.web.js +1 -219
  80. package/lib/module/ui/backgrounds/backgroundStore.js +1 -1
  81. package/lib/module/ui/backgrounds/variants/wormhole.js +3 -0
  82. package/lib/module/ui/components/CopyButton.js +1 -1
  83. package/lib/module/ui/components/EventStepperFooter.js +1 -1
  84. package/lib/module/ui/components/ToolFooter.js +1 -1
  85. package/lib/module/ui/floating/FloatingTool.web.js +12 -2
  86. package/lib/module/ui/night/primitives.js +11 -4
  87. package/lib/module/ui/otto/OttoSprite.js +1 -1
  88. package/lib/module/utils/browserAsyncStorage.js +151 -0
  89. package/lib/module/utils/browserNavigation.js +108 -0
  90. package/lib/module/utils/devServer.js +8 -4
  91. package/lib/module/utils/devServer.web.js +6 -0
  92. package/lib/module/utils/domRuntime.js +134 -0
  93. package/lib/module/utils/expoRouterModule.js +46 -0
  94. package/lib/module/utils/expoRouterModule.web.js +9 -0
  95. package/lib/module/utils/getSafeAreaInsets.web.js +31 -0
  96. package/lib/module/utils/index.js +9 -4
  97. package/lib/module/utils/loadToolModule.js +42 -0
  98. package/lib/module/utils/loadToolModule.web.js +8 -0
  99. package/lib/module/utils/modalStorage.js +37 -0
  100. package/lib/module/utils/nativeWeb.js +107 -0
  101. package/lib/module/utils/persistentStorage.web.js +72 -0
  102. package/lib/module/utils/reloadApp.js +13 -51
  103. package/lib/module/utils/reloadPlatform.js +31 -0
  104. package/lib/module/utils/reloadPlatform.web.js +11 -0
  105. package/lib/module/utils/safeExpoRouter.js +3 -53
  106. package/lib/module/utils/safeExpoRouter.web.js +37 -0
  107. package/lib/module/utils/toolModules.js +19 -0
  108. package/lib/typescript/commonjs/JsModal.d.ts.map +1 -1
  109. package/lib/typescript/commonjs/JsModal.web.d.ts +7 -18
  110. package/lib/typescript/commonjs/JsModal.web.d.ts.map +1 -1
  111. package/lib/typescript/commonjs/clipboard/clipboard-impl.web.d.ts +5 -0
  112. package/lib/typescript/commonjs/clipboard/clipboard-impl.web.d.ts.map +1 -0
  113. package/lib/typescript/commonjs/dataViewer/tree/TreeDiffViewer.d.ts.map +1 -1
  114. package/lib/typescript/commonjs/hooks/safe-area-impl.d.ts +1 -1
  115. package/lib/typescript/commonjs/hooks/useSafeAreaInsets.web.d.ts +6 -0
  116. package/lib/typescript/commonjs/hooks/useSafeAreaInsets.web.d.ts.map +1 -0
  117. package/lib/typescript/commonjs/icons/index.d.ts +1 -0
  118. package/lib/typescript/commonjs/icons/index.d.ts.map +1 -1
  119. package/lib/typescript/commonjs/index.d.ts +2 -0
  120. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  121. package/lib/typescript/commonjs/license/AccountSetup.d.ts.map +1 -1
  122. package/lib/typescript/commonjs/license/AccountSetup.web.d.ts +1 -1
  123. package/lib/typescript/commonjs/license/AccountSetup.web.d.ts.map +1 -1
  124. package/lib/typescript/commonjs/license/AccountSetupContent.d.ts +11 -0
  125. package/lib/typescript/commonjs/license/AccountSetupContent.d.ts.map +1 -0
  126. package/lib/typescript/commonjs/license/FreeAccountPrompt.d.ts +3 -15
  127. package/lib/typescript/commonjs/license/FreeAccountPrompt.d.ts.map +1 -1
  128. package/lib/typescript/commonjs/license/LicenseEntryModal.d.ts.map +1 -1
  129. package/lib/typescript/commonjs/license/accountRuntime.d.ts +2 -0
  130. package/lib/typescript/commonjs/license/accountRuntime.d.ts.map +1 -0
  131. package/lib/typescript/commonjs/license/accountRuntime.web.d.ts +2 -0
  132. package/lib/typescript/commonjs/license/accountRuntime.web.d.ts.map +1 -0
  133. package/lib/typescript/commonjs/license/licenseModule.d.ts +3 -1
  134. package/lib/typescript/commonjs/license/licenseModule.d.ts.map +1 -1
  135. package/lib/typescript/commonjs/stores/ignoredPatternsCore.d.ts +5 -1
  136. package/lib/typescript/commonjs/stores/ignoredPatternsCore.d.ts.map +1 -1
  137. package/lib/typescript/commonjs/stores/ignoredPatternsStore.d.ts +1 -59
  138. package/lib/typescript/commonjs/stores/ignoredPatternsStore.d.ts.map +1 -1
  139. package/lib/typescript/commonjs/stores/ignoredPatternsStore.shared.d.ts +60 -0
  140. package/lib/typescript/commonjs/stores/ignoredPatternsStore.shared.d.ts.map +1 -0
  141. package/lib/typescript/commonjs/stores/ignoredPatternsStore.web.d.ts +1 -71
  142. package/lib/typescript/commonjs/stores/ignoredPatternsStore.web.d.ts.map +1 -1
  143. package/lib/typescript/commonjs/ui/floating/FloatingTool.web.d.ts.map +1 -1
  144. package/lib/typescript/commonjs/ui/night/primitives.d.ts.map +1 -1
  145. package/lib/typescript/commonjs/ui/otto/ottoEngine.d.ts +1 -1
  146. package/lib/typescript/commonjs/utils/browserAsyncStorage.d.ts +25 -0
  147. package/lib/typescript/commonjs/utils/browserAsyncStorage.d.ts.map +1 -0
  148. package/lib/typescript/commonjs/utils/browserNavigation.d.ts +31 -0
  149. package/lib/typescript/commonjs/utils/browserNavigation.d.ts.map +1 -0
  150. package/lib/typescript/commonjs/utils/devServer.d.ts.map +1 -1
  151. package/lib/typescript/commonjs/utils/devServer.web.d.ts +2 -0
  152. package/lib/typescript/commonjs/utils/devServer.web.d.ts.map +1 -0
  153. package/lib/typescript/commonjs/utils/domRuntime.d.ts +27 -0
  154. package/lib/typescript/commonjs/utils/domRuntime.d.ts.map +1 -0
  155. package/lib/typescript/commonjs/utils/expoRouterModule.d.ts +3 -0
  156. package/lib/typescript/commonjs/utils/expoRouterModule.d.ts.map +1 -0
  157. package/lib/typescript/commonjs/utils/expoRouterModule.web.d.ts +3 -0
  158. package/lib/typescript/commonjs/utils/expoRouterModule.web.d.ts.map +1 -0
  159. package/lib/typescript/commonjs/utils/getSafeAreaInsets.web.d.ts +8 -0
  160. package/lib/typescript/commonjs/utils/getSafeAreaInsets.web.d.ts.map +1 -0
  161. package/lib/typescript/commonjs/utils/index.d.ts +5 -0
  162. package/lib/typescript/commonjs/utils/index.d.ts.map +1 -1
  163. package/lib/typescript/commonjs/utils/loadToolModule.d.ts +3 -0
  164. package/lib/typescript/commonjs/utils/loadToolModule.d.ts.map +1 -0
  165. package/lib/typescript/commonjs/utils/loadToolModule.web.d.ts +2 -0
  166. package/lib/typescript/commonjs/utils/loadToolModule.web.d.ts.map +1 -0
  167. package/lib/typescript/commonjs/utils/modalStorage.d.ts +21 -0
  168. package/lib/typescript/commonjs/utils/modalStorage.d.ts.map +1 -0
  169. package/lib/typescript/commonjs/utils/nativeWeb.d.ts +22 -0
  170. package/lib/typescript/commonjs/utils/nativeWeb.d.ts.map +1 -0
  171. package/lib/typescript/commonjs/utils/persistentStorage.web.d.ts +6 -0
  172. package/lib/typescript/commonjs/utils/persistentStorage.web.d.ts.map +1 -0
  173. package/lib/typescript/commonjs/utils/reloadApp.d.ts +7 -25
  174. package/lib/typescript/commonjs/utils/reloadApp.d.ts.map +1 -1
  175. package/lib/typescript/commonjs/utils/reloadPlatform.d.ts +8 -0
  176. package/lib/typescript/commonjs/utils/reloadPlatform.d.ts.map +1 -0
  177. package/lib/typescript/commonjs/utils/reloadPlatform.web.d.ts +4 -0
  178. package/lib/typescript/commonjs/utils/reloadPlatform.web.d.ts.map +1 -0
  179. package/lib/typescript/commonjs/utils/safeExpoRouter.d.ts.map +1 -1
  180. package/lib/typescript/commonjs/utils/safeExpoRouter.web.d.ts +43 -0
  181. package/lib/typescript/commonjs/utils/safeExpoRouter.web.d.ts.map +1 -0
  182. package/lib/typescript/commonjs/utils/toolModules.d.ts +5 -0
  183. package/lib/typescript/commonjs/utils/toolModules.d.ts.map +1 -0
  184. package/lib/typescript/module/JsModal.d.ts.map +1 -1
  185. package/lib/typescript/module/JsModal.web.d.ts +7 -18
  186. package/lib/typescript/module/JsModal.web.d.ts.map +1 -1
  187. package/lib/typescript/module/clipboard/clipboard-impl.web.d.ts +5 -0
  188. package/lib/typescript/module/clipboard/clipboard-impl.web.d.ts.map +1 -0
  189. package/lib/typescript/module/dataViewer/tree/TreeDiffViewer.d.ts.map +1 -1
  190. package/lib/typescript/module/hooks/safe-area-impl.d.ts +1 -1
  191. package/lib/typescript/module/hooks/useSafeAreaInsets.web.d.ts +6 -0
  192. package/lib/typescript/module/hooks/useSafeAreaInsets.web.d.ts.map +1 -0
  193. package/lib/typescript/module/icons/index.d.ts +1 -0
  194. package/lib/typescript/module/icons/index.d.ts.map +1 -1
  195. package/lib/typescript/module/index.d.ts +2 -0
  196. package/lib/typescript/module/index.d.ts.map +1 -1
  197. package/lib/typescript/module/license/AccountSetup.d.ts.map +1 -1
  198. package/lib/typescript/module/license/AccountSetup.web.d.ts +1 -1
  199. package/lib/typescript/module/license/AccountSetup.web.d.ts.map +1 -1
  200. package/lib/typescript/module/license/AccountSetupContent.d.ts +11 -0
  201. package/lib/typescript/module/license/AccountSetupContent.d.ts.map +1 -0
  202. package/lib/typescript/module/license/FreeAccountPrompt.d.ts +3 -15
  203. package/lib/typescript/module/license/FreeAccountPrompt.d.ts.map +1 -1
  204. package/lib/typescript/module/license/LicenseEntryModal.d.ts.map +1 -1
  205. package/lib/typescript/module/license/accountRuntime.d.ts +2 -0
  206. package/lib/typescript/module/license/accountRuntime.d.ts.map +1 -0
  207. package/lib/typescript/module/license/accountRuntime.web.d.ts +2 -0
  208. package/lib/typescript/module/license/accountRuntime.web.d.ts.map +1 -0
  209. package/lib/typescript/module/license/licenseModule.d.ts +3 -1
  210. package/lib/typescript/module/license/licenseModule.d.ts.map +1 -1
  211. package/lib/typescript/module/stores/ignoredPatternsCore.d.ts +5 -1
  212. package/lib/typescript/module/stores/ignoredPatternsCore.d.ts.map +1 -1
  213. package/lib/typescript/module/stores/ignoredPatternsStore.d.ts +1 -59
  214. package/lib/typescript/module/stores/ignoredPatternsStore.d.ts.map +1 -1
  215. package/lib/typescript/module/stores/ignoredPatternsStore.shared.d.ts +60 -0
  216. package/lib/typescript/module/stores/ignoredPatternsStore.shared.d.ts.map +1 -0
  217. package/lib/typescript/module/stores/ignoredPatternsStore.web.d.ts +1 -71
  218. package/lib/typescript/module/stores/ignoredPatternsStore.web.d.ts.map +1 -1
  219. package/lib/typescript/module/ui/floating/FloatingTool.web.d.ts.map +1 -1
  220. package/lib/typescript/module/ui/night/primitives.d.ts.map +1 -1
  221. package/lib/typescript/module/ui/otto/ottoEngine.d.ts +1 -1
  222. package/lib/typescript/module/utils/browserAsyncStorage.d.ts +25 -0
  223. package/lib/typescript/module/utils/browserAsyncStorage.d.ts.map +1 -0
  224. package/lib/typescript/module/utils/browserNavigation.d.ts +31 -0
  225. package/lib/typescript/module/utils/browserNavigation.d.ts.map +1 -0
  226. package/lib/typescript/module/utils/devServer.d.ts.map +1 -1
  227. package/lib/typescript/module/utils/devServer.web.d.ts +2 -0
  228. package/lib/typescript/module/utils/devServer.web.d.ts.map +1 -0
  229. package/lib/typescript/module/utils/domRuntime.d.ts +27 -0
  230. package/lib/typescript/module/utils/domRuntime.d.ts.map +1 -0
  231. package/lib/typescript/module/utils/expoRouterModule.d.ts +3 -0
  232. package/lib/typescript/module/utils/expoRouterModule.d.ts.map +1 -0
  233. package/lib/typescript/module/utils/expoRouterModule.web.d.ts +3 -0
  234. package/lib/typescript/module/utils/expoRouterModule.web.d.ts.map +1 -0
  235. package/lib/typescript/module/utils/getSafeAreaInsets.web.d.ts +8 -0
  236. package/lib/typescript/module/utils/getSafeAreaInsets.web.d.ts.map +1 -0
  237. package/lib/typescript/module/utils/index.d.ts +5 -0
  238. package/lib/typescript/module/utils/index.d.ts.map +1 -1
  239. package/lib/typescript/module/utils/loadToolModule.d.ts +3 -0
  240. package/lib/typescript/module/utils/loadToolModule.d.ts.map +1 -0
  241. package/lib/typescript/module/utils/loadToolModule.web.d.ts +2 -0
  242. package/lib/typescript/module/utils/loadToolModule.web.d.ts.map +1 -0
  243. package/lib/typescript/module/utils/modalStorage.d.ts +21 -0
  244. package/lib/typescript/module/utils/modalStorage.d.ts.map +1 -0
  245. package/lib/typescript/module/utils/nativeWeb.d.ts +22 -0
  246. package/lib/typescript/module/utils/nativeWeb.d.ts.map +1 -0
  247. package/lib/typescript/module/utils/persistentStorage.web.d.ts +6 -0
  248. package/lib/typescript/module/utils/persistentStorage.web.d.ts.map +1 -0
  249. package/lib/typescript/module/utils/reloadApp.d.ts +7 -25
  250. package/lib/typescript/module/utils/reloadApp.d.ts.map +1 -1
  251. package/lib/typescript/module/utils/reloadPlatform.d.ts +8 -0
  252. package/lib/typescript/module/utils/reloadPlatform.d.ts.map +1 -0
  253. package/lib/typescript/module/utils/reloadPlatform.web.d.ts +4 -0
  254. package/lib/typescript/module/utils/reloadPlatform.web.d.ts.map +1 -0
  255. package/lib/typescript/module/utils/safeExpoRouter.d.ts.map +1 -1
  256. package/lib/typescript/module/utils/safeExpoRouter.web.d.ts +43 -0
  257. package/lib/typescript/module/utils/safeExpoRouter.web.d.ts.map +1 -0
  258. package/lib/typescript/module/utils/toolModules.d.ts +5 -0
  259. package/lib/typescript/module/utils/toolModules.d.ts.map +1 -0
  260. package/lib/web/asyncStorage.mjs +2 -0
  261. package/lib/web/chunks/chunk-2MHKRRQW.mjs +8 -0
  262. package/lib/web/chunks/chunk-2Q3SDPH2.mjs +14 -0
  263. package/lib/web/chunks/chunk-34YQ42KI.mjs +2 -0
  264. package/lib/web/chunks/chunk-3NNNCQYP.mjs +14 -0
  265. package/lib/web/chunks/chunk-3UTMGIUG.mjs +2 -0
  266. package/lib/web/chunks/chunk-46CXXOQB.mjs +2 -0
  267. package/lib/web/chunks/chunk-475BSDCB.mjs +2 -0
  268. package/lib/web/chunks/chunk-53J2FMUD.mjs +2 -0
  269. package/lib/web/chunks/chunk-552W4COI.mjs +2 -0
  270. package/lib/web/chunks/chunk-56TTTMX4.mjs +6145 -0
  271. package/lib/web/chunks/chunk-5LOQZINQ.mjs +14 -0
  272. package/lib/web/chunks/chunk-5NOIO6ZM.mjs +16 -0
  273. package/lib/web/chunks/chunk-5NZOQR6Q.mjs +2 -0
  274. package/lib/web/chunks/chunk-6CCRCSA2.mjs +2 -0
  275. package/lib/web/chunks/chunk-6Q52HRBL.mjs +2 -0
  276. package/lib/web/chunks/chunk-6TEDFSNM.mjs +655 -0
  277. package/lib/web/chunks/chunk-7BMRSMHN.mjs +2 -0
  278. package/lib/web/chunks/chunk-A2SOFE47.mjs +24 -0
  279. package/lib/web/chunks/chunk-A7KJCK4R.mjs +14 -0
  280. package/lib/web/chunks/chunk-AEXGGXS7.mjs +2 -0
  281. package/lib/web/chunks/chunk-AGD7ZT6O.mjs +15 -0
  282. package/lib/web/chunks/chunk-AIEOQWNG.mjs +2 -0
  283. package/lib/web/chunks/chunk-ASTM35HG.mjs +16 -0
  284. package/lib/web/chunks/chunk-AZBMFPMX.mjs +1421 -0
  285. package/lib/web/chunks/chunk-B2V2UDCU.mjs +16 -0
  286. package/lib/web/chunks/chunk-BFGKGTAC.mjs +2 -0
  287. package/lib/web/chunks/chunk-BHW6AFO6.mjs +2 -0
  288. package/lib/web/chunks/chunk-BWRW3NJ2.mjs +16 -0
  289. package/lib/web/chunks/chunk-CBM2IZAK.mjs +2 -0
  290. package/lib/web/chunks/chunk-CDLCFF44.mjs +2 -0
  291. package/lib/web/chunks/chunk-CE5U3CSQ.mjs +2 -0
  292. package/lib/web/chunks/chunk-CI5CO7FQ.mjs +2 -0
  293. package/lib/web/chunks/chunk-CIB4U2YK.mjs +2 -0
  294. package/lib/web/chunks/chunk-CLLTZQGD.mjs +596 -0
  295. package/lib/web/chunks/chunk-D5HQLRFW.mjs +655 -0
  296. package/lib/web/chunks/chunk-DZDTNXXK.mjs +2 -0
  297. package/lib/web/chunks/chunk-FDOZ6YSS.mjs +2 -0
  298. package/lib/web/chunks/chunk-FMEWNGQO.mjs +2 -0
  299. package/lib/web/chunks/chunk-G4DH7GMT.mjs +2 -0
  300. package/lib/web/chunks/chunk-GBUZCZE4.mjs +2 -0
  301. package/lib/web/chunks/chunk-GF5C5DVX.mjs +2 -0
  302. package/lib/web/chunks/chunk-GLMS5ZLJ.mjs +445 -0
  303. package/lib/web/chunks/chunk-GNGMIA7V.mjs +2 -0
  304. package/lib/web/chunks/chunk-GTYIS7H7.mjs +15 -0
  305. package/lib/web/chunks/chunk-HJ36IONA.mjs +15 -0
  306. package/lib/web/chunks/chunk-HXPTZMAZ.mjs +2 -0
  307. package/lib/web/chunks/chunk-I27M4JCS.mjs +2 -0
  308. package/lib/web/chunks/chunk-IVCT27JB.mjs +2 -0
  309. package/lib/web/chunks/chunk-JG4QSK5B.mjs +2 -0
  310. package/lib/web/chunks/chunk-JR7BJW6B.mjs +389 -0
  311. package/lib/web/chunks/chunk-K46ZJUXJ.mjs +90 -0
  312. package/lib/web/chunks/chunk-K4LXMO4D.mjs +2 -0
  313. package/lib/web/chunks/chunk-K7CGIEFU.mjs +2 -0
  314. package/lib/web/chunks/chunk-KBTYK5YE.mjs +662 -0
  315. package/lib/web/chunks/chunk-KHP6CSSM.mjs +2 -0
  316. package/lib/web/chunks/chunk-KRDRIW7T.mjs +14 -0
  317. package/lib/web/chunks/chunk-L2DTKDER.mjs +2 -0
  318. package/lib/web/chunks/chunk-LFDFDGHY.mjs +655 -0
  319. package/lib/web/chunks/chunk-LZ7FZZ7R.mjs +2 -0
  320. package/lib/web/chunks/chunk-MAIUUK4E.mjs +2 -0
  321. package/lib/web/chunks/chunk-MKJKS3IG.mjs +275 -0
  322. package/lib/web/chunks/chunk-MRQKVLXG.mjs +2 -0
  323. package/lib/web/chunks/chunk-NK3OISOL.mjs +14 -0
  324. package/lib/web/chunks/chunk-NLJDDIXW.mjs +2 -0
  325. package/lib/web/chunks/chunk-OENR3XFI.mjs +11 -0
  326. package/lib/web/chunks/chunk-OZB3VKZE.mjs +2 -0
  327. package/lib/web/chunks/chunk-P64PFJT3.mjs +17618 -0
  328. package/lib/web/chunks/chunk-PACPGYH7.mjs +2 -0
  329. package/lib/web/chunks/chunk-PART6HOE.mjs +14 -0
  330. package/lib/web/chunks/chunk-PMRXUQRH.mjs +2 -0
  331. package/lib/web/chunks/chunk-PTK5FO6C.mjs +2 -0
  332. package/lib/web/chunks/chunk-PZ45TQ55.mjs +14 -0
  333. package/lib/web/chunks/chunk-Q5LN7GET.mjs +17624 -0
  334. package/lib/web/chunks/chunk-QCD6T6L4.mjs +297 -0
  335. package/lib/web/chunks/chunk-QD5EUANU.mjs +2 -0
  336. package/lib/web/chunks/chunk-QJTECJCO.mjs +2 -0
  337. package/lib/web/chunks/chunk-QPIZURPZ.mjs +2 -0
  338. package/lib/web/chunks/chunk-QPY45R5F.mjs +274 -0
  339. package/lib/web/chunks/chunk-R2SGZIG5.mjs +2 -0
  340. package/lib/web/chunks/chunk-S3GYQYVJ.mjs +16 -0
  341. package/lib/web/chunks/chunk-SCCXVTDM.mjs +2 -0
  342. package/lib/web/chunks/chunk-SHJHD646.mjs +2 -0
  343. package/lib/web/chunks/chunk-TCRVZ55E.mjs +2 -0
  344. package/lib/web/chunks/chunk-TJ6ZVV2L.mjs +15 -0
  345. package/lib/web/chunks/chunk-TPSY4RC3.mjs +14 -0
  346. package/lib/web/chunks/chunk-U5KNX5O6.mjs +17624 -0
  347. package/lib/web/chunks/chunk-UCKELQSM.mjs +2 -0
  348. package/lib/web/chunks/chunk-UGGCYHRH.mjs +15 -0
  349. package/lib/web/chunks/chunk-UNYQJZET.mjs +16 -0
  350. package/lib/web/chunks/chunk-VE72SWLV.mjs +15 -0
  351. package/lib/web/chunks/chunk-VKONO6MI.mjs +2 -0
  352. package/lib/web/chunks/chunk-W4BGMPJO.mjs +2 -0
  353. package/lib/web/chunks/chunk-WHNEEKLR.mjs +2 -0
  354. package/lib/web/chunks/chunk-WLGUP3KY.mjs +16 -0
  355. package/lib/web/chunks/chunk-WY7D4WBZ.mjs +2 -0
  356. package/lib/web/chunks/chunk-XRNB2MHO.mjs +107 -0
  357. package/lib/web/chunks/chunk-XXTIAXQY.mjs +2 -0
  358. package/lib/web/chunks/chunk-XYUAUO57.mjs +2 -0
  359. package/lib/web/chunks/chunk-YG6DIKQD.mjs +2 -0
  360. package/lib/web/chunks/chunk-YIZFMU66.mjs +2 -0
  361. package/lib/web/chunks/chunk-YOGAPOGC.mjs +2 -0
  362. package/lib/web/chunks/chunk-Z7373DS5.mjs +2 -0
  363. package/lib/web/chunks/chunk-Z76GRN66.mjs +17627 -0
  364. package/lib/web/chunks/persistentStorage.web-4FBAOYJ4.mjs +12 -0
  365. package/lib/web/chunks/persistentStorage.web-7W3Y6Q24.mjs +12 -0
  366. package/lib/web/chunks/persistentStorage.web-GOWNFMVT.mjs +2 -0
  367. package/lib/web/chunks/persistentStorage.web-RF47FXIK.mjs +12 -0
  368. package/lib/web/colors.mjs +2 -0
  369. package/lib/web/dataViewer.mjs +3 -0
  370. package/lib/web/floating.mjs +2 -0
  371. package/lib/web/history.mjs +2 -0
  372. package/lib/web/hooks.mjs +2 -0
  373. package/lib/web/index.mjs +15 -0
  374. package/lib/web/native.mjs +2 -0
  375. package/lib/web/ui.mjs +2 -0
  376. package/lib/web/utils.mjs +2 -0
  377. package/package.json +118 -36
@@ -0,0 +1,389 @@
1
+ "use client";
2
+
3
+ // src/storage/devToolsStorageKeys.ts
4
+ var devToolsStorageKeys = {
5
+ /**
6
+ * Base dev tools key - all dev tool storage keys start with this
7
+ */
8
+ base: "@react_buoy",
9
+ /**
10
+ * Bubble-related storage keys
11
+ */
12
+ bubble: {
13
+ root: () => `${devToolsStorageKeys.base}_bubble`,
14
+ settings: () => `${devToolsStorageKeys.bubble.root()}_settings`,
15
+ userPreferences: () => `${devToolsStorageKeys.bubble.root()}_user_preferences`,
16
+ position: () => `${devToolsStorageKeys.bubble.root()}_position`
17
+ },
18
+ /**
19
+ * Modal-related storage keys
20
+ */
21
+ modal: {
22
+ root: () => `${devToolsStorageKeys.base}_modal`,
23
+ state: () => `${devToolsStorageKeys.modal.root()}_state`,
24
+ position: () => `${devToolsStorageKeys.modal.root()}_position`,
25
+ dimensions: () => `${devToolsStorageKeys.modal.root()}_dimensions`,
26
+ hintAcknowledged: () => `${devToolsStorageKeys.modal.root()}_hint_acknowledged`
27
+ },
28
+ /**
29
+ * Namespace factory for third-party custom tools. Keys share the
30
+ * `@react_buoy` prefix, so `isDevToolsStorageKey` filtering (and the Storage
31
+ * tool's internal-key handling) covers custom-tool persistence for free.
32
+ *
33
+ * ```ts
34
+ * const keys = devToolsStorageKeys.custom("feature-flags");
35
+ * keys.modal(); // "@react_buoy_custom_feature-flags_modal"
36
+ * keys.key("overrides"); // "@react_buoy_custom_feature-flags_overrides"
37
+ * ```
38
+ */
39
+ custom: (toolId) => {
40
+ const root = `${devToolsStorageKeys.base}_custom_${toolId}`;
41
+ return {
42
+ root: () => root,
43
+ /** JsModal `persistenceKey` for this tool's window dimensions. */
44
+ modal: () => `${root}_modal`,
45
+ settings: () => `${root}_settings`,
46
+ /** Arbitrary tool-scoped key. */
47
+ key: (suffix) => `${root}_${suffix}`
48
+ };
49
+ },
50
+ /**
51
+ * Settings-related storage keys
52
+ */
53
+ settings: {
54
+ root: () => `${devToolsStorageKeys.base}_settings`,
55
+ theme: () => `${devToolsStorageKeys.settings.root()}_theme`,
56
+ preferences: () => `${devToolsStorageKeys.settings.root()}_preferences`,
57
+ wifiEnabled: () => `${devToolsStorageKeys.settings.root()}_wifi_enabled`,
58
+ /** Global settings that apply to all dev tools */
59
+ global: () => `${devToolsStorageKeys.settings.root()}_global`,
60
+ /** Settings modal active tab */
61
+ activeTab: () => `${devToolsStorageKeys.settings.root()}_active_tab`,
62
+ /** Settings modal open state */
63
+ modalOpen: () => `${devToolsStorageKeys.settings.root()}_modal_open`
64
+ },
65
+ /**
66
+ * Dial-related storage keys
67
+ */
68
+ dial: {
69
+ root: () => `${devToolsStorageKeys.base}_dial`,
70
+ /** Whether dial is open/visible */
71
+ isOpen: () => `${devToolsStorageKeys.dial.root()}_is_open`,
72
+ /** Recency-weighted usage scores used to rank/paginate dial tools */
73
+ usage: () => `${devToolsStorageKeys.dial.root()}_usage`
74
+ },
75
+ /**
76
+ * Clipboard-related storage keys
77
+ */
78
+ clipboard: {
79
+ root: () => `${devToolsStorageKeys.base}_clipboard`,
80
+ hintAcknowledged: () => `${devToolsStorageKeys.clipboard.root()}_hint_acknowledged`
81
+ },
82
+ /**
83
+ * Environment-related storage keys
84
+ */
85
+ env: {
86
+ root: () => `${devToolsStorageKeys.base}_env`,
87
+ modal: () => `${devToolsStorageKeys.env.root()}_modal`,
88
+ currentEnv: () => `${devToolsStorageKeys.env.root()}_current`,
89
+ overrides: () => `${devToolsStorageKeys.env.root()}_overrides`
90
+ },
91
+ /**
92
+ * Sentry-related storage keys
93
+ */
94
+ sentry: {
95
+ root: () => `${devToolsStorageKeys.base}_sentry`,
96
+ modal: () => `${devToolsStorageKeys.sentry.root()}_modal`,
97
+ filters: () => `${devToolsStorageKeys.sentry.root()}_filters`,
98
+ preferences: () => `${devToolsStorageKeys.sentry.root()}_preferences`
99
+ },
100
+ /**
101
+ * Storage browser-related keys
102
+ */
103
+ storage: {
104
+ root: () => `${devToolsStorageKeys.base}_storage`,
105
+ modal: () => `${devToolsStorageKeys.storage.root()}_modal`,
106
+ eventsModal: () => `${devToolsStorageKeys.storage.root()}_events_modal`,
107
+ filters: () => `${devToolsStorageKeys.storage.root()}_filters`,
108
+ eventFilters: () => `${devToolsStorageKeys.storage.root()}_event_filters`,
109
+ keyFilters: () => `${devToolsStorageKeys.storage.root()}_key_filters`,
110
+ pinnedKeys: () => `${devToolsStorageKeys.storage.root()}_pinned_keys`,
111
+ preferences: () => `${devToolsStorageKeys.storage.root()}_preferences`,
112
+ activeTab: () => `${devToolsStorageKeys.storage.root()}_active_tab`,
113
+ isMonitoring: () => `${devToolsStorageKeys.storage.root()}_is_monitoring`,
114
+ diffViewerMode: () => `${devToolsStorageKeys.storage.root()}_diff_viewer_mode`
115
+ // 'split' | 'tree'
116
+ },
117
+ /**
118
+ * Time Machine storage keys. NOTE: the snapshot VAULT keys
119
+ * (`@react_buoy_time_machine:index` / `:snap:*`) predate this namespace and
120
+ * stay as-is — only preferences live here.
121
+ */
122
+ timeMachine: {
123
+ root: () => `${devToolsStorageKeys.base}_time_machine`,
124
+ diffViewerMode: () => `${devToolsStorageKeys.timeMachine.root()}_diff_viewer_mode`,
125
+ // 'split' | 'tree'
126
+ /** The restore point the floating restore bar restores on tap (snapshot id). */
127
+ armedPoint: () => `${devToolsStorageKeys.timeMachine.root()}_armed_point`,
128
+ /** "1" when the action bar restores in reload mode (storage, then a JS reload). */
129
+ barReloadMode: () => `${devToolsStorageKeys.timeMachine.root()}_bar_reload_mode`,
130
+ /** Source ids switched OFF in the Sources strip (JSON string array). */
131
+ disabledSources: () => `${devToolsStorageKeys.timeMachine.root()}_disabled_sources`
132
+ },
133
+ /**
134
+ * Scenarios storage keys. The library (saved + draft scenarios) and the
135
+ * active-scenario record live in separate keys deliberately: the active
136
+ * record is written on every run and deactivation, while the library changes
137
+ * rarely, and a single blob would rewrite the whole library each run.
138
+ */
139
+ scenarios: {
140
+ root: () => `${devToolsStorageKeys.base}_scenarios`,
141
+ modal: () => `${devToolsStorageKeys.scenarios.root()}_modal`,
142
+ library: () => `${devToolsStorageKeys.scenarios.root()}_library`,
143
+ active: () => `${devToolsStorageKeys.scenarios.root()}_active`
144
+ },
145
+ /**
146
+ * React Query-related storage keys
147
+ */
148
+ reactQuery: {
149
+ root: () => `${devToolsStorageKeys.base}_rq`,
150
+ modal: () => `${devToolsStorageKeys.reactQuery.root()}_modal`,
151
+ browserModal: () => `${devToolsStorageKeys.reactQuery.root()}_browser_modal`,
152
+ mutationModal: () => `${devToolsStorageKeys.reactQuery.root()}_mutation_modal`,
153
+ filters: () => `${devToolsStorageKeys.reactQuery.root()}_filters`,
154
+ ignoredPatterns: () => `${devToolsStorageKeys.reactQuery.root()}_ignored_patterns`,
155
+ includedPatterns: () => `${devToolsStorageKeys.reactQuery.root()}_included_patterns`,
156
+ preferences: () => `${devToolsStorageKeys.reactQuery.root()}_preferences`
157
+ },
158
+ /**
159
+ * Network-related storage keys
160
+ */
161
+ network: {
162
+ root: () => `${devToolsStorageKeys.base}_network`,
163
+ modal: () => `${devToolsStorageKeys.network.root()}_modal`,
164
+ copyModal: () => `${devToolsStorageKeys.network.root()}_copy_modal`,
165
+ filters: () => `${devToolsStorageKeys.network.root()}_filters`,
166
+ ignoredDomains: () => `${devToolsStorageKeys.network.root()}_ignored_domains`,
167
+ ignoredUrls: () => `${devToolsStorageKeys.network.root()}_ignored_urls`,
168
+ preferences: () => `${devToolsStorageKeys.network.root()}_preferences`,
169
+ copyOptions: () => `${devToolsStorageKeys.network.root()}_copy_options`,
170
+ /**
171
+ * Pinned + saved requests (snapshots, not IDs — request IDs are
172
+ * per-runtime counters and collide across app launches).
173
+ */
174
+ saved: () => `${devToolsStorageKeys.network.root()}_saved`,
175
+ /**
176
+ * Response-override rules + their master switch.
177
+ *
178
+ * Persisted because a rule has to survive the reload it is usually there to
179
+ * test ("make this endpoint 500, then restart and watch the boot path").
180
+ */
181
+ overrides: () => `${devToolsStorageKeys.network.root()}_overrides`
182
+ },
183
+ /**
184
+ * Route events-related storage keys
185
+ */
186
+ routeEvents: {
187
+ root: () => `${devToolsStorageKeys.base}_route_events`,
188
+ modal: () => `${devToolsStorageKeys.routeEvents.root()}_modal`,
189
+ eventFilters: () => `${devToolsStorageKeys.routeEvents.root()}_event_filters`,
190
+ activeTab: () => `${devToolsStorageKeys.routeEvents.root()}_active_tab`,
191
+ isMonitoring: () => `${devToolsStorageKeys.routeEvents.root()}_is_monitoring`,
192
+ detailView: () => `${devToolsStorageKeys.routeEvents.root()}_detail_view`,
193
+ // 'current' | 'diff'
194
+ diffViewerMode: () => `${devToolsStorageKeys.routeEvents.root()}_diff_viewer_mode`
195
+ // 'split' | 'tree'
196
+ },
197
+ /**
198
+ * Highlight updates-related storage keys
199
+ */
200
+ highlightUpdates: {
201
+ root: () => `${devToolsStorageKeys.base}_highlight_updates`,
202
+ modal: () => `${devToolsStorageKeys.highlightUpdates.root()}_modal`,
203
+ isTracking: () => `${devToolsStorageKeys.highlightUpdates.root()}_is_tracking`,
204
+ filters: () => `${devToolsStorageKeys.highlightUpdates.root()}_filters`,
205
+ settings: () => `${devToolsStorageKeys.highlightUpdates.root()}_settings`,
206
+ /** Copy/export settings */
207
+ copySettings: () => `${devToolsStorageKeys.highlightUpdates.root()}_copy_settings`
208
+ },
209
+ /**
210
+ * Benchmark-related storage keys
211
+ */
212
+ benchmark: {
213
+ root: () => `${devToolsStorageKeys.base}_benchmark`,
214
+ modal: () => `${devToolsStorageKeys.benchmark.root()}_modal`,
215
+ isRecording: () => `${devToolsStorageKeys.benchmark.root()}_is_recording`,
216
+ activeTab: () => `${devToolsStorageKeys.benchmark.root()}_active_tab`,
217
+ settings: () => `${devToolsStorageKeys.benchmark.root()}_settings`,
218
+ selectedReports: () => `${devToolsStorageKeys.benchmark.root()}_selected_reports`
219
+ },
220
+ /**
221
+ * Debug Borders overlay keys
222
+ */
223
+ debugBorders: {
224
+ root: () => `${devToolsStorageKeys.base}_debug_borders`,
225
+ /** JsModal `persistenceKey` for the overlay's info window. */
226
+ infoModal: () => `${devToolsStorageKeys.debugBorders.root()}_info_modal`
227
+ },
228
+ /**
229
+ * Unified events-related storage keys
230
+ */
231
+ events: {
232
+ root: () => `${devToolsStorageKeys.base}_events`,
233
+ /**
234
+ * NOT what the Events tool uses. Its preset passes the literal
235
+ * `"buoy-events-modal"` to JsModal, and three things outside this repo's
236
+ * runtime now pin that string: the website's live tour, its QA script, and
237
+ * the e2e runner's reset. `isDevToolsStorageKey` treats the `buoy-` prefix
238
+ * as internal, so nothing leaks — this is a naming inconsistency, not a
239
+ * bug, and moving the key would cost a coordinated change across four
240
+ * surfaces to buy tidiness. Kept so the shape of this file stays uniform.
241
+ */
242
+ modal: () => `${devToolsStorageKeys.events.root()}_modal`,
243
+ /** Selected badge/source filters */
244
+ enabledSources: () => `${devToolsStorageKeys.events.root()}_enabled_sources`,
245
+ /** Whether event capturing is active */
246
+ isCapturing: () => `${devToolsStorageKeys.events.root()}_is_capturing`,
247
+ /**
248
+ * When capture was last switched off (ms epoch). Persisted with the
249
+ * capturing flag so a remount/relaunch while paused keeps hiding events
250
+ * captured into the shared store after the ORIGINAL pause moment (a
251
+ * watching dashboard keeps sources alive through the device's pause).
252
+ */
253
+ pausedAt: () => `${devToolsStorageKeys.events.root()}_paused_at`,
254
+ /** Copy/export settings */
255
+ copySettings: () => `${devToolsStorageKeys.events.root()}_copy_settings`
256
+ },
257
+ /**
258
+ * Desktop/MCP sync identity
259
+ */
260
+ sync: {
261
+ root: () => `${devToolsStorageKeys.base}_sync`,
262
+ /**
263
+ * The per-install id minted the first time this app dials the broker.
264
+ * It is what makes two devices on the same build register as two
265
+ * devices — see core's deviceIdentity.ts.
266
+ */
267
+ deviceId: () => `${devToolsStorageKeys.sync.root()}_device_id`
268
+ }
269
+ };
270
+ var LEGACY_DEV_TOOL_PATTERNS = [
271
+ "@devtools",
272
+ "@dev_tools_",
273
+ "@modal_state_",
274
+ // Old modal state keys
275
+ "@react_query_browser_modal",
276
+ "@react_query_modal",
277
+ "@react_query_mutation_modal",
278
+ "@sentry_logs_modal",
279
+ "@floating_rn_better_dev_tools_",
280
+ "@floating_tools_",
281
+ "@apphost_",
282
+ "@bubble_settings_",
283
+ "@env_vars_modal",
284
+ "@storage_modal",
285
+ "@floating_@devtools_",
286
+ // Double @ migration issue
287
+ "dev_last_route"
288
+ // Old key without @ prefix
289
+ ];
290
+ function isDevToolsStorageKey(key) {
291
+ if (!key) return false;
292
+ if (key.startsWith(devToolsStorageKeys.base)) {
293
+ return true;
294
+ }
295
+ if (key.startsWith("buoy-")) {
296
+ return true;
297
+ }
298
+ if (key.startsWith("@buoy")) {
299
+ return true;
300
+ }
301
+ for (const pattern of LEGACY_DEV_TOOL_PATTERNS) {
302
+ if (key.startsWith(pattern)) {
303
+ return true;
304
+ }
305
+ }
306
+ return false;
307
+ }
308
+
309
+ // src/utils/persistentStorage.web.ts
310
+ var pending = /* @__PURE__ */ new Map();
311
+ function storage() {
312
+ try {
313
+ return typeof window === "undefined" ? null : window.localStorage;
314
+ } catch {
315
+ return null;
316
+ }
317
+ }
318
+ var persistentStorage = {
319
+ async getItem(key) {
320
+ if (pending.has(key)) return pending.get(key) ?? null;
321
+ try {
322
+ return storage()?.getItem(key) ?? null;
323
+ } catch {
324
+ return null;
325
+ }
326
+ },
327
+ async setItem(key, value) {
328
+ pending.set(key, value);
329
+ try {
330
+ const backend = storage();
331
+ if (backend) {
332
+ backend.setItem(key, value);
333
+ pending.delete(key);
334
+ }
335
+ } catch {
336
+ }
337
+ },
338
+ async removeItem(key) {
339
+ pending.set(key, null);
340
+ try {
341
+ const backend = storage();
342
+ if (backend) {
343
+ backend.removeItem(key);
344
+ pending.delete(key);
345
+ }
346
+ } catch {
347
+ }
348
+ },
349
+ async getAllKeys() {
350
+ const keys = /* @__PURE__ */ new Set();
351
+ try {
352
+ const backend = storage();
353
+ if (backend) for (let i = 0; i < backend.length; i++) {
354
+ const key = backend.key(i);
355
+ if (key?.startsWith(devToolsStorageKeys.base)) keys.add(key);
356
+ }
357
+ } catch {
358
+ }
359
+ for (const [key, value] of pending) {
360
+ if (!key.startsWith(devToolsStorageKeys.base)) continue;
361
+ if (value === null) keys.delete(key);
362
+ else keys.add(key);
363
+ }
364
+ return [...keys];
365
+ },
366
+ async multiGet(keys) {
367
+ return Promise.all(keys.map(async (key) => [key, await persistentStorage.getItem(key)]));
368
+ },
369
+ async multiRemove(keys) {
370
+ await Promise.all(keys.map((key) => persistentStorage.removeItem(key)));
371
+ },
372
+ async clear() {
373
+ await persistentStorage.multiRemove(await persistentStorage.getAllKeys());
374
+ }
375
+ };
376
+ async function isUsingPersistentStorage() {
377
+ return storage() !== null;
378
+ }
379
+ async function getStorageBackendType() {
380
+ return storage() ? "localstorage" : "memory";
381
+ }
382
+
383
+ export {
384
+ devToolsStorageKeys,
385
+ isDevToolsStorageKey,
386
+ persistentStorage,
387
+ isUsingPersistentStorage,
388
+ getStorageBackendType
389
+ };
@@ -0,0 +1,90 @@
1
+ "use client";
2
+ import {
3
+ getSafeAreaInsets
4
+ } from "./chunk-A2SOFE47.mjs";
5
+
6
+ // src/hooks/useFilterManager.ts
7
+ import { useState, useCallback } from "react";
8
+ function useFilterManager(initialFilters = /* @__PURE__ */ new Set()) {
9
+ const [filters, setFilters] = useState(initialFilters);
10
+ const [showAddInput, setShowAddInput] = useState(false);
11
+ const [newFilter, setNewFilter] = useState("");
12
+ const addFilter = useCallback((filter) => {
13
+ const trimmedFilter = filter.trim();
14
+ if (trimmedFilter) {
15
+ setFilters((prev) => /* @__PURE__ */ new Set([...prev, trimmedFilter]));
16
+ setNewFilter("");
17
+ setShowAddInput(false);
18
+ }
19
+ }, []);
20
+ const removeFilter = useCallback((filter) => {
21
+ setFilters((prev) => {
22
+ const next = new Set(prev);
23
+ next.delete(filter);
24
+ return next;
25
+ });
26
+ }, []);
27
+ const toggleFilter = useCallback((filter) => {
28
+ setFilters((prev) => {
29
+ const next = new Set(prev);
30
+ if (next.has(filter)) {
31
+ next.delete(filter);
32
+ } else {
33
+ next.add(filter);
34
+ }
35
+ return next;
36
+ });
37
+ }, []);
38
+ const clearFilters = useCallback(() => {
39
+ setFilters(/* @__PURE__ */ new Set());
40
+ setNewFilter("");
41
+ setShowAddInput(false);
42
+ }, []);
43
+ const hasFilter = useCallback(
44
+ (filter) => {
45
+ return filters.has(filter);
46
+ },
47
+ [filters]
48
+ );
49
+ return {
50
+ // State
51
+ filters,
52
+ showAddInput,
53
+ newFilter,
54
+ // Actions
55
+ setNewFilter,
56
+ setShowAddInput,
57
+ addFilter,
58
+ removeFilter,
59
+ toggleFilter,
60
+ clearFilters,
61
+ hasFilter
62
+ };
63
+ }
64
+
65
+ // src/hooks/useSafeAreaInsets.web.ts
66
+ import { useEffect, useState as useState2 } from "react";
67
+ function useSafeAreaInsets(options = {}) {
68
+ const [insets, setInsets] = useState2({ top: 0, bottom: 0, left: 0, right: 0 });
69
+ useEffect(() => {
70
+ const update = () => setInsets(getSafeAreaInsets());
71
+ update();
72
+ window.addEventListener("resize", update);
73
+ window.visualViewport?.addEventListener("resize", update);
74
+ return () => {
75
+ window.removeEventListener("resize", update);
76
+ window.visualViewport?.removeEventListener("resize", update);
77
+ };
78
+ }, []);
79
+ return {
80
+ top: Math.max(insets.top, options.minTop ?? 0),
81
+ bottom: Math.max(insets.bottom, options.minBottom ?? 0),
82
+ left: Math.max(insets.left, options.minLeft ?? 0),
83
+ right: Math.max(insets.right, options.minRight ?? 0)
84
+ };
85
+ }
86
+
87
+ export {
88
+ useFilterManager,
89
+ useSafeAreaInsets
90
+ };
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ export*from"react-native-web";import{unstable_createElement as y,NativeModules as v,AccessibilityInfo as w,Animated as A,Appearance as C,AppRegistry as E,AppState as T,BackHandler as k,Clipboard as B,Dimensions as S,Easing as I,I18nManager as L,Keyboard as M,InteractionManager as N,LayoutAnimation as P,Linking as H,NativeEventEmitter as V,PanResponder as D,PixelRatio as O,Platform as R,Share as K,StyleSheet as W,UIManager as z,Vibration as F,ActivityIndicator as j,Button as U,CheckBox as Y,FlatList as _,Image as $,ImageBackground as q,KeyboardAvoidingView as G,Modal as J,Picker as Q,Pressable as X,ProgressBar as Z,RefreshControl as ee,SafeAreaView as te,ScrollView as oe,SectionList as ne,StatusBar as ie,Switch as ae,Text as re,TextInput as se,Touchable as de,TouchableHighlight as le,TouchableNativeFeedback as ce,TouchableOpacity as pe,TouchableWithoutFeedback as ue,View as xe,VirtualizedList as me,YellowBox as be,LogBox as fe,DeviceEventEmitter as he,useColorScheme as ge,useLocaleContext as ye,useWindowDimensions as ve}from"react-native-web";import*as c from"react-native-web";var x=c.findNodeHandle,m={alert(a,r,s,d){if(typeof document>"u")return;let e=document.createElement("dialog");e.dataset.buoyRoot="",e.setAttribute("aria-label",a),e.style.cssText="position:fixed;inset:0;margin:auto;width:min(440px,90vw);padding:24px;border:1px solid #475569;border-radius:14px;background:#17212e;color:#f1f5f9;font:14px system-ui;box-shadow:0 20px 80px #0008;z-index:2147483647";let n=document.createElement("h2");if(n.textContent=a,n.style.cssText="font-size:18px;margin:0 0 12px",e.appendChild(n),r){let t=document.createElement("p");t.textContent=r,t.style.cssText="line-height:1.5;white-space:pre-wrap;margin:0 0 20px",e.appendChild(t)}let i=document.createElement("div");i.style.cssText="display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px";let p=s?.length?s:[{text:"OK"}],l=()=>{e.close?.(),e.remove()};for(let t of p){let o=document.createElement("button");o.type="button",o.textContent=t.text??"OK",o.style.cssText=`padding:9px 14px;border:1px solid #64748b;border-radius:7px;color:white;background:${t.style==="destructive"?"#a52b38":"#283a4d"};cursor:pointer;font:inherit`,o.onclick=()=>{l(),t.onPress?.()},i.appendChild(o)}e.addEventListener("cancel",t=>{t.preventDefault(),d?.cancelable!==!1&&(l(),d?.onDismiss?.())}),e.appendChild(i),document.body.appendChild(e),e.showModal?e.showModal():e.setAttribute("open","")}};export{x as a,m as b,y as c,v as d,w as e,A as f,C as g,E as h,T as i,k as j,B as k,S as l,I as m,L as n,M as o,N as p,P as q,H as r,V as s,D as t,O as u,R as v,K as w,W as x,z as y,F as z,j as A,U as B,Y as C,_ as D,$ as E,q as F,G,J as H,Q as I,X as J,Z as K,ee as L,te as M,oe as N,ne as O,ie as P,ae as Q,re as R,se as S,de as T,le as U,ce as V,pe as W,ue as X,xe as Y,me as Z,be as _,fe as $,he as aa,ge as ba,ye as ca,ve as da};
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ import{a as d}from"./chunk-PTK5FO6C.mjs";import{useState as g,useCallback as o}from"react";function I(n=new Set){let[r,i]=g(n),[s,l]=g(!1),[m,f]=g(""),u=o(e=>{let a=e.trim();a&&(i(t=>new Set([...t,a])),f(""),l(!1))},[]),c=o(e=>{i(a=>{let t=new Set(a);return t.delete(e),t})},[]),p=o(e=>{i(a=>{let t=new Set(a);return t.has(e)?t.delete(e):t.add(e),t})},[]),S=o(()=>{i(new Set),f(""),l(!1)},[]),w=o(e=>r.has(e),[r]);return{filters:r,showAddInput:s,newFilter:m,setNewFilter:f,setShowAddInput:l,addFilter:u,removeFilter:c,toggleFilter:p,clearFilters:S,hasFilter:w}}import{useEffect as h,useState as v}from"react";function L(n={}){let[r,i]=v({top:0,bottom:0,left:0,right:0});return h(()=>{let s=()=>i(d());return s(),window.addEventListener("resize",s),window.visualViewport?.addEventListener("resize",s),()=>{window.removeEventListener("resize",s),window.visualViewport?.removeEventListener("resize",s)}},[]),{top:Math.max(r.top,n.minTop??0),bottom:Math.max(r.bottom,n.minBottom??0),left:Math.max(r.left,n.minLeft??0),right:Math.max(r.right,n.minRight??0)}}export{I as a,L as b};